summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2012-03-04 14:35:35 +0000
committerdakkar <dakkar@thenautilus.net>2012-03-04 14:35:35 +0000
commit4367bc91c065ee41eba2f0c718e576808e9a59dd (patch)
tree5c44989bc38d58a663a26cefe10c67e9976a8196
parentupdate (Prime 2.0.2) (diff)
downloadtf101-dvorak-keyboard-4367bc91c065ee41eba2f0c718e576808e9a59dd.tar.gz
tf101-dvorak-keyboard-4367bc91c065ee41eba2f0c718e576808e9a59dd.tar.bz2
tf101-dvorak-keyboard-4367bc91c065ee41eba2f0c718e576808e9a59dd.zip
update from ICS 4.0.0
Revolver, actually
-rw-r--r--keylayout/Bluetooth_00_06_66_42.kl51
-rw-r--r--keylayout/Generic.kl31
-rw-r--r--keylayout/Vendor_044f_Product_d007.kl57
-rw-r--r--keylayout/Vendor_045e_Product_028e.kl32
-rw-r--r--keylayout/Vendor_045e_Product_0719.kl60
-rw-r--r--keylayout/Vendor_046d_Product_c216.kl29
-rw-r--r--keylayout/Vendor_046d_Product_c21d.kl61
-rw-r--r--keylayout/Vendor_046d_Product_c21f.kl61
-rw-r--r--keylayout/Vendor_054c_Product_0268.kl23
-rw-r--r--keylayout/Vendor_057e_Product_0306.kl106
-rw-r--r--keylayout/gpio-keys.kl4
-rw-r--r--xt9/config/databases.conf49
-rw-r--r--xt9/databases/kdb/azerty.french.center.kdbbin17550 -> 29753 bytes
-rw-r--r--xt9/databases/kdb/qwerty.danish.center.kdbbin0 -> 29674 bytes
-rw-r--r--xt9/databases/kdb/qwerty.english.center.kdbbin17550 -> 9458 bytes
-rw-r--r--xt9/databases/kdb/qwerty.farsi.center.kdbbin33410 -> 34142 bytes
-rw-r--r--xt9/databases/kdb/qwerty.finish.center.kdbbin0 -> 29674 bytes
-rw-r--r--xt9/databases/kdb/qwerty.norwegian.center.kdbbin0 -> 29674 bytes
-rw-r--r--xt9/databases/kdb/qwerty.swedish.center.kdbbin0 -> 29674 bytes
-rw-r--r--xt9/databases/kdb/qwertz.german.center.kdbbin17550 -> 9458 bytes
-rw-r--r--xt9/databases/kdb/reduced_azerty.french.center.kdbbin0 -> 28228 bytes
21 files changed, 493 insertions, 71 deletions
diff --git a/keylayout/Bluetooth_00_06_66_42.kl b/keylayout/Bluetooth_00_06_66_42.kl
new file mode 100644
index 0000000..9bed238
--- /dev/null
+++ b/keylayout/Bluetooth_00_06_66_42.kl
@@ -0,0 +1,51 @@
+# Copyright (C) 2011 The Android 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
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# iControlPad controller.
+# Buttons A and X on this contoller have inverse placement,
+# compared to layout on reference controllers (Xbox 360, Logitech F710, ...).
+#
+# NVIDIA Normalized Gamepad
+
+# Button "A" maps to BUTTON_X due to unusual placement.
+key 0x13b BUTTON_X
+# Button "B" maps as expected.
+key 0x13d BUTTON_B
+# Button "X" maps to BUTTON_A due to unusual placement.
+key 0x13c BUTTON_A
+# Button "Y" maps as expected.
+key 0x13a BUTTON_Y
+# Shoulder buttons "L" and "R" are on the bottom of the controller.
+# They both map as expected.
+key 0x134 BUTTON_L1
+key 0x13e BUTTON_R1
+# Button "SELECT" maps to BACK.
+key 0x138 BACK
+# Button "START" maps to BUTTON_START.
+key 0x139 BUTTON_START
+
+# D-pad is reported as digital.
+key 0x130 DPAD_UP
+key 0x131 DPAD_RIGHT
+key 0x132 DPAD_LEFT
+key 0x133 DPAD_DOWN
+
+# Both analog control sticks have range from -128 to 127.
+# Left analog control stick.
+axis 0x00 X
+axis 0x01 Y
+# Right analog control stick.
+axis 0x02 Z
+axis 0x05 RZ
diff --git a/keylayout/Generic.kl b/keylayout/Generic.kl
index ce10504..ae84c92 100644
--- a/keylayout/Generic.kl
+++ b/keylayout/Generic.kl
@@ -105,7 +105,7 @@ key 82 NUMPAD_0
key 83 NUMPAD_DOT
# key 84 (undefined)
# key 85 "KEY_ZENKAKUHANKAKU"
-# key 86 "KEY_102ND"
+key 86 BACKSLASH
key 87 F11
key 88 F12
# key 89 "KEY_RO"
@@ -159,10 +159,10 @@ key 128 MEDIA_STOP
# key 137 "KEY_CUT"
# key 138 "KEY_HELP"
key 139 MENU WAKE_DROPPED
-# key 140 "KEY_CALC"
+key 140 CALCULATOR
# key 141 "KEY_SETUP"
-# key 142 "KEY_SLEEP"
-# key 143 "KEY_WAKEUP"
+key 142 POWER WAKE
+key 143 POWER WAKE
# key 144 "KEY_FILE"
# key 145 "KEY_SENDFILE"
# key 146 "KEY_DELETEFILE"
@@ -171,7 +171,7 @@ key 139 MENU WAKE_DROPPED
# key 149 "KEY_PROG2"
key 150 EXPLORER
# key 151 "KEY_MSDOS"
-# key 152 "KEY_COFFEE"
+key 152 POWER WAKE
# key 153 "KEY_DIRECTION"
# key 154 "KEY_CYCLEWINDOWS"
key 155 ENVELOPE
@@ -190,7 +190,7 @@ key 167 MEDIA_RECORD
key 168 MEDIA_REWIND
key 169 CALL
# key 170 "KEY_ISO"
-# key 171 "KEY_CONFIG"
+key 171 MUSIC
key 172 HOME
# key 173 "KEY_REFRESH"
# key 174 "KEY_EXIT"
@@ -232,7 +232,7 @@ key 208 MEDIA_FAST_FORWARD
# key 210 "KEY_PRINT"
# key 211 "KEY_HP"
key 212 CAMERA
-# key 213 "KEY_SOUND"
+key 213 MUSIC
# key 214 "KEY_QUESTION"
key 215 ENVELOPE
# key 216 "KEY_CHAT"
@@ -246,20 +246,6 @@ key 217 SEARCH
# key 224 "KEY_BRIGHTNESSDOWN"
# key 225 "KEY_BRIGHTNESSUP"
key 226 HEADSETHOOK
-key 227 STAR
-key 228 POUND
-key 229 SOFT_LEFT
-key 230 SOFT_RIGHT
-key 231 CALL
-key 232 DPAD_CENTER
-key 233 HEADSETHOOK
-# key 234 "KEY_0_5" or "KEY_SAVE"
-# key 235 "KEY_2_5" or "KEY_DOCUMENTS"
-# key 236 "KEY_SWITCHVIDEOMODE" or "KEY_BATTERY"
-# key 237 "KEY_KBDILLUMTOGGLE"
-# key 238 "KEY_KBDILLUMDOWN"
-# key 239 "KEY_KBDILLUMUP"
-# key 240 "KEY_UNKNOWN"
key 256 BUTTON_1
key 257 BUTTON_2
@@ -358,7 +344,7 @@ key 377 TV
# key 394 "KEY_DIRECTORY"
# key 395 "KEY_LIST"
# key 396 "KEY_MEMO"
-# key 397 "KEY_CALENDAR"
+key 397 CALENDAR
# key 398 "KEY_RED"
# key 399 "KEY_GREEN"
# key 400 "KEY_YELLOW"
@@ -378,6 +364,7 @@ key 403 CHANNEL_DOWN
# key 414 "KEY_TEEN"
# key 415 "KEY_TWEN"
+key 429 CONTACTS
# key 448 "KEY_DEL_EOL"
# key 449 "KEY_DEL_EOS"
diff --git a/keylayout/Vendor_044f_Product_d007.kl b/keylayout/Vendor_044f_Product_d007.kl
new file mode 100644
index 0000000..c6c8633
--- /dev/null
+++ b/keylayout/Vendor_044f_Product_d007.kl
@@ -0,0 +1,57 @@
+# Copyright (C) 2011 The Android 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
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Thrustmaster T Mini Wireless
+#
+# NVIDIA Normalized Gamepad
+
+# Button "1-square" maps to BUTTON_X.
+key 0x130 BUTTON_X
+# Button "2-cross" maps to BUTTON_A.
+key 0x131 BUTTON_A
+# Button "3-circle" maps to BUTTON_B.
+key 0x132 BUTTON_B
+# Button "4-triangle" maps to BUTTON_Y.
+key 0x133 BUTTON_Y
+# Button "5-L1" maps to BUTTON_L1.
+key 0x134 BUTTON_L1
+# Button "6-R1" maps to BUTTON_R1.
+key 0x135 BUTTON_R1
+# Button "7-L2" maps to BUTTON_L2.
+key 0x136 BUTTON_L2
+# Button "8-R2" maps to BUTTON_R2.
+key 0x137 BUTTON_R2
+# Button "SE" maps to BACK.
+key 0x138 BACK
+# Button "ST" maps to BUTTON_START.
+key 0x139 BUTTON_START
+# Button with home icon maps to HOME.
+key 0x13c HOME
+# These two keycodes are for click (press from above) on analog control sticks.
+key 0x13a BUTTON_THUMBL
+key 0x13b BUTTON_THUMBR
+
+# Left (0x00, 0x01) and right (0x02, 0x05) analog control stick.
+# (Each axis has range from 0 to 255.)
+axis 0x00 X
+axis 0x01 Y
+axis 0x02 Z
+axis 0x05 RZ
+
+# Hat.
+# (D-pad is reported as analog. Each axis has range from -1 to 1.)
+axis 0x10 HAT_X
+axis 0x11 HAT_Y
+
diff --git a/keylayout/Vendor_045e_Product_028e.kl b/keylayout/Vendor_045e_Product_028e.kl
index 99f046a..cdbdca3 100644
--- a/keylayout/Vendor_045e_Product_028e.kl
+++ b/keylayout/Vendor_045e_Product_028e.kl
@@ -15,20 +15,25 @@
#
# XBox 360 USB Controller
#
+# NVIDIA Normalized Gamepad
-key 304 BUTTON_A
-key 305 BUTTON_B
-key 307 BUTTON_X
-key 308 BUTTON_Y
-key 310 BUTTON_L1
-key 311 BUTTON_R1
-key 314 BUTTON_SELECT
-key 315 BUTTON_START
-key 316 BUTTON_MODE
-key 317 BUTTON_THUMBL
-key 318 BUTTON_THUMBR
+key 0x130 BUTTON_A
+key 0x131 BUTTON_B
+key 0x133 BUTTON_X
+key 0x134 BUTTON_Y
+# Button "LB" maps to BUTTON_L1.
+key 0x136 BUTTON_L1
+# Button "RB" maps to BUTTON_R1.
+key 0x137 BUTTON_R1
+key 0x13a BACK
+key 0x13b BUTTON_START
+# Button with Xbox logo maps to HOME.
+key 0x13c HOME
+# These two keycodes are for click (press from above) on analog control sticks.
+key 0x13d BUTTON_THUMBL
+key 0x13e BUTTON_THUMBR
-# Left and right stick.
+# Left (0x00, 0x01) and right (0x03, 0x04) analog control stick.
# The reported value for flat is 128 out of a range from -32767 to 32768, which is absurd.
# This confuses applications that rely on the flat value because the joystick actually
# settles in a flat range of +/- 4096 or so.
@@ -38,9 +43,12 @@ axis 0x03 Z flat 4096
axis 0x04 RZ flat 4096
# Triggers.
+# (Shoulder trigger buttons marked with "LT" and "RT" are analog.
+# Each axis has range from 0 to 255.)
axis 0x02 LTRIGGER
axis 0x05 RTRIGGER
# Hat.
+# (D-pad is reported as analog. Each axis has range from -1 to 1.)
axis 0x10 HAT_X
axis 0x11 HAT_Y
diff --git a/keylayout/Vendor_045e_Product_0719.kl b/keylayout/Vendor_045e_Product_0719.kl
new file mode 100644
index 0000000..990240a
--- /dev/null
+++ b/keylayout/Vendor_045e_Product_0719.kl
@@ -0,0 +1,60 @@
+# Copyright (C) 2011 The Android 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
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# XBox 360 USB Wireless Controller
+# Reports itself as "Xbox 360 Wireless Receiver" and
+# "Microsoft Corp. Xbox 360 Wireless Adapter"
+# Similar in behavior to XBox 360 USB Controller except for the d-pad,
+# which is digital (scan codes instead of axes) on the wireless version.
+#
+# NVIDIA Normalized Gamepad
+
+key 0x130 BUTTON_A
+key 0x131 BUTTON_B
+key 0x133 BUTTON_X
+key 0x134 BUTTON_Y
+# Button "LB" maps to BUTTON_L1.
+key 0x136 BUTTON_L1
+# Button "RB" maps to BUTTON_R1.
+key 0x137 BUTTON_R1
+key 0x13a BACK
+key 0x13b BUTTON_START
+# Button with Xbox logo maps to HOME.
+key 0x13c HOME
+# These two keycodes are for click (press from above) on analog control sticks.
+key 0x13d BUTTON_THUMBL
+key 0x13e BUTTON_THUMBR
+
+# Left (0x00, 0x01) and right (0x03, 0x04) analog control stick.
+# The reported value for flat is 128 out of a range from -32767 to 32768, which is absurd.
+# This confuses applications that rely on the flat value because the joystick actually
+# settles in a flat range of +/- 4096 or so.
+axis 0x00 X flat 4096
+axis 0x01 Y flat 4096
+axis 0x03 Z flat 4096
+axis 0x04 RZ flat 4096
+
+# Triggers.
+# (Shoulder trigger buttons marked with "LT" and "RT" are analog.
+# Each axis has range from 0 to 255.)
+axis 0x02 LTRIGGER
+axis 0x05 RTRIGGER
+
+# Hat.
+# (D-pad is reported as digital. Each direction has a scan code.)
+key 0x2c0 DPAD_LEFT
+key 0x2c1 DPAD_RIGHT
+key 0x2c2 DPAD_UP
+key 0x2c3 DPAD_DOWN
diff --git a/keylayout/Vendor_046d_Product_c216.kl b/keylayout/Vendor_046d_Product_c216.kl
index 6743323..b9d86b1 100644
--- a/keylayout/Vendor_046d_Product_c216.kl
+++ b/keylayout/Vendor_046d_Product_c216.kl
@@ -14,24 +14,43 @@
#
# Logitech Dual Action Controller
+# All buttons map to logical codes correspondent to button layout,
+# using Microsoft X-Box and Logitech F310/F710 as a reference.
#
+# NVIDIA Normalized Gamepad
-key 0x120 BUTTON_A
-key 0x123 BUTTON_B
-key 0x121 BUTTON_X
-key 0x122 BUTTON_Y
+# Button "1" maps to BUTTON_X.
+key 0x120 BUTTON_X
+# Button "2" maps to BUTTON_A.
+key 0x121 BUTTON_A
+# Button "3" maps to BUTTON_B.
+key 0x122 BUTTON_B
+# Button "4" maps to BUTTON_Y.
+key 0x123 BUTTON_Y
+# Button "5" maps to BUTTON_L1.
key 0x124 BUTTON_L1
+# Button "6" maps to BUTTON_R1.
key 0x125 BUTTON_R1
+# Button "7" maps to BUTTON_L2.
key 0x126 BUTTON_L2
+# Button "8" maps to BUTTON_R2.
key 0x127 BUTTON_R2
-key 0x128 BUTTON_SELECT
+# Button "9" maps to BACK.
+key 0x128 BACK
+# Button "10" maps to BUTTON_START.
key 0x129 BUTTON_START
+# These two keycodes are for click (press from above) on analog control sticks.
key 0x12a BUTTON_THUMBL
key 0x12b BUTTON_THUMBR
+# Left (0x00, 0x01) and right (0x02, 0x05) analog control stick.
+# (Each axis has range from 0 to 255.)
axis 0x00 X
axis 0x01 Y
axis 0x02 Z
axis 0x05 RZ
+
+# Hat.
+# (D-pad is reported as analog. Each axis has range from -1 to 1.)
axis 0x10 HAT_X
axis 0x11 HAT_Y
diff --git a/keylayout/Vendor_046d_Product_c21d.kl b/keylayout/Vendor_046d_Product_c21d.kl
new file mode 100644
index 0000000..e9aef57
--- /dev/null
+++ b/keylayout/Vendor_046d_Product_c21d.kl
@@ -0,0 +1,61 @@
+# Copyright (C) 2011 The Android 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
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Logitech Gamepad F310 (USB).
+# Effectively identical (in codes) to Logitech Wireless Gamepad F710.
+# Very similar to XBox 360 controller (with switch in X position).
+# This is due to XInput support in the F310 and F710 controller.
+#
+# NVIDIA Normalized Gamepad
+
+key 0x130 BUTTON_A
+key 0x131 BUTTON_B
+key 0x133 BUTTON_X
+key 0x134 BUTTON_Y
+# Button "LB" maps to BUTTON_L1.
+key 0x136 BUTTON_L1
+# Button "RB" maps to BUTTON_R1.
+key 0x137 BUTTON_R1
+key 0x13a BACK
+key 0x13b BUTTON_START
+# Button with Logitech logo maps to HOME.
+key 0x13c HOME
+# These two keycodes are for click (press from above) on analog control sticks.
+key 0x13d BUTTON_THUMBL
+key 0x13e BUTTON_THUMBR
+
+# Note: Content from here to the end of this file are copied verbatim from
+# correspondent section in the "XBox 360 USB Controller" .kl file.
+
+# Left (0x00, 0x01) and right (0x03, 0x04) analog control stick.
+# The reported value for flat is 128 out of a range from -32767 to 32768, which is absurd.
+# This confuses applications that rely on the flat value because the joystick actually
+# settles in a flat range of +/- 4096 or so.
+axis 0x00 X flat 4096
+axis 0x01 Y flat 4096
+axis 0x03 Z flat 4096
+axis 0x04 RZ flat 4096
+
+# Triggers.
+# (Shoulder trigger buttons marked with "LT" and "RT" are analog.
+# Each axis has range from 0 to 255.)
+axis 0x02 LTRIGGER
+axis 0x05 RTRIGGER
+
+# Hat.
+# (D-pad is reported as analog. Each axis has range from -1 to 1.)
+axis 0x10 HAT_X
+axis 0x11 HAT_Y
+
diff --git a/keylayout/Vendor_046d_Product_c21f.kl b/keylayout/Vendor_046d_Product_c21f.kl
new file mode 100644
index 0000000..132b262
--- /dev/null
+++ b/keylayout/Vendor_046d_Product_c21f.kl
@@ -0,0 +1,61 @@
+# Copyright (C) 2011 The Android 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
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Logitech Wireless Gamepad F710.
+# Effectively identical (in codes) to Logitech Gamepad F310.
+# Very similar to XBox 360 controller (with switch in X position).
+# This is due to XInput support in the F310 and F710 controller.
+#
+# NVIDIA Normalized Gamepad
+
+key 0x130 BUTTON_A
+key 0x131 BUTTON_B
+key 0x133 BUTTON_X
+key 0x134 BUTTON_Y
+# Button "LB" maps to BUTTON_L1.
+key 0x136 BUTTON_L1
+# Button "RB" maps to BUTTON_R1.
+key 0x137 BUTTON_R1
+key 0x13a BACK
+key 0x13b BUTTON_START
+# Button with Logitech logo maps to HOME.
+key 0x13c HOME
+# These two keycodes are for click (press from above) on analog control sticks.
+key 0x13d BUTTON_THUMBL
+key 0x13e BUTTON_THUMBR
+
+# Note: Content from here to the end of this file are copied verbatim from
+# correspondent section in the "XBox 360 USB Controller" .kl file.
+
+# Left (0x00, 0x01) and right (0x03, 0x04) analog control stick.
+# The reported value for flat is 128 out of a range from -32767 to 32768, which is absurd.
+# This confuses applications that rely on the flat value because the joystick actually
+# settles in a flat range of +/- 4096 or so.
+axis 0x00 X flat 4096
+axis 0x01 Y flat 4096
+axis 0x03 Z flat 4096
+axis 0x04 RZ flat 4096
+
+# Triggers.
+# (Shoulder trigger buttons marked with "LT" and "RT" are analog.
+# Each axis has range from 0 to 255.)
+axis 0x02 LTRIGGER
+axis 0x05 RTRIGGER
+
+# Hat.
+# (D-pad is reported as analog. Each axis has range from -1 to 1.)
+axis 0x10 HAT_X
+axis 0x11 HAT_Y
+
diff --git a/keylayout/Vendor_054c_Product_0268.kl b/keylayout/Vendor_054c_Product_0268.kl
index f8ac6a3..cc31980 100644
--- a/keylayout/Vendor_054c_Product_0268.kl
+++ b/keylayout/Vendor_054c_Product_0268.kl
@@ -15,27 +15,34 @@
#
# Sony Playstation(R)3 Controller
#
+# NVIDIA Normalized Gamepad
key 0x124 DPAD_UP
key 0x125 DPAD_RIGHT
key 0x126 DPAD_DOWN
key 0x127 DPAD_LEFT
-key 0x120 BUTTON_SELECT
+# Button "Select" maps to BACK.
+key 0x120 BACK
key 0x123 BUTTON_START
-key 0x12f BUTTON_A
-key 0x12c BUTTON_B
-key 0x12e BUTTON_X
-key 0x12d BUTTON_Y
+# Button with square image maps to BUTTON_X, due to placement analogy.
+key 0x12f BUTTON_X
+# Button with triangle image maps to BUTTON_Y, due to placement analogy.
+key 0x12c BUTTON_Y
+# Button with cross image maps to BUTTON_A, due to placement analogy.
+key 0x12e BUTTON_A
+# Button with circle image maps to BUTTON_B, due to placement analogy.
+key 0x12d BUTTON_B
key 0x12a BUTTON_L1
key 0x12b BUTTON_R1
key 0x128 BUTTON_L2
key 0x129 BUTTON_R2
+# These two keycodes are for click (press from above) on analog sticks.
key 0x121 BUTTON_THUMBL
key 0x122 BUTTON_THUMBR
-# PS key
-key 0x2d0 BUTTON_1
+# Button with PlayStation logo maps to HOME
+key 0x2d0 HOME
# Left Analog Stick
axis 0x00 X
@@ -45,7 +52,7 @@ axis 0x01 Y
axis 0x02 Z
axis 0x05 RZ
-# DPAD
+# D-pad axes
# axis 0x2c -HAT_Y
# axis 0x2d +HAT_X
# axis 0x2e +HAT_Y
diff --git a/keylayout/Vendor_057e_Product_0306.kl b/keylayout/Vendor_057e_Product_0306.kl
new file mode 100644
index 0000000..6b53e14
--- /dev/null
+++ b/keylayout/Vendor_057e_Product_0306.kl
@@ -0,0 +1,106 @@
+# Copyright (C) 2011 The Android 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
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Wii Remote (WiiMote), Nunchuk and Classic Controller.
+# WiiMote and Nunchuck buttons mostly map to codes based on their labels.
+# Classic controller buttons map to mimic Xbox 360 controller layout.
+#
+# NVIDIA Normalized Gamepad
+
+# WiiMote buttons
+# D-pad buttons map as expected.
+key 0x67 DPAD_UP
+key 0x69 DPAD_LEFT
+key 0x6a DPAD_RIGHT
+key 0x6c DPAD_DOWN
+# Button "A" (on the front) maps to BUTTON_A.
+key 0x1c BUTTON_A
+# Button "B" (on the back) maps to BUTTON_B.
+key 0x9e BUTTON_B
+# Button "-" maps to BACK.
+key 0x161 BACK
+# Button "+" maps to BUTTON_START.
+key 0x9f BUTTON_START
+# Button with home icon maps to HOME.
+key 0x66 HOME
+# Button "1" maps to BUTTON_X.
+key 0x94 BUTTON_X
+# Button "2" maps to BUTTON_Y.
+key 0x95 BUTTON_Y
+
+# Wiimote D-pad axes are currently disabled in WiiMote config.
+#axis 0x12 GENERIC_3
+#axis 0x13 GENERIC_4
+
+
+# Nunchuk buttons
+# Button "C" maps to BUTTON_C.
+key 0x132 BUTTON_C
+# Button "Z" maps to BUTTON_Z.
+key 0x135 BUTTON_Z
+
+# Nunchuk Axes
+axis 0x1a RX
+# Nunchuk is currently configured to emit non-inverted Y axis - invert it here.
+# This has to be kept in sync with WiiMote config.
+axis 0x1b invert RY
+
+# Classic Controller Buttons
+# All buttons map to logical codes correspondent to button layout,
+# using Microsoft X-Box and Logitech F310/F710 as a reference.
+# D-pad buttons map as expected, but are currently disabled in WiiMote config.
+#key 0x101 DPAD_UP
+#key 0x102 DPAD_DOWN
+#key 0x103 DPAD_LEFT
+#key 0x104 DPAD_RIGHT
+# Button "a" maps to BUTTON_B, due to placement analogy.
+key 0x130 BUTTON_B
+# Button "b" maps to BUTTON_A, due to placement analogy.
+key 0x131 BUTTON_A
+# Button "x" maps to BUTTON_Y, due to placement analogy.
+key 0x133 BUTTON_Y
+# Button "y" maps to BUTTON_X, due to placement analogy.
+key 0x134 BUTTON_X
+# Button "L" maps to BUTTON_L1.
+key 0x136 BUTTON_L1
+# Button "R" maps to BUTTON_R1.
+key 0x137 BUTTON_R1
+# Button "ZL" maps to BUTTON_L2.
+key 0x138 BUTTON_L2
+# Button "ZR" maps to BUTTON_R2.
+key 0x139 BUTTON_R2
+# Button "-" maps to BACK.
+key 0x13a BACK
+# Button "+" maps to BUTTON_START.
+key 0x13b BUTTON_START
+# Button with home icon maps to HOME.
+key 0x13c HOME
+
+# Left (0x00, 0x01) and right (0x02, 0x05) analog control stick.
+# (Each axis has range from 0 to 63, but in reality they don't go beyond 55 or so.)
+axis 0x00 X
+axis 0x01 Y
+axis 0x02 Z
+axis 0x05 RZ
+
+# Hat.
+# (D-pad is reported as analog. Each axis has range from -1 to 1.)
+axis 0x10 HAT_X
+axis 0x11 HAT_Y
+
+# Classic upper L/R buttons are currently disabled in Wiimote config,
+# as they report only 0 or 1 instead of full range of trigger motion.
+#axis 0x03 LTRIGGER
+#axis 0x04 RTRIGGER
diff --git a/keylayout/gpio-keys.kl b/keylayout/gpio-keys.kl
index 378f460..9e9806c 100644
--- a/keylayout/gpio-keys.kl
+++ b/keylayout/gpio-keys.kl
@@ -1,6 +1,6 @@
key 136 SEARCH WAKE_DROPPED
-key 139 MENU WAKE
-key 102 HOME WAKE
+key 139 MENU WAKE_DROPPED
+key 102 HOME WAKE_DROPPED
key 158 BACK WAKE_DROPPED
key 116 POWER WAKE
key 115 VOLUME_UP WAKE_DROPPED
diff --git a/xt9/config/databases.conf b/xt9/config/databases.conf
index f95dee0..32323d0 100644
--- a/xt9/config/databases.conf
+++ b/xt9/config/databases.conf
@@ -31,44 +31,49 @@
[kdb]
# Regional qwerty keyboard database that is use by most alphabetic languages. This is the default qwerty keyboard
# database use if we could not find a match ID/keyboard database file
-0x09FF /system/usr/xt9/databases/kdb/qwerty.english.center.kdb
0x07FF /system/usr/xt9/databases/kdb/qwertz.german.center.kdb
0x08FF /system/usr/xt9/databases/kdb/azerty.french.center.kdb
-0x0A04 /system/usr/xt9/databases/kdb/ZHhpd_pinyin_bpmf_stroke_cangjie.kdb
-0x0919 /system/usr/xt9/databases/kdb/qwerty.russian.center.kdb
+0x0901 /system/usr/xt9/databases/kdb/qwerty.arabic.center.kdb
+0x0906 /system/usr/xt9/databases/kdb/qwerty.danish.center.kdb
0x0908 /system/usr/xt9/databases/kdb/qwerty.greek.center.kdb
+0x090b /system/usr/xt9/databases/kdb/qwerty.finish.center.kdb
0x090d /system/usr/xt9/databases/kdb/qwerty.hebrew.center.kdb
-0x0901 /system/usr/xt9/databases/kdb/qwerty.arabic.center.kdb
-0x0929 /system/usr/xt9/databases/kdb/qwerty.farsi.center.kdb
-0x091E /system/usr/xt9/databases/kdb/qwerty.thai.center.kdb
0x0912 /system/usr/xt9/databases/kdb/kohqd.kdb
+0x0914 /system/usr/xt9/databases/kdb/qwerty.norwegian.center.kdb
+0x0919 /system/usr/xt9/databases/kdb/qwerty.russian.center.kdb
+0x091d /system/usr/xt9/databases/kdb/qwerty.swedish.center.kdb
+0x091E /system/usr/xt9/databases/kdb/qwerty.thai.center.kdb
+0x0929 /system/usr/xt9/databases/kdb/qwerty.farsi.center.kdb
+0x09FF /system/usr/xt9/databases/kdb/qwerty.english.center.kdb
+0x0A04 /system/usr/xt9/databases/kdb/ZHhpd_pinyin_bpmf_stroke_cangjie.kdb
+0x0BFF /system/usr/xt9/databases/kdb/reduced_azerty.french.center.kdb
## Language datbases mapping. Two bytes hex digits encoding
[ldb]
-0x0109 /system/usr/xt9/databases/ldb/ENubUN_xt9_2.ldb
-0x010C /system/usr/xt9/databases/ldb/FRusUN_xt9_2.ldb
+0x00E0 /system/usr/xt9/databases/ldb/ZHtbUNps_Big5_bpmf_pinyin_CJ_xt9.ldb
+0x00E1 /system/usr/xt9/databases/ldb/ZHsbUNps_GB2312_xt9.ldb
+0x0101 /system/usr/xt9/databases/ldb/ARlsUN_xt9.ldb
+0x0105 /system/usr/xt9/databases/ldb/CSlsUN_xt9.ldb
+0x0106 /system/usr/xt9/databases/ldb/DAusUN_xt9.ldb
0x0107 /system/usr/xt9/databases/ldb/DEusUN_xt9_2.ldb
+0x0108 /system/usr/xt9/databases/ldb/ELlsUN_xt9.ldb
+0x0109 /system/usr/xt9/databases/ldb/ENubUN_xt9_2.ldb
0x010A /system/usr/xt9/databases/ldb/ESusUN_xt9_2.ldb
+0x010B /system/usr/xt9/databases/ldb/FIusUN_xt9_2.ldb
+0x010C /system/usr/xt9/databases/ldb/FRusUN_xt9_2.ldb
+0x010D /system/usr/xt9/databases/ldb/HElsUN_xt9.ldb
+0x010E /system/usr/xt9/databases/ldb/HUlsUN_xt9.ldb
0x0110 /system/usr/xt9/databases/ldb/ITusUN_xt9_2.ldb
0x0113 /system/usr/xt9/databases/ldb/NLlsUN_xt9_2.ldb
-0x0119 /system/usr/xt9/databases/ldb/RUlsUN_xt9_2.ldb
-0x0106 /system/usr/xt9/databases/ldb/DAusUN_xt9.ldb
-0x0116 /system/usr/xt9/databases/ldb/PTusUN_xt9.ldb
-0x010b /system/usr/xt9/databases/ldb/FIusUN_xt9_2.ldb
-0x011d /system/usr/xt9/databases/ldb/SVusUN_xt9.ldb
0x0114 /system/usr/xt9/databases/ldb/NOlsUN_xt9.ldb
-0x0105 /system/usr/xt9/databases/ldb/CSlsUN_xt9.ldb
0x0115 /system/usr/xt9/databases/ldb/PLlsUN_xt9.ldb
-0x011f /system/usr/xt9/databases/ldb/TRlsUN_xt9.ldb
-0x0108 /system/usr/xt9/databases/ldb/ELlsUN_xt9.ldb
-0x011b /system/usr/xt9/databases/ldb/SKlsUN_xt9.ldb
-0x010E /system/usr/xt9/databases/ldb/HUlsUN_xt9.ldb
-0x0101 /system/usr/xt9/databases/ldb/ARlsUN_xt9.ldb
-0x010D /system/usr/xt9/databases/ldb/HElsUN_xt9.ldb
+0x0116 /system/usr/xt9/databases/ldb/PTusUN_xt9.ldb
+0x0119 /system/usr/xt9/databases/ldb/RUlsUN_xt9_2.ldb
+0x011B /system/usr/xt9/databases/ldb/SKlsUN_xt9.ldb
+0x011D /system/usr/xt9/databases/ldb/SVusUN_xt9.ldb
0x011E /system/usr/xt9/databases/ldb/THlsUN_xt9.ldb
+0x011F /system/usr/xt9/databases/ldb/TRlsUN_xt9.ldb
0x0129 /system/usr/xt9/databases/ldb/FAlsUN_xt9.ldb
-0x00E0 /system/usr/xt9/databases/ldb/ZHtbUNps_Big5_bpmf_pinyin_CJ_xt9.ldb
-0x00E1 /system/usr/xt9/databases/ldb/ZHsbUNps_GB2312_xt9.ldb
##
# Decuma hwr dictionaries. use if present, otherwise will convert xt9 ldb to t9write dictionary at run time
diff --git a/xt9/databases/kdb/azerty.french.center.kdb b/xt9/databases/kdb/azerty.french.center.kdb
index abd617d..24533fd 100644
--- a/xt9/databases/kdb/azerty.french.center.kdb
+++ b/xt9/databases/kdb/azerty.french.center.kdb
Binary files differ
diff --git a/xt9/databases/kdb/qwerty.danish.center.kdb b/xt9/databases/kdb/qwerty.danish.center.kdb
new file mode 100644
index 0000000..f02bffc
--- /dev/null
+++ b/xt9/databases/kdb/qwerty.danish.center.kdb
Binary files differ
diff --git a/xt9/databases/kdb/qwerty.english.center.kdb b/xt9/databases/kdb/qwerty.english.center.kdb
index 6cde87c..236883b 100644
--- a/xt9/databases/kdb/qwerty.english.center.kdb
+++ b/xt9/databases/kdb/qwerty.english.center.kdb
Binary files differ
diff --git a/xt9/databases/kdb/qwerty.farsi.center.kdb b/xt9/databases/kdb/qwerty.farsi.center.kdb
index c38bc35..8140b41 100644
--- a/xt9/databases/kdb/qwerty.farsi.center.kdb
+++ b/xt9/databases/kdb/qwerty.farsi.center.kdb
Binary files differ
diff --git a/xt9/databases/kdb/qwerty.finish.center.kdb b/xt9/databases/kdb/qwerty.finish.center.kdb
new file mode 100644
index 0000000..8b8fca6
--- /dev/null
+++ b/xt9/databases/kdb/qwerty.finish.center.kdb
Binary files differ
diff --git a/xt9/databases/kdb/qwerty.norwegian.center.kdb b/xt9/databases/kdb/qwerty.norwegian.center.kdb
new file mode 100644
index 0000000..93c268c
--- /dev/null
+++ b/xt9/databases/kdb/qwerty.norwegian.center.kdb
Binary files differ
diff --git a/xt9/databases/kdb/qwerty.swedish.center.kdb b/xt9/databases/kdb/qwerty.swedish.center.kdb
new file mode 100644
index 0000000..690e99d
--- /dev/null
+++ b/xt9/databases/kdb/qwerty.swedish.center.kdb
Binary files differ
diff --git a/xt9/databases/kdb/qwertz.german.center.kdb b/xt9/databases/kdb/qwertz.german.center.kdb
index f48eb8a..94ad640 100644
--- a/xt9/databases/kdb/qwertz.german.center.kdb
+++ b/xt9/databases/kdb/qwertz.german.center.kdb
Binary files differ
diff --git a/xt9/databases/kdb/reduced_azerty.french.center.kdb b/xt9/databases/kdb/reduced_azerty.french.center.kdb
new file mode 100644
index 0000000..9668f1c
--- /dev/null
+++ b/xt9/databases/kdb/reduced_azerty.french.center.kdb
Binary files differ