summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Pitt <martin.pitt@ubuntu.com>2009-05-09 12:21:34 +0200
committerMartin Pitt <martin.pitt@ubuntu.com>2009-05-09 12:21:34 +0200
commite0a28c9dc8d00a9a8d8c2f56bec5c1c44742e267 (patch)
tree7c4c69b60e5b74657aecac4ed9e8ea98a44e1b84
parentc472c39d71a541539f1f7414919dbe720cf2ef8e (diff)
keymap: Add "ThinkPad Extra Buttons" module rules (from hal-info)
Converted from 30-keymap-module-thinkpad-acpi.fdi from hal-info 2009-05-07.
-rw-r--r--keymap/95-keymap.rules13
-rw-r--r--keymap/keymaps/module-ibm16
-rw-r--r--keymap/keymaps/module-lenovo16
3 files changed, 45 insertions, 0 deletions
diff --git a/keymap/95-keymap.rules b/keymap/95-keymap.rules
index 730fb39..8e4a85f 100644
--- a/keymap/95-keymap.rules
+++ b/keymap/95-keymap.rules
@@ -1,5 +1,18 @@
ACTION!="add", GOTO="keyboard_end"
SUBSYSTEM!="input", GOTO="keyboard_end"
+
+#
+# The following are exposed as separate input devices with low key codes, thus
+# we need to check their input device product name
+#
+
+ATTR{[dmi/id]sys_vendor}=="IBM*", ATTR{name}=="ThinkPad Extra Buttons", RUN+="keymap $name module-ibm"
+ATTR{[dmi/id]sys_vendor}=="LENOVO*", ATTR{name}=="ThinkPad Extra Buttons", RUN+="keymap $name module-lenovo"
+
+#
+# The following rules belong to standard i8042 AT keyboard with high key codes.
+#
+
DRIVERS=="atkbd", GOTO="keyboard_vendorcheck"
GOTO="keyboard_end"
diff --git a/keymap/keymaps/module-ibm b/keymap/keymaps/module-ibm
new file mode 100644
index 0000000..c330f01
--- /dev/null
+++ b/keymap/keymaps/module-ibm
@@ -0,0 +1,16 @@
+0x01 battery # Fn+F2
+0x02 screenlock # Fn+F3
+0x03 sleep # Fn+F4
+0x04 radio # Fn+F5
+0x06 switchvideomode # Fn+F7
+0x07 zoom # Fn+F8 screen expand
+0x08 f24 # Fn+F9 undock
+0x0B suspend # Fn+F12
+0x0F brightnessup # Fn+Home
+0x10 brightnessdown # Fn+End
+0x11 kbdillumtoggle # Fn+PgUp - ThinkLight
+0x13 zoom # Fn+Space
+0x14 volumeup
+0x15 volumedown
+0x16 mute
+0x17 prog1 # ThinkPad/ThinkVantage button (high keycode: "vendor")
diff --git a/keymap/keymaps/module-lenovo b/keymap/keymaps/module-lenovo
new file mode 100644
index 0000000..53f142b
--- /dev/null
+++ b/keymap/keymaps/module-lenovo
@@ -0,0 +1,16 @@
+0x1 screenlock # Fn+F2
+0x2 battery # Fn+F3
+0x3 sleep # Fn+F4
+0x4 radio # Fn+F5
+0x6 switchvideomode # Fn+F7
+0x7 f22 # Fn+F8 touchpadtoggle
+0x8 f24 # Fn+F9 undock
+0xB suspend # Fn+F12
+0xF brightnessup # Fn+Home
+0x10 brightnessdown # Fn+End
+0x11 kbdillumtoggle # Fn+PgUp - ThinkLight
+0x13 zoom # Fn+Space
+0x14 volumeup
+0x15 volumedown
+0x16 mute
+0x17 prog1 # ThinkPad/ThinkVantage button (high keycode: "vendor")