OSDN Git Service

Multiple x86 platforms support
authorChih-Wei Huang <cwhuang@linux.org.tw>
Wed, 9 Dec 2009 07:23:25 +0000 (15:23 +0800)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Wed, 14 Apr 2010 08:16:54 +0000 (16:16 +0800)
Add generic_x86 as a common base for all x86 targets,
and change the default target to generic_x86.

27 files changed:
core/definitions.mk
core/envsetup.mk
core/product.mk
target/board/generic_x86/AndroidBoard.mk [new file with mode: 0644]
target/board/generic_x86/BoardConfig.mk [new file with mode: 0644]
target/board/generic_x86/disk_layout.conf [new file with mode: 0644]
target/board/generic_x86/firmware/Android.mk [new file with mode: 0644]
target/board/generic_x86/init.rc [new file with mode: 0644]
target/board/generic_x86/keymaps/Android.mk [new file with mode: 0644]
target/board/generic_x86/keymaps/de.kcm [new file with mode: 0644]
target/board/generic_x86/keymaps/de.kl [new file with mode: 0644]
target/board/generic_x86/keymaps/es_latin.kcm [new file with mode: 0644]
target/board/generic_x86/keymaps/es_latin.kl [new file with mode: 0644]
target/board/generic_x86/keymaps/fn.kcm [new file with mode: 0644]
target/board/generic_x86/keymaps/fn.kl [new file with mode: 0644]
target/board/generic_x86/keymaps/fr.kcm [new file with mode: 0644]
target/board/generic_x86/keymaps/fr.kl [new file with mode: 0644]
target/board/generic_x86/keymaps/jp.kcm [new file with mode: 0644]
target/board/generic_x86/keymaps/jp.kl [new file with mode: 0644]
target/board/generic_x86/keymaps/qwerty.kcm [new file with mode: 0644]
target/board/generic_x86/keymaps/qwerty.kl [new file with mode: 0644]
target/board/generic_x86/keymaps/ru.kcm [new file with mode: 0644]
target/board/generic_x86/keymaps/ru.kl [new file with mode: 0644]
target/board/generic_x86/keymaps/uk.kcm [new file with mode: 0644]
target/board/generic_x86/keymaps/uk.kl [new file with mode: 0644]
target/product/AndroidProducts.mk
target/product/generic_x86.mk [new file with mode: 0644]

index 3221525..54ab1c7 100644 (file)
@@ -332,7 +332,64 @@ define add-prebuilt-files
     $(foreach f,$(2),$(call add-prebuilt-file,$f,$(1)))
 endef
 
+###########################################################
+## Add a prebuilt target $(2) to directory $(1)
+##  $(call add-prebuilt-target,dir,srcfile)
+###########################################################
+
+define add-prebuilt-target
+    $(eval $(include-prebuilt-target))
+endef
+
+define include-prebuilt-target
+
+file := $(1)/$(2)
+$$(file): $$(LOCAL_PATH)/$(2) | $$(ACP)
+       $$(copy-file-to-new-target)
+ALL_PREBUILT += $$(file)
+
+endef
+
+###########################################################
+## Add multiple prebuilts $(2) to directory $(1)
+##  $(call add-prebuilt-targets,dir,srcfile1...)
+###########################################################
+
+define add-prebuilt-targets
+    $(foreach f,$(2),$(call add-prebuilt-target,$(1),$(f)))
+endef
 
+###########################################################
+## Common rules to build a java package
+##  $(call build-package,[tags],[certificate])
+###########################################################
+
+define build-package
+    $(eval $(build-package-rules))
+endef
+
+###########################################################
+## A third party java package is only built if
+## TARGET_HAS_THIRD_PARTY_APPS = true
+##  $(call build-third-party-package,[tags],[certificate])
+###########################################################
+
+define build-third-party-package
+    $(if $(filter true,$(TARGET_HAS_THIRD_PARTY_APPS)),$(build-package))
+endef
+
+define build-package-rules
+
+LOCAL_PATH := $$(call my-dir)
+include $$(CLEAR_VARS)
+LOCAL_MODULE_TAGS := $$(if $(1),$(1),user)
+LOCAL_SRC_FILES := $$(call all-java-files-under,src)
+LOCAL_PACKAGE_NAME := $$(notdir $$(LOCAL_PATH))
+LOCAL_CERTIFICATE := $(2)
+include $$(BUILD_PACKAGE)
+include $$(call all-subdir-makefiles)
+
+endef
 
 ###########################################################
 ## The intermediates directory.  Where object files go for
index 6d14753..3c952dd 100644 (file)
@@ -26,7 +26,7 @@ ifeq ($(TARGET_PRODUCT),)
 ifeq ($(TARGET_SIMULATOR),true)
 TARGET_PRODUCT := sim
 else
-TARGET_PRODUCT := generic
+TARGET_PRODUCT := generic_x86
 endif
 endif
 
@@ -127,11 +127,15 @@ TARGET_ARCH := $(HOST_ARCH)
 TARGET_OS := $(HOST_OS)
 else
 ifeq ($(TARGET_ARCH),)
-TARGET_ARCH := arm
+TARGET_ARCH := $(if $(call is_inherited_from,$(INTERNAL_PRODUCT),generic_x86.mk),x86,arm)
 endif
 TARGET_OS := linux
 endif
 
+ifeq ($(TARGET_ARCH),x86)
+  DISABLE_DEXPREOPT := true
+endif
+
 # the target build type defaults to release
 ifneq ($(TARGET_BUILD_TYPE),debug)
 TARGET_BUILD_TYPE := release
index a9a24d2..7e47a71 100644 (file)
@@ -169,3 +169,10 @@ endef
 define resolve-short-product-name
 $(strip $(call _resolve-short-product-name,$(1)))
 endef
+
+#
+# Return 1 if $(1) is inherited from $(2), else return empty
+#
+define is_inherited_from
+$(if $(1),$(if $(findstring $(2),$(1)),1,$(call $(0),$(strip $(PRODUCTS.$(1).INHERITS_FROM)),$(2))))
+endef
diff --git a/target/board/generic_x86/AndroidBoard.mk b/target/board/generic_x86/AndroidBoard.mk
new file mode 100644 (file)
index 0000000..3c9cf0b
--- /dev/null
@@ -0,0 +1,4 @@
+LOCAL_PATH := $(call my-dir)
+$(call add-prebuilt-target,$(TARGET_ROOT_OUT),init.rc)
+
+include $(call all-subdir-makefiles)
diff --git a/target/board/generic_x86/BoardConfig.mk b/target/board/generic_x86/BoardConfig.mk
new file mode 100644 (file)
index 0000000..073a987
--- /dev/null
@@ -0,0 +1,37 @@
+# In Eclair this file is included before definitions.mk.
+# As a result, my-dir is not defined yet.
+# We define our version here as a temporary fix.
+define _mydir
+$(dir $(lastword $(MAKEFILE_LIST)))
+endef
+
+TARGET_DISK_LAYOUT_CONFIG := $(call _mydir)disk_layout.conf
+
+TARGET_CPU_ABI := x86
+
+TARGET_COMPRESS_MODULE_SYMBOLS := false
+TARGET_PRELINK_MODULE := false
+
+TARGET_USERIMAGES_USE_EXT2 := true
+TARGET_BOOTIMAGE_USE_EXT2 := true
+TARGET_USE_DISKINSTALLER := true
+
+BOARD_BOOTIMAGE_MAX_SIZE := 8388608
+BOARD_SYSLOADER_MAX_SIZE := 7340032
+BOARD_FLASH_BLOCK_SIZE := 512
+
+# the following variables could be overridden
+TARGET_NO_BOOTLOADER ?= true
+TARGET_NO_RECOVERY ?= true
+TARGET_HARDWARE_3D ?= false
+TARGET_PROVIDES_INIT_RC ?= true
+TARGET_HAS_THIRD_PARTY_APPS ?= false
+
+USE_CUSTOM_RUNTIME_HEAP_MAX ?= "128M"
+
+BOARD_USES_GENERIC_AUDIO ?= false
+BOARD_USES_ALSA_AUDIO ?= true
+BUILD_WITH_ALSA_UTILS ?= true
+BOARD_HAVE_BLUETOOTH ?= true
+
+BOARD_KERNEL_CMDLINE ?= root=/dev/ram0 androidboot_hardware=$(TARGET_PRODUCT) acpi_sleep=s3_bios,s3_mode
diff --git a/target/board/generic_x86/disk_layout.conf b/target/board/generic_x86/disk_layout.conf
new file mode 100644 (file)
index 0000000..7b073ee
--- /dev/null
@@ -0,0 +1,54 @@
+device {
+    path /dev/block/sda
+
+    scheme mbr
+
+    # bytes in a disk sector (== 1 LBA), must be a power of 2!
+    sector_size 512
+
+    # What LBA should the partitions start at?
+    start_lba 2048
+
+    # Autodetect disk size if == 0
+    num_lba 0
+
+    partitions {
+        sysloader {
+            active y
+            type linux
+            len 7M
+        }
+
+        recovery {
+            active y
+            type linux
+            len 16M
+        }
+
+        boot {
+            active y
+            type linux
+            len 8M
+        }
+
+        cache {
+            type linux
+            len 512M
+        }
+
+        system {
+            type linux
+            len 512M
+        }
+
+        third_party {
+            type linux
+            len 512M
+        }
+
+        data {
+            type linux
+            len -1
+        }
+    }
+}
diff --git a/target/board/generic_x86/firmware/Android.mk b/target/board/generic_x86/firmware/Android.mk
new file mode 100644 (file)
index 0000000..efde394
--- /dev/null
@@ -0,0 +1,14 @@
+#
+# Copyright (C) 2009 The Android-x86 Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+
+LOCAL_FIRMWARES_DIR ?= $(call my-dir)
+LOCAL_PATH := $(LOCAL_FIRMWARES_DIR)
+LOCAL_FIRMWARES ?= $(filter-out Android.mk,$(subst $(LOCAL_PATH)/,,$(shell find $(LOCAL_PATH) -type f)))
+$(call add-prebuilt-targets,$(TARGET_OUT_SHARED_LIBRARIES)/firmware,$(LOCAL_FIRMWARES))
diff --git a/target/board/generic_x86/init.rc b/target/board/generic_x86/init.rc
new file mode 100644 (file)
index 0000000..51a13f2
--- /dev/null
@@ -0,0 +1,280 @@
+
+on init
+
+sysclktz 0
+
+loglevel 3
+
+# setup the global environment
+    export PATH /sbin:/system/sbin:/system/bin:/system/xbin
+    export LD_LIBRARY_PATH /system/lib
+    export ANDROID_BOOTLOGO 1
+    export ANDROID_ROOT /system
+    export ANDROID_ASSETS /system/app
+    export ANDROID_DATA /data
+    export EXTERNAL_STORAGE /sdcard
+    export BOOTCLASSPATH /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar
+
+# Backward compatibility
+    symlink system/etc /etc
+    symlink system/lib /lib
+
+# create mountpoints and mount tmpfs on sqlite_stmt_journals and debugfs on d
+    mkdir /d
+    chown system system /sdcard
+    chmod 0777 /sdcard
+    mkdir /data 0771 system system
+    mkdir /cache 0770 system cache
+    mkdir /sqlite_stmt_journals 01777 root root
+    mount tmpfs tmpfs /sqlite_stmt_journals size=4m
+    mount debugfs debugfs /d
+
+    mount rootfs rootfs / ro remount
+
+    write /proc/sys/kernel/panic_on_oops 1
+    write /proc/sys/kernel/hung_task_timeout_secs 0
+    write /proc/cpu/alignment 4
+    write /proc/sys/kernel/sched_latency_ns 10000000
+    write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
+
+# mount mtd partitions
+# TODO: this should be mounted by fs vol id (i.e. /dev/block-by-volid/system),
+#       once init gets that functionality.
+#   mount ext3 /dev/block/sda6 /system
+#   mount ext3 /dev/block/sda6 /system ro remount
+
+    # We chown/chmod /data again so because mount is run as root + defaults
+#   mount ext3 /dev/block/sda8 /data
+    chown system system /data
+    chmod 0771 /data
+
+    # Same reason as /data above
+#   mount ext3 /dev/block/sda5 /cache
+    chown system cache /cache
+    chmod 0770 /cache
+
+    # This may have been created by the recovery system with odd permissions
+    chown system system /cache/recovery
+    chmod 0770 /cache/recovery
+
+# create basic filesystem structure
+    mkdir /data/misc 01771 system misc
+    mkdir /data/misc/hcid 0770 bluetooth bluetooth
+    mkdir /data/local 0771 shell shell
+    mkdir /data/local/tmp 0771 shell shell
+    mkdir /data/data 0771 system system
+    mkdir /data/app-private 0771 system system
+    mkdir /data/app 0771 system system
+    mkdir /data/property 0700 root root
+
+    mkdir /data/misc/wifi 0770 wifi wifi
+    mkdir /data/misc/wifi/sockets 0770 wifi wifi
+    mkdir /data/system/wpa_supplicant 0770 wifi wifi
+    mkdir /data/misc/dhcp 0770 dhcp dhcp
+    chown dhcp dhcp /data/misc/dhcp
+
+    # create dalvik-cache and double-check the perms
+    mkdir /data/dalvik-cache 0771 system system
+    chown system system /data/dalvik-cache
+    chmod 0771 /data/dalvik-cache
+
+    # create the lost+found directories, so as to enforce our permissions
+    mkdir /data/lost+found 0770
+    mkdir /cache/lost+found 0770
+
+    # double check the perms, in case lost+found already exists, and set owner
+    chown root root /data/lost+found
+    chmod 0770 /data/lost+found
+    chown root root /cache/lost+found
+    chmod 0770 /cache/lost+found
+
+
+### Load some modules
+
+on boot
+# basic network init
+    ifup lo
+    hostname localhost
+    domainname localdomain
+
+# set RLIMIT_NICE to allow priorities from 19 to -20
+    setrlimit 13 40 40
+
+# Define the oom_adj values for the classes of processes that can be
+# killed by the kernel.  These are used in ActivityManagerService.
+    setprop ro.FOREGROUND_APP_ADJ 0
+    setprop ro.VISIBLE_APP_ADJ 1
+    setprop ro.SECONDARY_SERVER_ADJ 2
+    setprop ro.BACKUP_APP_ADJ 2
+    setprop ro.HOME_APP_ADJ 4
+    setprop ro.HIDDEN_APP_MIN_ADJ 7
+    setprop ro.CONTENT_PROVIDER_ADJ 14
+    setprop ro.EMPTY_APP_ADJ 15
+
+# Define the memory thresholds at which the above process classes will
+# be killed.  These numbers are in pages (4k).
+    setprop ro.FOREGROUND_APP_MEM 1536
+    setprop ro.VISIBLE_APP_MEM 2048
+    setprop ro.SECONDARY_SERVER_MEM 4096
+    setprop ro.BACKUP_APP_MEM 4096
+    setprop ro.HOME_APP_MEM 4096
+    setprop ro.HIDDEN_APP_MEM 8192
+    setprop ro.CONTENT_PROVIDER_MEM 8704
+    setprop ro.EMPTY_APP_MEM 16384
+
+# Write value must be consistent with the above properties.
+    write /sys/module/lowmemorykiller/parameters/adj 0,1,2,7,14,15
+
+    write /proc/sys/vm/overcommit_memory 1
+    write /proc/sys/vm/min_free_order_shift 4
+    write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,4096,8192,8704,16384
+
+    # Set init its forked children's oom_adj.
+    write /proc/1/oom_adj -16
+
+    # Permissions for System Server and daemons.
+    chown radio system /sys/android_power/state
+    chown radio system /sys/android_power/request_state
+    chown radio system /sys/android_power/acquire_full_wake_lock
+    chown radio system /sys/android_power/acquire_partial_wake_lock
+    chown radio system /sys/android_power/release_wake_lock
+    chown radio system /sys/power/state
+    chown radio system /sys/power/wake_lock
+    chown radio system /sys/power/wake_unlock
+    chmod 0660 /sys/power/state
+    chmod 0660 /sys/power/wake_lock
+    chmod 0660 /sys/power/wake_unlock
+    chown system system /sys/class/timed_output/vibrator/enable
+    chown system system /sys/class/leds/keyboard-backlight/brightness
+    chown system system /sys/class/leds/lcd-backlight/brightness
+    chown system system /sys/class/leds/button-backlight/brightness
+    chown system system /sys/class/leds/red/brightness
+    chown system system /sys/class/leds/green/brightness
+    chown system system /sys/class/leds/blue/brightness
+    chown system system /sys/class/leds/red/device/grpfreq
+    chown system system /sys/class/leds/red/device/grppwm
+    chown system system /sys/class/leds/red/device/blink
+    chown system system /sys/class/leds/red/brightness
+    chown system system /sys/class/leds/green/brightness
+    chown system system /sys/class/leds/blue/brightness
+    chown system system /sys/class/leds/red/device/grpfreq
+    chown system system /sys/class/leds/red/device/grppwm
+    chown system system /sys/class/leds/red/device/blink
+    chown system system /sys/class/timed_output/vibrator/enable
+    chown system system /sys/module/sco/parameters/disable_esco
+    chown system system /sys/kernel/ipv4/tcp_wmem_min
+    chown system system /sys/kernel/ipv4/tcp_wmem_def
+    chown system system /sys/kernel/ipv4/tcp_wmem_max
+    chown system system /sys/kernel/ipv4/tcp_rmem_min
+    chown system system /sys/kernel/ipv4/tcp_rmem_def
+    chown system system /sys/kernel/ipv4/tcp_rmem_max
+    chown root radio /proc/cmdline
+
+# Define TCP buffer sizes for various networks
+#   ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
+    setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
+    setprop net.tcp.buffersize.wifi    4095,87380,110208,4096,16384,110208
+    setprop net.tcp.buffersize.umts    4094,87380,110208,4096,16384,110208
+    setprop net.tcp.buffersize.edge    4093,26280,35040,4096,16384,35040
+    setprop net.tcp.buffersize.gprs    4092,8760,11680,4096,8760,11680
+
+    setprop ro.radio.use-ppp no
+    setprop ro.radio.noril yes
+    setprop status.battery.state Slow
+    setprop status.battery.level 5
+    setprop status.battery.level_raw  50
+    setprop status.battery.level_scale 9
+    setprop alsa.mixer.playback.master Master
+    setprop alsa.mixer.capture.master Capture
+    setprop alsa.mixer.playback.earpiece Master
+    setprop alsa.mixer.capture.earpiece Capture
+    setprop alsa.mixer.playback.headset Master
+    setprop alsa.mixer.playback.speaker Master
+
+    setprop EXTERNAL_STORAGE_STATE unmounted
+
+    # merge from system.prop
+    setprop ro.config.sync yes
+    setprop app.setupwizard.disable 1
+    setprop keyguard.no_require_sim 1
+    setprop ro.alarm.volume.adjustable true
+    setprop ro.simulated.phone true
+
+    class_start default
+
+## Daemon processes to be run by init.
+##
+service console /system/bin/sh
+    console
+
+# adbd is controlled by the persist.service.adb.enable system property
+service adbd /sbin/adbd
+
+on property:persist.service.adb.enable=1
+    start adbd
+
+on property:persist.service.adb.enable=0
+    stop adbd
+
+service servicemanager /system/bin/servicemanager
+    user system
+    critical
+    onrestart restart zygote
+    onrestart restart media
+
+service vold /system/bin/vold
+    socket vold stream 0660 root mount
+
+service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
+    socket zygote stream 666
+    onrestart write /sys/android_power/request_state wake
+    onrestart write /sys/power/state on
+
+service media /system/bin/mediaserver
+    user media
+    group system audio camera graphics inet net_bt net_bt_admin
+
+service bootanim /system/bin/bootanimation
+    user graphics
+    group graphics
+    disabled
+    oneshot
+
+service installd /system/bin/installd
+    socket installd stream 600 system system
+
+service wpa_supplicant /system/bin/wpa_supplicant -Dwext -iwlan0 -c /data/misc/wifi/wpa_supplicant.conf
+    group system wifi
+    disabled
+    oneshot
+
+service dbus /system/bin/dbus-daemon --system --nofork
+    socket dbus stream 660 bluetooth bluetooth
+    user bluetooth
+    group bluetooth net_bt_admin
+
+service hcid /system/bin/hcid -d -s -n -f /etc/bluez/hcid.conf
+    socket bluetooth stream 660 bluetooth bluetooth
+    socket dbus_bluetooth stream 660 bluetooth bluetooth
+    group bluetooth net_bt_admin misc
+    disabled
+
+service hfag /system/bin/sdptool add --channel=10 HFAG
+    user bluetooth
+    group bluetooth net_bt_admin misc
+    disabled
+    oneshot
+
+service hsag /system/bin/sdptool add --channel=11 HSAG
+    user bluetooth
+    group bluetooth net_bt_admin misc
+    disabled
+    oneshot
+
+#Please do not change anything below this line. If you want to add new service, add it above this line
+#REMOVE FROM HERE
+service dhcpcd /system/bin/dhcpcd wlan0
+    group system dhcp
+    disabled
+    oneshot
+
diff --git a/target/board/generic_x86/keymaps/Android.mk b/target/board/generic_x86/keymaps/Android.mk
new file mode 100644 (file)
index 0000000..68cfb5d
--- /dev/null
@@ -0,0 +1,32 @@
+#
+# Copyright (C) 2009 The Android-x86 Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+
+define include-keymap
+
+include $$(CLEAR_VARS)
+LOCAL_SRC_FILES := $(1)
+include $$(BUILD_KEY_CHAR_MAP)
+
+$$(call add-prebuilt-target,$$(TARGET_OUT_KEYLAYOUT),$$(subst .kcm,.kl,$(1)))
+
+endef
+
+define add-keymap
+$(eval $(include-keymap))
+endef
+
+define add-keymaps
+$(foreach f,$(1),$(call add-keymap,$(f)))
+endef
+
+LOCAL_KEYMAPS_DIR ?= $(call my-dir)
+LOCAL_PATH := $(LOCAL_KEYMAPS_DIR)
+LOCAL_KEYMAPS ?= $(subst $(LOCAL_PATH)/,,$(wildcard $(LOCAL_PATH)/*.kcm))
+$(call add-keymaps,$(LOCAL_KEYMAPS))
diff --git a/target/board/generic_x86/keymaps/de.kcm b/target/board/generic_x86/keymaps/de.kcm
new file mode 100644 (file)
index 0000000..bb5c06d
--- /dev/null
@@ -0,0 +1,64 @@
+[type=QWERTY]
+
+# keycode       display number  base    caps    fn      caps_fn
+
+A               'A'     '2'     'a'     'A'     '#'     0x00
+B               'B'     '2'     'b'     'B'     '<'     0x00
+C               'C'     '2'     'c'     'C'     '9'     0x00E7
+D               'D'     '3'     'd'     'D'     '5'     0x00
+E               'E'     '3'     'e'     'E'     '2'     0x0301
+F               'F'     '3'     'f'     'F'     '6'     0x00A5
+G               'G'     '4'     'g'     'G'     '-'     '_'
+H               'H'     '4'     'h'     'H'     '['     '{'
+I               'I'     '4'     'i'     'I'     '$'     0x0302
+J               'J'     '5'     'j'     'J'     ']'     '}'
+K               'K'     '5'     'k'     'K'     '"'     '~'
+L               'L'     '5'     'l'     'L'     '''     '`'
+M               'M'     '6'     'm'     'M'     '!'     0x00
+N               'N'     '6'     'n'     'N'     '>'     0x0303
+O               'O'     '6'     'o'     'O'     '('     0x00
+P               'P'     '7'     'p'     'P'     ')'     0x00
+Q               'Q'     '7'     'q'     'Q'     '*'     0x0300
+R               'R'     '7'     'r'     'R'     '3'     0x20AC
+S               'S'     '7'     's'     'S'     '4'     0x00DF
+T               'T'     '8'     't'     'T'     '+'     0x00A3
+U               'U'     '8'     'u'     'U'     '&'     0x0308
+V               'V'     '8'     'v'     'V'     '='     '^'
+W               'W'     '9'     'w'     'W'     '1'     0x00
+X               'X'     '9'     'x'     'X'     '8'     0xEF00
+Y               'Y'     '9'     'z'     'Z'     '%'     0x00A1
+Z               'Z'     '9'     'y'     'Y'     '7'     0x00
+
+# on pc keyboards
+COMMA           ','     ','     ','     ';'     ';'     '|'
+PERIOD          '.'     '.'     '.'     ':'     ':'     0x2026
+AT              '@'     '0'     '@'     '0'     '0'     0x2022
+SLASH           '/'     '/'     '-'     '_'     '?'     '\'
+
+SPACE           0x20    0x20    0x20    0x20    0x9     0x9
+ENTER           0xa     0xa     0xa     0xa     0xa     0xa
+
+TAB             0x9     0x9     0x9     0x9     0x9     0x9
+0               '0'     '0'     '0'     '='     ')'     ')'
+1               '1'     '1'     '1'     '!'     '!'     '!'
+2               '2'     '2'     '2'     '"'     '@'     '@'
+3               '3'     '3'     '3'     0x00A7  '#'     '#'
+4               '4'     '4'     '4'     '$'     '$'     '$'
+5               '5'     '5'     '5'     '%'     '%'     '%'
+6               '6'     '6'     '6'     '&'     '^'     '^'
+7               '7'     '7'     '7'     '/'     '&'     '&'
+8               '8'     '8'     '8'     '('     '*'     '*'
+9               '9'     '9'     '9'     ')'     '('     '('
+
+GRAVE           '`'     '`'     0x005E  0x00B0  '`'     '~'
+MINUS           '-'     '-'     0x00DF  '?'     '-'     '_'
+EQUALS          '='     '='     0x00B4  0x0060  '='     '+'
+LEFT_BRACKET    '['     '['     0x00FC  0x00DC  '['     '{'
+RIGHT_BRACKET   ']'     ']'     '+'     '*'     ']'     '}'
+BACKSLASH       '\'     '\'     '#'     '''     '\'     '|'
+SEMICOLON       ';'     ';'     0x00F6  0x00D6  ';'     ':'
+APOSTROPHE      '''     '''     0x00E4  0x00C4  '''     '"'
+STAR            '*'     '*'     '*'     '*'     '*'     '*'
+POUND           '#'     '#'     '#'     '#'     '#'     '#'
+PLUS            '+'     '+'     '+'     '+'     '+'     '+'
+MORE_KEY        '<'     '<'     '<'     '>'     '>'     '|'
diff --git a/target/board/generic_x86/keymaps/de.kl b/target/board/generic_x86/keymaps/de.kl
new file mode 100644 (file)
index 0000000..b52527b
--- /dev/null
@@ -0,0 +1,99 @@
+key 41    GRAVE
+key 2     1
+key 3     2
+key 4     3
+key 5     4
+key 6     5
+key 7     6
+key 8     7
+key 9     8
+key 10    9
+key 11    0
+key 1     BACK              WAKE_DROPPED
+key 230   SOFT_RIGHT        WAKE
+key 60    SOFT_RIGHT        WAKE
+key 107   ENDCALL           WAKE_DROPPED
+key 62    ENDCALL           WAKE_DROPPED
+key 64    ENDCALL           WAKE_DROPPED
+key 127   MENU         WAKE_DROPPED
+key 139   MENU         WAKE_DROPPED
+key 228   POUND
+key 227   STAR
+key 231   CALL              WAKE_DROPPED
+key 61    CALL              WAKE_DROPPED
+key 221   DPAD_CENTER       WAKE_DROPPED
+key 108   DPAD_DOWN         WAKE_DROPPED
+key 103   DPAD_UP           WAKE_DROPPED
+key 125   HOME              WAKE
+key 105   DPAD_LEFT         WAKE_DROPPED
+key 106   DPAD_RIGHT        WAKE_DROPPED
+key 113   VOLUME_MUTE
+key 114   VOLUME_DOWN
+key 115   VOLUME_UP
+key 116   POWER             WAKE
+key 211   FOCUS
+key 212   CAMERA
+key 238   WIFI
+key 142   SLEEP
+
+key 16    Q
+key 17    W
+key 18    E
+key 19    R
+key 20    T
+key 21    Y
+key 22    U
+key 23    I
+key 24    O
+key 25    P
+key 26    LEFT_BRACKET
+key 27    RIGHT_BRACKET
+key 43    BACKSLASH
+
+key 30    A
+key 31    S
+key 32    D
+key 33    F
+key 34    G
+key 35    H
+key 36    J
+key 37    K
+key 38    L
+key 39    SEMICOLON
+key 40    APOSTROPHE
+key 14    DEL
+
+key 44    Z
+key 45    X
+key 46    C
+key 47    V
+key 48    B
+key 49    N
+key 50    M
+key 51    COMMA
+key 52    PERIOD
+key 53    SLASH
+key 28    ENTER
+
+key 56    ALT_LEFT
+key 42    SHIFT_LEFT
+key 15    TAB
+key 57    SPACE
+key 150   EXPLORER
+key 155   ENVELOPE
+
+key 12    MINUS
+key 13    EQUALS
+key 215   AT
+
+key 75    BACK              WAKE_DROPPED
+key 77    SOFT_RIGHT        WAKE
+key 96    ENTER
+key 100   ALT_RIGHT
+key 102   HOME              WAKE
+key 104   PAGE_UP
+key 109   PAGE_DOWN
+key 29    CTRL_LEFT
+key 97    CTRL_RIGHT
+key 58    CAPS_LOCK         CAPS_LOCK
+key 86    MORE_KEY
diff --git a/target/board/generic_x86/keymaps/es_latin.kcm b/target/board/generic_x86/keymaps/es_latin.kcm
new file mode 100644 (file)
index 0000000..634a370
--- /dev/null
@@ -0,0 +1,64 @@
+[type=QWERTY]
+
+# keycode       display number  base    caps    fn      caps_fn
+
+A               'A'     '2'     'a'     'A'     '#'      0x00
+B               'B'     '2'     'b'     'B'     '<'     0x00
+C               'C'     '2'     'c'     'C'     '9'     0x00E7
+D               'D'     '3'     'd'     'D'     '5'     0x00
+E               'E'     '3'     'e'     'E'     '2'     0x0301
+F               'F'     '3'     'f'     'F'     '6'     0x00A5
+G               'G'     '4'     'g'     'G'     '-'     '_'
+H               'H'     '4'     'h'     'H'     '['     '{'
+I               'I'     '4'     'i'     'I'     '$'     0x0302
+J               'J'     '5'     'j'     'J'     ']'     '}'
+K               'K'     '5'     'k'     'K'     '"'     '~'
+L               'L'     '5'     'l'     'L'     '''     '`'
+M               'M'     '6'     'm'     'M'     '!'     0x00
+N               'N'     '6'     'n'     'N'     '>'     0x0303
+O               'O'     '6'     'o'     'O'     '('     0x00
+P               'P'     '7'     'p'     'P'     ')'     0x00
+Q               'Q'     '7'     'q'     'Q'     '*'     0x0040
+R               'R'     '7'     'r'     'R'     '3'     0x20AC
+S               'S'     '7'     's'     'S'     '4'     0x00DF
+T               'T'     '8'     't'     'T'     '+'     0x00A3
+U               'U'     '8'     'u'     'U'     '&'     0x0308
+V               'V'     '8'     'v'     'V'     '='     '^'
+W               'W'     '9'     'w'     'W'     '1'     0x00
+X               'X'     '9'     'x'     'X'     '8'     0xEF00
+Y               'Y'     '9'     'y'     'Y'     '%'     0x00A1
+Z               'Z'     '9'     'z'     'Z'     '7'     0x00
+
+# on pc keyboards
+COMMA           ','     ','     ','     ';'     ';'     '|'
+PERIOD          '.'     '.'     '.'     ':'     ':'     0x2026
+AT              '@'     '0'     '@'     '0'     '0'     0x2022
+SLASH           '/'     '/'     '-'     '_'     '?'     '\'
+
+SPACE           0x20    0x20    0x20    0x20    0x9     0x9
+ENTER           0xa     0xa     0xa     0xa     0xa     0xa
+
+TAB             0x9     0x9     0x9     0x9     0x9     0x9
+0               '0'     '0'     '0'     '='     ')'     ')'
+1               '1'     '1'     '1'     '!'     '!'     '!'
+2               '2'     '2'     '2'     '"'     '@'     '@'
+3               '3'     '3'     '3'     '#'     '#'     '#'
+4               '4'     '4'     '4'     '$'     '$'     '$'
+5               '5'     '5'     '5'     '%'     '%'     '%'
+6               '6'     '6'     '6'     '&'     '^'     '^'
+7               '7'     '7'     '7'     '/'     '&'     '&'
+8               '8'     '8'     '8'     '('     '*'     '*'
+9               '9'     '9'     '9'     ')'     '('     '('
+
+GRAVE           '`'     '`'     0x7C    0xB0     '`'     0xAC
+MINUS           '-'     '-'     0x27    0x3F     '-'     0x5C
+EQUALS          '='     '='     0xBF    0xA1      '='     '+'
+LEFT_BRACKET    '['     '['     0xB4    0xA8     '['     '{'
+RIGHT_BRACKET   ']'     ']'     0x2B    0x2A     ']'    0x7E
+BACKSLASH       '\'     '\'     '}'     ']'     '\'     0x60
+SEMICOLON       ';'     ';'     0xF1    0xD1     ';'     ':'
+APOSTROPHE      '''     '''     '{'     '['     '''     0x5E
+STAR            '*'     '*'     '*'     '*'     '*'     '*'
+POUND           '#'     '#'     '#'     '#'     '#'     '#'
+PLUS            '+'     '+'     '+'     '+'     '+'     '+'
+MORE_KEY        '<'     '<'     '<'     '>'     '>'     '>'
diff --git a/target/board/generic_x86/keymaps/es_latin.kl b/target/board/generic_x86/keymaps/es_latin.kl
new file mode 100644 (file)
index 0000000..c249e3f
--- /dev/null
@@ -0,0 +1,100 @@
+key 41    GRAVE
+key 2     1
+key 3     2
+key 4     3
+key 5     4
+key 6     5
+key 7     6
+key 8     7
+key 9     8
+key 10    9
+key 11    0
+key 1     BACK              WAKE_DROPPED
+key 230   SOFT_RIGHT        WAKE
+key 60    SOFT_RIGHT        WAKE
+key 107   ENDCALL           WAKE_DROPPED
+key 62    ENDCALL           WAKE_DROPPED
+key 64    ENDCALL           WAKE_DROPPED
+key 127   MENU         WAKE_DROPPED
+key 139   MENU         WAKE_DROPPED
+key 228   POUND
+key 227   STAR
+key 231   CALL              WAKE_DROPPED
+key 61    CALL              WAKE_DROPPED
+key 221   DPAD_CENTER       WAKE_DROPPED
+key 108   DPAD_DOWN         WAKE_DROPPED
+key 103   DPAD_UP           WAKE_DROPPED
+key 125   HOME              WAKE
+key 105   DPAD_LEFT         WAKE_DROPPED
+key 106   DPAD_RIGHT        WAKE_DROPPED
+key 113   VOLUME_MUTE
+key 114   VOLUME_DOWN
+key 115   VOLUME_UP
+key 116   POWER             WAKE
+key 211   FOCUS
+key 212   CAMERA
+key 238   WIFI
+key 142   SLEEP
+
+key 16    Q
+key 17    W
+key 18    E
+key 19    R
+key 20    T
+key 21    Y
+key 22    U
+key 23    I
+key 24    O
+key 25    P
+key 26    LEFT_BRACKET
+key 27    RIGHT_BRACKET
+key 43    BACKSLASH
+
+key 30    A
+key 31    S
+key 32    D
+key 33    F
+key 34    G
+key 35    H
+key 36    J
+key 37    K
+key 38    L
+key 39    SEMICOLON
+key 40    APOSTROPHE
+key 14    DEL
+
+key 44    Z
+key 45    X
+key 46    C
+key 47    V
+key 48    B
+key 49    N
+key 50    M
+key 51    COMMA
+key 52    PERIOD
+key 53    SLASH
+key 28    ENTER
+
+key 56    ALT_LEFT
+key 42    SHIFT_LEFT
+key 54    SHIFT_RIGHT
+key 15    TAB
+key 57    SPACE
+key 150   EXPLORER
+key 155   ENVELOPE
+
+key 12    MINUS
+key 13    EQUALS
+key 215   AT
+
+key 75    BACK              WAKE_DROPPED
+key 77    SOFT_RIGHT        WAKE
+key 96    ENTER
+key 100   ALT_RIGHT
+key 102   HOME              WAKE
+key 104   PAGE_UP
+key 109   PAGE_DOWN
+key 29    CTRL_LEFT
+key 97    CTRL_RIGHT
+key 58    CAPS_LOCK         CAPS_LOCK
+key 86    MORE_KEY
diff --git a/target/board/generic_x86/keymaps/fn.kcm b/target/board/generic_x86/keymaps/fn.kcm
new file mode 100644 (file)
index 0000000..b19c6e3
--- /dev/null
@@ -0,0 +1,64 @@
+[type=QWERTY]
+
+# keycode       display number  base    caps    fn      caps_fn
+
+A               'A'     '2'     'a'     'A'     '#'     0x00
+B               'B'     '2'     'b'     'B'     '<'     0x00
+C               'C'     '2'     'c'     'C'     '9'     0x00E7
+D               'D'     '3'     'd'     'D'     '5'     0x00
+E               'E'     '3'     'e'     'E'     '2'     0x20AC
+F               'F'     '3'     'f'     'F'     '6'     0x00A5
+G               'G'     '4'     'g'     'G'     '-'     '_'
+H               'H'     '4'     'h'     'H'     '['     '{'
+I               'I'     '4'     'i'     'I'     '$'     0x0302
+J               'J'     '5'     'j'     'J'     ']'     '}'
+K               'K'     '5'     'k'     'K'     '"'     '~'
+L               'L'     '5'     'l'     'L'     '''     '`'
+M               'M'     '6'     'm'     'M'     '!'     0x03BC
+N               'N'     '6'     'n'     'N'     '>'     0x0303
+O               'O'     '6'     'o'     'O'     '('     0x00
+P               'P'     '7'     'p'     'P'     ')'     0x00
+Q               'Q'     '7'     'q'     'Q'     '*'     0x0300
+R               'R'     '7'     'r'     'R'     '3'     0x20AC
+S               'S'     '7'     's'     'S'     '4'     0x00DF
+T               'T'     '8'     't'     'T'     '+'     0x00A3
+U               'U'     '8'     'u'     'U'     '&'     0x0308
+V               'V'     '8'     'v'     'V'     '='     '^'
+W               'W'     '9'     'w'     'W'     '1'     0x00
+X               'X'     '9'     'x'     'X'     '8'     0xEF00
+Y               'Y'     '9'     'y'     'Y'     '%'     0x00A1
+Z               'Z'     '9'     'z'     'Z'     '7'     0x00
+
+# on pc keyboards
+COMMA           ','     ','     ','     ';'     ';'     '|'
+PERIOD          '.'     '.'     '.'     ':'     ':'     0x2026
+AT              '@'     '0'     '@'     '0'     '0'     0x2022
+SLASH           '/'     '/'     '-'     '_'     '?'     '\'
+
+SPACE           0x20    0x20    0x20    0x20    0x9     0x9
+ENTER           0xa     0xa     0xa     0xa     0xa     0xa
+
+TAB             0x9     0x9     0x9     0x9     0x9     0x9
+0               '0'     '0'     '0'     '='     ')'     '}'
+1               '1'     '1'     '1'     '!'     '!'     '!'
+2               '2'     '2'     '2'     '"'     '@'     '@'
+3               '3'     '3'     '3'     '#'     '#'     0xA3
+4               '4'     '4'     '4'     0xA4    '$'     '$'
+5               '5'     '5'     '5'     '%'     '%'     0x20AC
+6               '6'     '6'     '6'     '&'     '&'     '&'
+7               '7'     '7'     '7'     '/'     '&'     '{'
+8               '8'     '8'     '8'     '('     '*'     '['
+9               '9'     '9'     '9'     ')'     '('     ']'
+
+GRAVE           '`'     '`'     0xA7    0xBD    '`'     '~'
+MINUS           '-'     '-'     '+'     '?'     '-'     '\'
+EQUALS          '='     '='     0xB4    '`'     '='     '+'
+LEFT_BRACKET    '['     '['     0xE5    0xC5    '['     '{'
+RIGHT_BRACKET   ']'     ']'     0xA8    '^'     ']'     '~'
+BACKSLASH       '\'     '\'     '''     '*'     '\'     '|'
+SEMICOLON       ';'     ';'     0xF6    0xD6    ';'     ':'
+APOSTROPHE      '''     '''     0xE4    0xC4    '''     '"'
+STAR            '*'     '*'     '*'     '*'     '*'     '*'
+POUND           '#'     '#'     '#'     '#'     '#'     '#'
+PLUS            '+'     '+'     '+'     '+'     '+'     '+'
+MORE_KEY        '<'     '<'     '<'     '>'     '>'     '|'
diff --git a/target/board/generic_x86/keymaps/fn.kl b/target/board/generic_x86/keymaps/fn.kl
new file mode 100644 (file)
index 0000000..c249e3f
--- /dev/null
@@ -0,0 +1,100 @@
+key 41    GRAVE
+key 2     1
+key 3     2
+key 4     3
+key 5     4
+key 6     5
+key 7     6
+key 8     7
+key 9     8
+key 10    9
+key 11    0
+key 1     BACK              WAKE_DROPPED
+key 230   SOFT_RIGHT        WAKE
+key 60    SOFT_RIGHT        WAKE
+key 107   ENDCALL           WAKE_DROPPED
+key 62    ENDCALL           WAKE_DROPPED
+key 64    ENDCALL           WAKE_DROPPED
+key 127   MENU         WAKE_DROPPED
+key 139   MENU         WAKE_DROPPED
+key 228   POUND
+key 227   STAR
+key 231   CALL              WAKE_DROPPED
+key 61    CALL              WAKE_DROPPED
+key 221   DPAD_CENTER       WAKE_DROPPED
+key 108   DPAD_DOWN         WAKE_DROPPED
+key 103   DPAD_UP           WAKE_DROPPED
+key 125   HOME              WAKE
+key 105   DPAD_LEFT         WAKE_DROPPED
+key 106   DPAD_RIGHT        WAKE_DROPPED
+key 113   VOLUME_MUTE
+key 114   VOLUME_DOWN
+key 115   VOLUME_UP
+key 116   POWER             WAKE
+key 211   FOCUS
+key 212   CAMERA
+key 238   WIFI
+key 142   SLEEP
+
+key 16    Q
+key 17    W
+key 18    E
+key 19    R
+key 20    T
+key 21    Y
+key 22    U
+key 23    I
+key 24    O
+key 25    P
+key 26    LEFT_BRACKET
+key 27    RIGHT_BRACKET
+key 43    BACKSLASH
+
+key 30    A
+key 31    S
+key 32    D
+key 33    F
+key 34    G
+key 35    H
+key 36    J
+key 37    K
+key 38    L
+key 39    SEMICOLON
+key 40    APOSTROPHE
+key 14    DEL
+
+key 44    Z
+key 45    X
+key 46    C
+key 47    V
+key 48    B
+key 49    N
+key 50    M
+key 51    COMMA
+key 52    PERIOD
+key 53    SLASH
+key 28    ENTER
+
+key 56    ALT_LEFT
+key 42    SHIFT_LEFT
+key 54    SHIFT_RIGHT
+key 15    TAB
+key 57    SPACE
+key 150   EXPLORER
+key 155   ENVELOPE
+
+key 12    MINUS
+key 13    EQUALS
+key 215   AT
+
+key 75    BACK              WAKE_DROPPED
+key 77    SOFT_RIGHT        WAKE
+key 96    ENTER
+key 100   ALT_RIGHT
+key 102   HOME              WAKE
+key 104   PAGE_UP
+key 109   PAGE_DOWN
+key 29    CTRL_LEFT
+key 97    CTRL_RIGHT
+key 58    CAPS_LOCK         CAPS_LOCK
+key 86    MORE_KEY
diff --git a/target/board/generic_x86/keymaps/fr.kcm b/target/board/generic_x86/keymaps/fr.kcm
new file mode 100644 (file)
index 0000000..284e380
--- /dev/null
@@ -0,0 +1,64 @@
+[type=QWERTY]
+
+# keycode       display number  base    caps    fn      caps_fn
+
+A               'A'     '2'     'a'     'A'     '#'     0x00
+B               'B'     '2'     'b'     'B'     '<'     0x00
+C               'C'     '2'     'c'     'C'     '9'     0x00E7
+D               'D'     '3'     'd'     'D'     '5'     0x00
+E               'E'     '3'     'e'     'E'     '2'     0x20AC
+F               'F'     '3'     'f'     'F'     '6'     0x00A5
+G               'G'     '4'     'g'     'G'     '-'     '_'
+H               'H'     '4'     'h'     'H'     '['     '{'
+I               'I'     '4'     'i'     'I'     '$'     0x0302
+J               'J'     '5'     'j'     'J'     ']'     '}'
+K               'K'     '5'     'k'     'K'     '"'     '~'
+L               'L'     '5'     'l'     'L'     '''     '`'
+M               'M'     '6'     'm'     'M'     '!'     0x00
+N               'N'     '6'     'n'     'N'     '>'     0x0303
+O               'O'     '6'     'o'     'O'     '('     0x00
+P               'P'     '7'     'p'     'P'     ')'     0x00
+Q               'Q'     '7'     'q'     'Q'     '*'     0x0300
+R               'R'     '7'     'r'     'R'     '3'     0x20AC
+S               'S'     '7'     's'     'S'     '4'     0x00DF
+T               'T'     '8'     't'     'T'     '+'     0x00A3
+U               'U'     '8'     'u'     'U'     '&'     0x0308
+V               'V'     '8'     'v'     'V'     '='     '^'
+W               'W'     '9'     'w'     'W'     '1'     0x00
+X               'X'     '9'     'x'     'X'     '8'     0xEF00
+Y               'Y'     '9'     'y'     'Y'     '%'     0x00A1
+Z               'Z'     '9'     'z'     'Z'     '7'     0x00
+
+# on pc keyboards
+COMMA           ','     ','     ';'     '.'     ';'     '|'
+PERIOD          '.'     '.'     ':'     '/'     ':'     0x2026
+AT              '@'     '0'     '@'     '0'     '0'     0x2022
+SLASH           '/'     '/'     '!'     0xA7    '?'     '\'
+
+SPACE           0x20    0x20    0x20    0x20    0x9     0x9
+ENTER           0xa     0xa     0xa     0xa     0xa     0xa
+
+TAB             0x9     0x9     0x9     0x9     0x9     0x9
+0               '0'     '0'     0xE0    '0'     ')'     '@'
+1               '1'     '1'     '&'     '1'     '!'     '!'
+2               '2'     '2'     0xE9    '2'     '@'     '~'
+3               '3'     '3'     '"'     '3'     '#'     '#'
+4               '4'     '4'     '''     '4'     '$'     '{'
+5               '5'     '5'     '('     '5'     '%'     '['
+6               '6'     '6'     '-'     '6'     '^'     '|'
+7               '7'     '7'     0xE8    '7'     '&'     '`'
+8               '8'     '8'     '_'     '8'     '*'     '\'
+9               '9'     '9'     0x00E7  '9'     '('     '^'
+
+GRAVE           '`'     '`'     0xB2    '~'     '`'     '~'
+MINUS           '-'     '-'     ')'     0xB0    '-'     ']'
+EQUALS          '='     '='     '='     '+'     '='     '}'
+LEFT_BRACKET    '['     '['     '^'     0xA8    '['     '{'
+RIGHT_BRACKET   ']'     ']'     '$'     0xA3    ']'     0xA4
+BACKSLASH       '\'     '\'     '*'     0x03BC  '\'     '|'
+SEMICOLON       ';'     ';'     ','     '?'     ';'     ':'
+APOSTROPHE      '''     '''     0xF9    '%'     '''     '"'
+STAR            '*'     '*'     '*'     '*'     '*'     '*'
+POUND           '#'     '#'     '#'     '#'     '#'     '#'
+PLUS            '+'     '+'     '+'     '+'     '+'     '+'
+MORE_KEY        '<'     '<'     '<'     '>'     '>'     '>'
diff --git a/target/board/generic_x86/keymaps/fr.kl b/target/board/generic_x86/keymaps/fr.kl
new file mode 100644 (file)
index 0000000..9027969
--- /dev/null
@@ -0,0 +1,100 @@
+key 41    GRAVE
+key 2     1
+key 3     2
+key 4     3
+key 5     4
+key 6     5
+key 7     6
+key 8     7
+key 9     8
+key 10    9
+key 11    0
+key 1     BACK              WAKE_DROPPED
+key 230   SOFT_RIGHT        WAKE
+key 60    SOFT_RIGHT        WAKE
+key 107   ENDCALL           WAKE_DROPPED
+key 62    ENDCALL           WAKE_DROPPED
+key 64    ENDCALL           WAKE_DROPPED
+key 127   MENU         WAKE_DROPPED
+key 139   MENU         WAKE_DROPPED
+key 228   POUND
+key 227   STAR
+key 231   CALL              WAKE_DROPPED
+key 61    CALL              WAKE_DROPPED
+key 221   DPAD_CENTER       WAKE_DROPPED
+key 108   DPAD_DOWN         WAKE_DROPPED
+key 103   DPAD_UP           WAKE_DROPPED
+key 125   HOME              WAKE
+key 105   DPAD_LEFT         WAKE_DROPPED
+key 106   DPAD_RIGHT        WAKE_DROPPED
+key 113   VOLUME_MUTE
+key 114   VOLUME_DOWN
+key 115   VOLUME_UP
+key 116   POWER             WAKE
+key 211   FOCUS
+key 212   CAMERA
+key 238   WIFI
+key 142   SLEEP
+
+key 16    A
+key 17    Z
+key 18    E
+key 19    R
+key 20    T
+key 21    Y
+key 22    U
+key 23    I
+key 24    O
+key 25    P
+key 26    LEFT_BRACKET
+key 27    RIGHT_BRACKET
+key 43    BACKSLASH
+
+key 30    Q
+key 31    S
+key 32    D
+key 33    F
+key 34    G
+key 35    H
+key 36    J
+key 37    K
+key 38    L
+key 39    M
+key 40    APOSTROPHE
+key 14    DEL
+
+key 44    W
+key 45    X
+key 46    C
+key 47    V
+key 48    B
+key 49    N
+key 50    SEMICOLON
+key 51    COMMA
+key 52    PERIOD
+key 53    SLASH
+key 28    ENTER
+
+key 56    ALT_LEFT
+key 42    SHIFT_LEFT
+key 54    SHIFT_RIGHT
+key 15    TAB
+key 57    SPACE
+key 150   EXPLORER
+key 155   ENVELOPE
+
+key 12    MINUS
+key 13    EQUALS
+key 215   AT
+
+key 75    BACK              WAKE_DROPPED
+key 77    SOFT_RIGHT        WAKE
+key 96    ENTER
+key 100   ALT_RIGHT
+key 102   HOME              WAKE
+key 104   PAGE_UP
+key 109   PAGE_DOWN
+key 29    CTRL_LEFT
+key 97    CTRL_RIGHT
+key 58    CAPS_LOCK         CAPS_LOCK
+key 86    MORE_KEY
diff --git a/target/board/generic_x86/keymaps/jp.kcm b/target/board/generic_x86/keymaps/jp.kcm
new file mode 100644 (file)
index 0000000..a69c4b0
--- /dev/null
@@ -0,0 +1,63 @@
+[type=QWERTY]
+
+# keycode       display number  base    caps    fn      caps_fn
+
+A               'A'     '2'     'a'     'A'     '#'     0x00
+B               'B'     '2'     'b'     'B'     '<'     0x00
+C               'C'     '2'     'c'     'C'     '9'     0x00E7
+D               'D'     '3'     'd'     'D'     '5'     0x00
+E               'E'     '3'     'e'     'E'     '2'     0x0301
+F               'F'     '3'     'f'     'F'     '6'     0x00A5
+G               'G'     '4'     'g'     'G'     '-'     '_'
+H               'H'     '4'     'h'     'H'     '['     '{'
+I               'I'     '4'     'i'     'I'     '$'     0x0302
+J               'J'     '5'     'j'     'J'     ']'     '}'
+K               'K'     '5'     'k'     'K'     '"'     '~'
+L               'L'     '5'     'l'     'L'     '''     '`'
+M               'M'     '6'     'm'     'M'     '!'     0x00
+N               'N'     '6'     'n'     'N'     '>'     0x0303
+O               'O'     '6'     'o'     'O'     '('     0x00
+P               'P'     '7'     'p'     'P'     ')'     0x00
+Q               'Q'     '7'     'q'     'Q'     '*'     0x0300
+R               'R'     '7'     'r'     'R'     '3'     0x20AC
+S               'S'     '7'     's'     'S'     '4'     0x00DF
+T               'T'     '8'     't'     'T'     '+'     0x00A3
+U               'U'     '8'     'u'     'U'     '&'     0x0308
+V               'V'     '8'     'v'     'V'     '='     '^'
+W               'W'     '9'     'w'     'W'     '1'     0x00
+X               'X'     '9'     'x'     'X'     '8'     0xEF00
+Y               'Y'     '9'     'y'     'Y'     '%'     0x00A1
+Z               'Z'     '9'     'z'     'Z'     '7'     0x00
+
+# on pc keyboards
+COMMA           ','     ','     ','     '<'     ';'     '|'
+PERIOD          '.'     '.'     '.'     '>'     ':'     0x2026
+SLASH           '/'     '/'     '/'     '?'     '?'     '\'
+
+SPACE           0x20    0x20    0x20    0x20    0x9     0x9
+ENTER           0xa     0xa     0xa     0xa     0xa     0xa
+
+TAB             0x9     0x9     0x9     0x9     0x9     0x9
+0               '0'     '0'     '0'     '0'     ')'     ')'
+1               '1'     '1'     '1'     '!'     '!'     '!'
+2               '2'     '2'     '2'     '"'     '@'     '@'
+3               '3'     '3'     '3'     '#'     '#'     '#'
+4               '4'     '4'     '4'     '$'     '$'     '$'
+5               '5'     '5'     '5'     '%'     '%'     '%'
+6               '6'     '6'     '6'     '&'     '^'     '^'
+7               '7'     '7'     '7'     '''     '&'     '&'
+8               '8'     '8'     '8'     '('     '*'     '*'
+9               '9'     '9'     '9'     ')'     '('     '('
+
+GRAVE           '`'     '`'     '`'     '~'     '`'     '~'
+MINUS           '-'     '-'     '-'     '='     '-'     '_'
+EQUALS          '^'     '^'     '^'     '~'     '^'     '+'
+AT              '@'     '@'     '@'     '`'     '@'     '@'
+LEFT_BRACKET    '['     '['     '['     '{'     '['     '{'
+RIGHT_BRACKET   ']'     ']'     ']'     '}'     ']'     '|'
+SEMICOLON       ';'     ';'     ';'     '+'     ';'     ':'
+STAR            ':'     ':'     ':'     '*'     ':'     ':'
+POUND           '#'     '#'     '#'     '#'     '#'     '#'
+BACKSLASH       '\'     '\'     '\'     '_'     '\'     '\'
+PLUS            '+'     '+'     '+'     '+'     '+'     '+'
+MORE_KEY        0xA5    0xA5    0xA5    '|'     0xA5    0xA5
diff --git a/target/board/generic_x86/keymaps/jp.kl b/target/board/generic_x86/keymaps/jp.kl
new file mode 100644 (file)
index 0000000..9584913
--- /dev/null
@@ -0,0 +1,102 @@
+key 41    GRAVE
+key 2     1
+key 3     2
+key 4     3
+key 5     4
+key 6     5
+key 7     6
+key 8     7
+key 9     8
+key 10    9
+key 11    0
+key 1     BACK              WAKE_DROPPED
+key 230   SOFT_RIGHT        WAKE
+key 60    SOFT_RIGHT        WAKE
+key 107   ENDCALL           WAKE_DROPPED
+key 62    ENDCALL           WAKE_DROPPED
+key 64    ENDCALL           WAKE_DROPPED
+key 127   MENU         WAKE_DROPPED
+key 139   MENU         WAKE_DROPPED
+key 228   POUND
+key 227   STAR
+key 231   CALL              WAKE_DROPPED
+key 61    CALL              WAKE_DROPPED
+key 221   DPAD_CENTER       WAKE_DROPPED
+key 108   DPAD_DOWN         WAKE_DROPPED
+key 103   DPAD_UP           WAKE_DROPPED
+key 125   HOME              WAKE
+key 105   DPAD_LEFT         WAKE_DROPPED
+key 106   DPAD_RIGHT        WAKE_DROPPED
+
+key 113   VOLUME_MUTE
+key 114   VOLUME_DOWN
+key 115   VOLUME_UP
+key 116   POWER             WAKE
+key 211   FOCUS
+key 212   CAMERA
+key 238   WIFI
+key 142   SLEEP
+
+key 16    Q
+key 17    W
+key 18    E
+key 19    R
+key 20    T
+key 21    Y
+key 22    U
+key 23    I
+key 24    O
+key 25    P
+key 26    AT
+key 27    LEFT_BRACKET
+key 43    RIGHT_BRACKET
+
+key 30    A
+key 31    S
+key 32    D
+key 33    F
+key 34    G
+key 35    H
+key 36    J
+key 37    K
+key 38    L
+key 39    SEMICOLON
+key 40    STAR
+key 14    DEL
+
+key 44    Z
+key 45    X
+key 46    C
+key 47    V
+key 48    B
+key 49    N
+key 50    M
+key 51    COMMA
+key 52    PERIOD
+key 53    SLASH
+key 89    BACKSLASH
+key 28    ENTER
+
+key 56    ALT_LEFT
+key 42    SHIFT_LEFT
+key 54    SHIFT_RIGHT
+key 15    TAB
+key 57    SPACE
+key 150   EXPLORER
+key 155   ENVELOPE
+
+key 12    MINUS
+key 13    EQUALS
+key 215   AT
+
+key 75    BACK              WAKE_DROPPED
+key 77    SOFT_RIGHT        WAKE
+key 96    ENTER
+key 100   ALT_RIGHT
+key 102   HOME              WAKE
+key 104   PAGE_UP
+key 109   PAGE_DOWN
+key 29    CTRL_LEFT
+key 97    CTRL_RIGHT
+key 58    CAPS_LOCK         CAPS_LOCK
+key 124   MORE_KEY
diff --git a/target/board/generic_x86/keymaps/qwerty.kcm b/target/board/generic_x86/keymaps/qwerty.kcm
new file mode 100644 (file)
index 0000000..71c3972
--- /dev/null
@@ -0,0 +1,64 @@
+[type=QWERTY]
+
+# keycode       display number  base    caps    fn      caps_fn
+
+A               'A'     '2'     'a'     'A'     '#'     0x00
+B               'B'     '2'     'b'     'B'     '<'     0x00
+C               'C'     '2'     'c'     'C'     '9'     0x00E7
+D               'D'     '3'     'd'     'D'     '5'     0x00
+E               'E'     '3'     'e'     'E'     '2'     0x0301
+F               'F'     '3'     'f'     'F'     '6'     0x00A5
+G               'G'     '4'     'g'     'G'     '-'     '_'
+H               'H'     '4'     'h'     'H'     '['     '{'
+I               'I'     '4'     'i'     'I'     '$'     0x0302
+J               'J'     '5'     'j'     'J'     ']'     '}'
+K               'K'     '5'     'k'     'K'     '"'     '~'
+L               'L'     '5'     'l'     'L'     '''     '`'
+M               'M'     '6'     'm'     'M'     '!'     0x00
+N               'N'     '6'     'n'     'N'     '>'     0x0303
+O               'O'     '6'     'o'     'O'     '('     0x00
+P               'P'     '7'     'p'     'P'     ')'     0x00
+Q               'Q'     '7'     'q'     'Q'     '*'     0x0300
+R               'R'     '7'     'r'     'R'     '3'     0x20AC
+S               'S'     '7'     's'     'S'     '4'     0x00DF
+T               'T'     '8'     't'     'T'     '+'     0x00A3
+U               'U'     '8'     'u'     'U'     '&'     0x0308
+V               'V'     '8'     'v'     'V'     '='     '^'
+W               'W'     '9'     'w'     'W'     '1'     0x00
+X               'X'     '9'     'x'     'X'     '8'     0xEF00
+Y               'Y'     '9'     'y'     'Y'     '%'     0x00A1
+Z               'Z'     '9'     'z'     'Z'     '7'     0x00
+
+# on pc keyboards
+COMMA           ','     ','     ','     '<'     ';'     '|'
+PERIOD          '.'     '.'     '.'     '>'     ':'     0x2026
+AT              '@'     '0'     '@'     '0'     '0'     0x2022
+SLASH           '/'     '/'     '/'     '?'     '?'     '\'
+
+SPACE           0x20    0x20    0x20    0x20    0x9     0x9
+ENTER           0xa     0xa     0xa     0xa     0xa     0xa
+
+TAB             0x9     0x9     0x9     0x9     0x9     0x9
+0               '0'     '0'     '0'     ')'     ')'     ')'
+1               '1'     '1'     '1'     '!'     '!'     '!'
+2               '2'     '2'     '2'     '@'     '@'     '@'
+3               '3'     '3'     '3'     '#'     '#'     '#'
+4               '4'     '4'     '4'     '$'     '$'     '$'
+5               '5'     '5'     '5'     '%'     '%'     '%'
+6               '6'     '6'     '6'     '^'     '^'     '^'
+7               '7'     '7'     '7'     '&'     '&'     '&'
+8               '8'     '8'     '8'     '*'     '*'     '*'
+9               '9'     '9'     '9'     '('     '('     '('
+
+GRAVE           '`'     '`'     '`'     '~'     '`'     '~'
+MINUS           '-'     '-'     '-'     '_'     '-'     '_'
+EQUALS          '='     '='     '='     '+'     '='     '+'
+LEFT_BRACKET    '['     '['     '['     '{'     '['     '{'
+RIGHT_BRACKET   ']'     ']'     ']'     '}'     ']'     '}'
+BACKSLASH       '\'     '\'     '\'     '|'     '\'     '|'
+SEMICOLON       ';'     ';'     ';'     ':'     ';'     ':'
+APOSTROPHE      '''     '''     '''     '"'     '''     '"'
+STAR            '*'     '*'     '*'     '*'     '*'     '*'
+POUND           '#'     '#'     '#'     '#'     '#'     '#'
+PLUS            '+'     '+'     '+'     '+'     '+'     '+'
+
diff --git a/target/board/generic_x86/keymaps/qwerty.kl b/target/board/generic_x86/keymaps/qwerty.kl
new file mode 100644 (file)
index 0000000..a150ab1
--- /dev/null
@@ -0,0 +1,100 @@
+key 41    GRAVE
+key 2     1
+key 3     2
+key 4     3
+key 5     4
+key 6     5
+key 7     6
+key 8     7
+key 9     8
+key 10    9
+key 11    0
+key 1     BACK              WAKE_DROPPED
+key 230   SOFT_RIGHT        WAKE
+key 60    SOFT_RIGHT        WAKE
+key 107   ENDCALL           WAKE_DROPPED
+key 62    ENDCALL           WAKE_DROPPED
+key 64    ENDCALL           WAKE_DROPPED
+key 127   MENU         WAKE_DROPPED
+key 139   MENU         WAKE_DROPPED
+key 228   POUND
+key 227   STAR
+key 231   CALL              WAKE_DROPPED
+key 61    CALL              WAKE_DROPPED
+key 221   DPAD_CENTER       WAKE_DROPPED
+key 108   DPAD_DOWN         WAKE_DROPPED
+key 103   DPAD_UP           WAKE_DROPPED
+key 125   HOME              WAKE
+key 105   DPAD_LEFT         WAKE_DROPPED
+key 106   DPAD_RIGHT        WAKE_DROPPED
+
+key 113   VOLUME_MUTE
+key 114   VOLUME_DOWN
+key 115   VOLUME_UP
+key 116   POWER             WAKE
+key 211   FOCUS
+key 212   CAMERA
+key 238   WIFI
+key 142   SLEEP
+
+key 16    Q
+key 17    W
+key 18    E
+key 19    R
+key 20    T
+key 21    Y
+key 22    U
+key 23    I
+key 24    O
+key 25    P
+key 26    LEFT_BRACKET
+key 27    RIGHT_BRACKET
+key 43    BACKSLASH
+
+key 30    A
+key 31    S
+key 32    D
+key 33    F
+key 34    G
+key 35    H
+key 36    J
+key 37    K
+key 38    L
+key 39    SEMICOLON
+key 40    APOSTROPHE
+key 14    DEL
+
+key 44    Z
+key 45    X
+key 46    C
+key 47    V
+key 48    B
+key 49    N
+key 50    M
+key 51    COMMA
+key 52    PERIOD
+key 53    SLASH
+key 28    ENTER
+
+key 56    ALT_LEFT
+key 42    SHIFT_LEFT
+key 54    SHIFT_RIGHT
+key 15    TAB
+key 57    SPACE
+key 150   EXPLORER
+key 155   ENVELOPE
+
+key 12    MINUS
+key 13    EQUALS
+key 215   AT
+
+key 75    BACK              WAKE_DROPPED
+key 77    SOFT_RIGHT        WAKE
+key 96    ENTER
+key 100   ALT_RIGHT
+key 102   HOME              WAKE
+key 104   PAGE_UP
+key 109   PAGE_DOWN
+key 29    CTRL_LEFT
+key 97    CTRL_RIGHT
+key 58    CAPS_LOCK         CAPS_LOCK
diff --git a/target/board/generic_x86/keymaps/ru.kcm b/target/board/generic_x86/keymaps/ru.kcm
new file mode 100644 (file)
index 0000000..e9b3922
--- /dev/null
@@ -0,0 +1,64 @@
+[type=QWERTY]
+
+# keycode       display number  base       caps       fn      caps_fn
+
+A               'A'     '2'     0x0444     0x0424     '#'     0x00
+B               'B'     '2'     0x0438     0x0418     '<'     0x00
+C               'C'     '2'     0x0441     0x0421     '9'     0x00E7
+D               'D'     '3'     0x0432     0x0412     '5'     0x00
+E               'E'     '3'     0x0443     0x0423     '2'     0x0301
+F               'F'     '3'     0x0430     0x0410     '6'     0x00A5
+G               'G'     '4'     0x043F     0x041F     '-'     '_'
+H               'H'     '4'     0x0440     0x0420     '['     '{'
+I               'I'     '4'     0x0448     0x0428     '$'     0x0302
+J               'J'     '5'     0x043E     0x041E     ']'     '}'
+K               'K'     '5'     0x043B     0x041B     '"'     '~'
+L               'L'     '5'     0x0434     0x0414     '''     '`'
+M               'M'     '6'     0x044C     0x042C     '!'     0x00
+N               'N'     '6'     0x0442     0x0422     '>'     0x0303
+O               'O'     '6'     0x0449     0x0429     '('     0x00
+P               'P'     '7'     0x0437     0x0417     ')'     0x00
+Q               'Q'     '7'     0x0439     0x0419     '*'     0x0300
+R               'R'     '7'     0x043A     0x041A     '3'     0x20AC
+S               'S'     '7'     0x044B     0x042B     '4'     0x00DF
+T               'T'     '8'     0x0435     0x0415     '+'     0x00A3
+U               'U'     '8'     0x0433     0x0413     '&'     0x0308
+V               'V'     '8'     0x043C     0x041C     '='     '^'
+W               'W'     '9'     0x0446     0x0426     '1'     0x00
+X               'X'     '9'     0x0447     0x0427     '8'     0xEF00
+Y               'Y'     '9'     0x043D     0x041D     '%'     0x00A1
+Z               'Z'     '9'     0x044F     0x042F     '7'     0x00
+
+# on pc keyboards
+COMMA           ','     ','     0x0431     0x0411     ';'     '|'
+PERIOD          '.'     '.'     0x044E     0x042E     ':'     0x2026
+AT              '@'     '0'     '@'     '0'     '0'     0x2022
+SLASH           '/'     '/'     '.'     ','     '?'     '\'
+
+SPACE           0x20    0x20    0x20    0x20    0x9     0x9
+ENTER           0xa     0xa     0xa     0xa     0xa     0xa
+
+TAB             0x9     0x9     0x9     0x9     0x9     0x9
+0               '0'     '0'     '0'     ')'     ')'     ')'
+1               '1'     '1'     '1'     '!'     '!'     '!'
+2               '2'     '2'     '2'     '"'     '@'     '@'
+3               '3'     '3'     '3'     0x2116     '#'     '#'
+4               '4'     '4'     '4'     ';'     '$'     '$'
+5               '5'     '5'     '5'     '%'     '%'     '%'
+6               '6'     '6'     '6'     ':'     '^'     '^'
+7               '7'     '7'     '7'     '?'     '&'     '&'
+8               '8'     '8'     '8'     '*'     '*'     '*'
+9               '9'     '9'     '9'     '('     '('     '('
+
+GRAVE           '`'     '`'     0x0451     0x0401     '`'     '~'
+MINUS           '-'     '-'     '-'     '_'     '-'     '_'
+EQUALS          '='     '='     '='     '+'     '='     '+'
+LEFT_BRACKET    '['     '['     0x0445     0x0425     '['     '{'
+RIGHT_BRACKET   ']'     ']'     0x044A     0x042A     ']'     '}'
+BACKSLASH       '\'     '\'     '\'     '/'     '\'     '|'
+SEMICOLON       ';'     ';'     0x0436     0x0416     ';'     ':'
+APOSTROPHE      '''     '''     0x044D     0x042D     '''     '"'
+STAR            '*'     '*'     '*'     '*'     '*'     '*'
+POUND           '#'     '#'     '#'     '#'     '#'     '#'
+PLUS            '+'     '+'     '+'     '+'     '+'     '+'
+MORE_KEY        '\'     '\'     '\'     '|'     '|'     '|'
diff --git a/target/board/generic_x86/keymaps/ru.kl b/target/board/generic_x86/keymaps/ru.kl
new file mode 100644 (file)
index 0000000..c249e3f
--- /dev/null
@@ -0,0 +1,100 @@
+key 41    GRAVE
+key 2     1
+key 3     2
+key 4     3
+key 5     4
+key 6     5
+key 7     6
+key 8     7
+key 9     8
+key 10    9
+key 11    0
+key 1     BACK              WAKE_DROPPED
+key 230   SOFT_RIGHT        WAKE
+key 60    SOFT_RIGHT        WAKE
+key 107   ENDCALL           WAKE_DROPPED
+key 62    ENDCALL           WAKE_DROPPED
+key 64    ENDCALL           WAKE_DROPPED
+key 127   MENU         WAKE_DROPPED
+key 139   MENU         WAKE_DROPPED
+key 228   POUND
+key 227   STAR
+key 231   CALL              WAKE_DROPPED
+key 61    CALL              WAKE_DROPPED
+key 221   DPAD_CENTER       WAKE_DROPPED
+key 108   DPAD_DOWN         WAKE_DROPPED
+key 103   DPAD_UP           WAKE_DROPPED
+key 125   HOME              WAKE
+key 105   DPAD_LEFT         WAKE_DROPPED
+key 106   DPAD_RIGHT        WAKE_DROPPED
+key 113   VOLUME_MUTE
+key 114   VOLUME_DOWN
+key 115   VOLUME_UP
+key 116   POWER             WAKE
+key 211   FOCUS
+key 212   CAMERA
+key 238   WIFI
+key 142   SLEEP
+
+key 16    Q
+key 17    W
+key 18    E
+key 19    R
+key 20    T
+key 21    Y
+key 22    U
+key 23    I
+key 24    O
+key 25    P
+key 26    LEFT_BRACKET
+key 27    RIGHT_BRACKET
+key 43    BACKSLASH
+
+key 30    A
+key 31    S
+key 32    D
+key 33    F
+key 34    G
+key 35    H
+key 36    J
+key 37    K
+key 38    L
+key 39    SEMICOLON
+key 40    APOSTROPHE
+key 14    DEL
+
+key 44    Z
+key 45    X
+key 46    C
+key 47    V
+key 48    B
+key 49    N
+key 50    M
+key 51    COMMA
+key 52    PERIOD
+key 53    SLASH
+key 28    ENTER
+
+key 56    ALT_LEFT
+key 42    SHIFT_LEFT
+key 54    SHIFT_RIGHT
+key 15    TAB
+key 57    SPACE
+key 150   EXPLORER
+key 155   ENVELOPE
+
+key 12    MINUS
+key 13    EQUALS
+key 215   AT
+
+key 75    BACK              WAKE_DROPPED
+key 77    SOFT_RIGHT        WAKE
+key 96    ENTER
+key 100   ALT_RIGHT
+key 102   HOME              WAKE
+key 104   PAGE_UP
+key 109   PAGE_DOWN
+key 29    CTRL_LEFT
+key 97    CTRL_RIGHT
+key 58    CAPS_LOCK         CAPS_LOCK
+key 86    MORE_KEY
diff --git a/target/board/generic_x86/keymaps/uk.kcm b/target/board/generic_x86/keymaps/uk.kcm
new file mode 100644 (file)
index 0000000..065e810
--- /dev/null
@@ -0,0 +1,64 @@
+[type=QWERTY]
+
+# keycode       display number  base    caps    fn      caps_fn
+
+A               'A'     '2'     'a'     'A'     0x00E1  0x00C1
+B               'B'     '2'     'b'     'B'     '<'     0x00
+C               'C'     '2'     'c'     'C'     '9'     0x00E7
+D               'D'     '3'     'd'     'D'     '5'     0x00
+E               'E'     '3'     'e'     'E'     0x00E9  0x00C9
+F               'F'     '3'     'f'     'F'     '6'     0x00A5
+G               'G'     '4'     'g'     'G'     '-'     '_'
+H               'H'     '4'     'h'     'H'     '['     '{'
+I               'I'     '4'     'i'     'I'     0x00ED  0x00CD
+J               'J'     '5'     'j'     'J'     ']'     '}'
+K               'K'     '5'     'k'     'K'     '"'     '~'
+L               'L'     '5'     'l'     'L'     '''     '`'
+M               'M'     '6'     'm'     'M'     '!'     0x00
+N               'N'     '6'     'n'     'N'     '>'     0x0303
+O               'O'     '6'     'o'     'O'     0x00F3  0x00D3
+P               'P'     '7'     'p'     'P'     ')'     0x00
+Q               'Q'     '7'     'q'     'Q'     '*'     0x0300
+R               'R'     '7'     'r'     'R'     '3'     0x20AC
+S               'S'     '7'     's'     'S'     '4'     0x00DF
+T               'T'     '8'     't'     'T'     '+'     0x00A3
+U               'U'     '8'     'u'     'U'     0x00FA  0x00DA
+V               'V'     '8'     'v'     'V'     '='     '^'
+W               'W'     '9'     'w'     'W'     '1'     0x00
+X               'X'     '9'     'x'     'X'     '8'     0xEF00
+Y               'Y'     '9'     'y'     'Y'     '%'     0x00A1
+Z               'Z'     '9'     'z'     'Z'     '7'     0x00
+
+# on pc keyboards
+COMMA           ','     ','     ','     '<'     ';'     '|'
+PERIOD          '.'     '.'     '.'     '>'     ':'     0x2026
+AT              '@'     '0'     '@'     '0'     '0'     0x2022
+SLASH           '/'     '/'     '/'     '?'     '?'     '\'
+
+SPACE           0x20    0x20    0x20    0x20    0x9     0x9
+ENTER           0xa     0xa     0xa     0xa     0xa     0xa
+
+TAB             0x9     0x9     0x9     0x9     0x9     0x9
+0               '0'     '0'     '0'     ')'     ')'     ')'
+1               '1'     '1'     '1'     '!'     '!'     '!'
+2               '2'     '2'     '2'     '"'     '@'     '@'
+3           '3'   '3'   '3'   0x00A3  '#'     '#'
+4           '4'   '4'   '4'   '$'     0x20AC  '$'
+5               '5'     '5'     '5'     '%'     '%'     '%'
+6               '6'     '6'     '6'     '^'     '^'     '^'
+7               '7'     '7'     '7'     '&'     '&'     '&'
+8               '8'     '8'     '8'     '*'     '*'     '*'
+9               '9'     '9'     '9'     '('     '('     '('
+
+GRAVE           '`'     '`'     '`'     0x00AC  0x00A6  0x00A6
+MINUS           '-'     '-'     '-'     '_'     '-'     '_'
+EQUALS          '='     '='     '='     '+'     '='     '+'
+LEFT_BRACKET    '['     '['     '['     '{'     '['     '{'
+RIGHT_BRACKET   ']'     ']'     ']'     '}'     ']'     '}'
+BACKSLASH       '\'     '\'     '#'     '~'     '\'     '|'
+SEMICOLON       ';'     ';'     ';'     ':'     ';'     ':'
+APOSTROPHE      '''     '''     '''     '@'     '''     '"'
+STAR            '*'     '*'     '*'     '*'     '*'     '*'
+POUND           '#'     '#'     '#'     '#'     '#'     '#'
+PLUS            '+'     '+'     '+'     '+'     '+'     '+'
+MORE_KEY        '\'     '\'     '\'     '|'     '|'     '|'
diff --git a/target/board/generic_x86/keymaps/uk.kl b/target/board/generic_x86/keymaps/uk.kl
new file mode 100644 (file)
index 0000000..b52527b
--- /dev/null
@@ -0,0 +1,99 @@
+key 41    GRAVE
+key 2     1
+key 3     2
+key 4     3
+key 5     4
+key 6     5
+key 7     6
+key 8     7
+key 9     8
+key 10    9
+key 11    0
+key 1     BACK              WAKE_DROPPED
+key 230   SOFT_RIGHT        WAKE
+key 60    SOFT_RIGHT        WAKE
+key 107   ENDCALL           WAKE_DROPPED
+key 62    ENDCALL           WAKE_DROPPED
+key 64    ENDCALL           WAKE_DROPPED
+key 127   MENU         WAKE_DROPPED
+key 139   MENU         WAKE_DROPPED
+key 228   POUND
+key 227   STAR
+key 231   CALL              WAKE_DROPPED
+key 61    CALL              WAKE_DROPPED
+key 221   DPAD_CENTER       WAKE_DROPPED
+key 108   DPAD_DOWN         WAKE_DROPPED
+key 103   DPAD_UP           WAKE_DROPPED
+key 125   HOME              WAKE
+key 105   DPAD_LEFT         WAKE_DROPPED
+key 106   DPAD_RIGHT        WAKE_DROPPED
+key 113   VOLUME_MUTE
+key 114   VOLUME_DOWN
+key 115   VOLUME_UP
+key 116   POWER             WAKE
+key 211   FOCUS
+key 212   CAMERA
+key 238   WIFI
+key 142   SLEEP
+
+key 16    Q
+key 17    W
+key 18    E
+key 19    R
+key 20    T
+key 21    Y
+key 22    U
+key 23    I
+key 24    O
+key 25    P
+key 26    LEFT_BRACKET
+key 27    RIGHT_BRACKET
+key 43    BACKSLASH
+
+key 30    A
+key 31    S
+key 32    D
+key 33    F
+key 34    G
+key 35    H
+key 36    J
+key 37    K
+key 38    L
+key 39    SEMICOLON
+key 40    APOSTROPHE
+key 14    DEL
+
+key 44    Z
+key 45    X
+key 46    C
+key 47    V
+key 48    B
+key 49    N
+key 50    M
+key 51    COMMA
+key 52    PERIOD
+key 53    SLASH
+key 28    ENTER
+
+key 56    ALT_LEFT
+key 42    SHIFT_LEFT
+key 15    TAB
+key 57    SPACE
+key 150   EXPLORER
+key 155   ENVELOPE
+
+key 12    MINUS
+key 13    EQUALS
+key 215   AT
+
+key 75    BACK              WAKE_DROPPED
+key 77    SOFT_RIGHT        WAKE
+key 96    ENTER
+key 100   ALT_RIGHT
+key 102   HOME              WAKE
+key 104   PAGE_UP
+key 109   PAGE_DOWN
+key 29    CTRL_LEFT
+key 97    CTRL_RIGHT
+key 58    CAPS_LOCK         CAPS_LOCK
+key 86    MORE_KEY
index 1bf3c3f..c40cea7 100644 (file)
@@ -27,6 +27,7 @@
 
 PRODUCT_MAKEFILES := \
     $(LOCAL_DIR)/generic.mk \
+    $(LOCAL_DIR)/generic_x86.mk \
     $(LOCAL_DIR)/min_dev.mk \
     $(LOCAL_DIR)/sdk.mk \
     $(LOCAL_DIR)/sim.mk \
diff --git a/target/product/generic_x86.mk b/target/product/generic_x86.mk
new file mode 100644 (file)
index 0000000..5871ef8
--- /dev/null
@@ -0,0 +1,29 @@
+# This is a generic product that isn't specialized for a specific device.
+# It includes the base Android-x86 platform.
+
+PRODUCT_PACKAGES := \
+    GlobalTime \
+    JETBoy \
+    LunarLander \
+    NotePad \
+    PinyinIME \
+    RSSReader \
+    Snake
+
+THIRD_PARTY_APPS = \
+    ConnectBot \
+    FileManager \
+
+
+$(call inherit-product,$(SRC_TARGET_DIR)/product/generic.mk)
+
+# Overrides
+PRODUCT_BRAND := generic_x86
+PRODUCT_DEVICE := generic_x86
+PRODUCT_NAME := generic_x86
+PRODUCT_POLICY := android.policy_mid
+PRODUCT_PROPERTY_OVERRIDES += \
+       ro.com.android.dataroaming=true
+
+GENERIC_X86_CONFIG_MK := $(SRC_TARGET_DIR)/board/generic_x86/BoardConfig.mk
+GENERIC_X86_ANDROID_MK := $(SRC_TARGET_DIR)/board/generic_x86/AndroidBoard.mk