chiark / gitweb /
Revert "hwdb: merge atkbd into platform matches"
[elogind.git] / hwdb / 60-keyboard.hwdb
index fe5b3ee4d17f32344ef63e77468a5e792d0c0df1..48297dcf899f93d861caddcf85dfe45fc3491359 100644 (file)
 # is not necessarily expected to be a stable ABI.
 #
 # Supported hardware matches are:
-#  - USB keyboards identified by the usb kernel modalias:
-#      keyboard:usb:vXXXXpYYYY*
-#    XXXX is the 4-digit hex uppercase vendor, and YYYY
-#    the 4-digit hex uppercase product.
+#  - Generic input devices match:
+#      keyboard:input:bZZZZvYYYYpXXXXeWWWW-VVVV
+#    This matches on the kernel modalias of the input-device, mainly:
+#    ZZZZ is the bus-id (see /usr/include/linux/input.h BUS_*), YYYY, XXXX and
+#    WWW are the 4-digit hex uppercase vendor, product and version ID and VVVV
+#    is an arbitrary length input-modalias describing the device capabilities.
 #
 #  - AT keyboard DMI data matches:
 #      keyboard:dmi:bvn*:bvr*:bd*:svn<vendor>:pn<product>:pvr*
 #    <vendor> and <product> are the firmware-provided strings
 #    exported by the kernel DMI modalias.
 #
-#  - Platform driver device name and DMI data match:
+#  - Input driver device name and DMI data match:
 #      keyboard:name:<input device name>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*
 #    <input device name> is the name device specified by the
 #    driver, <vendor> is the firmware-provided string exported
 #    by the kernel DMI modalias.
 #
-#  Scan codes are specified as:
-#    KEYBOARD_KEY_<hex scan code>=<key code identifier>
-#  The scan code should be expressed in hex lowercase and in
-#  full bytes, a multiple of 2 digits. The key codes are retrieved
-#  and normalized from the kernel input API header.
+# Scan codes are specified as:
+#   KEYBOARD_KEY_<hex scan code>=<key code identifier>
+# The scan code should be expressed in hex lowercase. The key codes
+# are retrieved and normalized from the kernel input API header.
 #
-#  A '!' as the first charcter of the key identifier string
-#  will add the scan code to the AT keyboard's list of scan codes
-#  where the driver will synthesize a release event and not expect
-#  it to be generated by the hardware.
+# An '!' as the first character of the key identifier string
+# will add the scan code to the AT keyboard's list of scan codes
+# where the driver will synthesize a release event and not expect
+# it to be generated by the hardware.
 #
 # To debug key presses and access scan code mapping data of
 # an input device use the commonly available tool: evtest(1).
+#
+# To update this file, create a new file
+#   /etc/udev/hwdb.d/70-keyboard.hwdb
+# and add your rules there. To load the new rules execute (as root):
+#   udevadm hwdb --update
+#   udevadm trigger /dev/input/eventXX
+# where /dev/input/eventXX is the keyboard in question. If in
+# doubt, simply use /dev/input/event* to reload all input rules.
+#
+# If your changes are generally applicable, open a bug report on
+#   http://bugs.freedesktop.org/enter_bug.cgi?product=systemd
+# and include your new rules, a description of the device, and the
+# output of
+#   udevadm info /dev/input/eventXX
+# (or /dev/input/event*).
 
 ##########################################
 # Acer
@@ -74,7 +90,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svneMachines:pneMachines*E725:pvr*
  KEYBOARD_KEY_f8=fn
  KEYBOARD_KEY_f9=prog1                                  # Launch NTI shadow
 
-# Acer platform kernel driver
+# Acer kernel driver
 keyboard:name:Acer WMI hotkeys:dmi:bvn*:bvr*:bd*:svn*:pnAcer*:pvr*
  KEYBOARD_KEY_82=f21                                    # Touchpad toggle
 
@@ -138,6 +154,8 @@ keyboard:dmi:bvn*:bvr*:bd*:svnASUS:pn*
  KEYBOARD_KEY_ef=mute
 
 keyboard:name:Asus WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr*
+keyboard:name:Eee PC WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr*
+keyboard:name:Asus Laptop extra buttons:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr*
  KEYBOARD_KEY_6b=f21                                    # Touchpad Toggle
 
 ###########################################################
@@ -165,6 +183,13 @@ keyboard:dmi:bvn*:bvr*:bd*:svnCompaq*:pn*Evo*N*:pvr*
  KEYBOARD_KEY_9e=email
  KEYBOARD_KEY_9f=homepage
 
+keyboard:input:b0003v049Fp0051*
+ KEYBOARD_KEY_0c0011=presentation
+ KEYBOARD_KEY_0c0012=addressbook
+ KEYBOARD_KEY_0c0013=info
+ KEYBOARD_KEY_0c0014=prog1
+ KEYBOARD_KEY_0c0015=messenger
+
 ###########################################################
 # Dell
 ###########################################################
@@ -207,6 +232,11 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1110:pvr*
 keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1210:pvr*
  KEYBOARD_KEY_84=wlan
 
+# Dell Inspiron 1520
+keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1520:pvr*
+ KEYBOARD_KEY_85=unknown  # Brightness Down, also emitted by acpi-video, ignore
+ KEYBOARD_KEY_86=unknown  # Brightness Up, also emitted by acpi-video, ignore
+
 # Latitude XT2
 keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*XT2:pvr*
  KEYBOARD_KEY_9b=up                                     # tablet rocker up
@@ -228,6 +258,15 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:pvr*
 keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr*
  KEYBOARD_KEY_8c=!unknown
 
+# Dell XPS12 9Q33
+keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS12-9Q33*:pvr*
+ KEYBOARD_KEY_88=wlan
+ KEYBOARD_KEY_65=direction                              # Screen Rotate
+
+# Dell Latitude microphone mute
+keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*
+ KEYBOARD_KEY_150=f20                                   # Mic mute toggle, should be micmute
+
 ###########################################################
 # Everex
 ###########################################################
@@ -309,7 +348,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnGIGABYTE:pnU2442:*
 ###########################################################
 
 # Slimstar 320
-keyboard:usb:v0458p0708d*dc*dsc*dp*ic*isc*ip*in01*
+keyboard:input:b0003v0458p0708*
  KEYBOARD_KEY_0900f0=scrollup
  KEYBOARD_KEY_0900f1=scrolldown
  KEYBOARD_KEY_0900f3=back
@@ -363,7 +402,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*Pavilion*dv7*Notebook*PC:pvr
  KEYBOARD_KEY_b7=print
  KEYBOARD_KEY_c2=media                                  # FIXME: quick play
  KEYBOARD_KEY_c6=break
- KEYBOARD_KEY_94=0
+ KEYBOARD_KEY_94=reserved
 
 # Elitebook
 keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*Compaq*:pvr*
@@ -436,6 +475,14 @@ keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnFalco:pvr*
 # KEYBOARD_KEY_3e=fullscreen, no defined key sym
 
 
+# HP EliteBook 725 G2
+keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHPLicrice:pvr*
+# HP ProBook 440 G2
+keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP440G2:pvr*
+# HP ProBook 445 G1
+keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHPProBook445G1NotebookPC:pvr*
+ KEYBOARD_KEY_81=f20                                    # Fn+F8; Microphone mute button, should be micmute
+
 ###########################################################
 # IBM
 ###########################################################
@@ -460,7 +507,7 @@ keyboard:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnIBM*:pn*:pvr*
  KEYBOARD_KEY_17=prog1                                  # ThinkPad/ThinkVantage button (high keycode: "vendor")
 
 # IBM Thinkpad USB Keyboard Trackpoint
-keyboard:usb:v04B3p301[89]*
+keyboard:input:b0003v04B3p301[89]*
  KEYBOARD_KEY_900f0=screenlock
  KEYBOARD_KEY_900f1=wlan
  KEYBOARD_KEY_900f2=switchvideomode
@@ -500,10 +547,10 @@ keyboard:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*
  KEYBOARD_KEY_15=volumedown
  KEYBOARD_KEY_16=mute
  KEYBOARD_KEY_17=prog1
- KEYBOARD_KEY_1a=f20
+ KEYBOARD_KEY_1a=f20                                    # Microphone mute button; should be micmute
 
 # ThinkPad Keyboard with TrackPoint
-keyboard:usb:v17EFp6009*
+keyboard:input:b0003v17EFp6009*
  KEYBOARD_KEY_090012=screenlock                         # Fn+F2
  KEYBOARD_KEY_090013=battery                            # Fn+F3
  KEYBOARD_KEY_090014=wlan                               # Fn+F5
@@ -525,6 +572,10 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*3000*:pvr*
  KEYBOARD_KEY_98=suspend                                # Fn+F12 hibernate
  KEYBOARD_KEY_b4=prog1                                  # Lenovo Care
 
+# "Lenovo Care" Key of the 3000 N200
+keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO:pn0769AP2:pvr3000N200:*
+ KEYBOARD_KEY_b4=prog1
+
 # lenovo-ideapad
 keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*:pvr*
 keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnS10-*:pvr*
@@ -537,7 +588,6 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnS10-*:pvr*
  KEYBOARD_KEY_f3=f21
 
 # Thinkpad X200_Tablet
-keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X2*Tablet*:pvr*
 keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPad*X2*Tablet*
  KEYBOARD_KEY_5d=menu
  KEYBOARD_KEY_63=fn
@@ -547,9 +597,9 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPad*X2*Tablet*
  KEYBOARD_KEY_6c=direction                              # rotate screen
 
 # ThinkPad X6 Tablet
-keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X6*:pvr*
- KEYBOARD_KEY_6c=f21                                    # rotate
- KEYBOARD_KEY_68=screenlock                             # screenlock
+keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPad*X6*Tablet*
+ KEYBOARD_KEY_6c=direction                              # rotate
+ KEYBOARD_KEY_68=leftmeta                               # toolbox
  KEYBOARD_KEY_6b=esc                                    # escape
  KEYBOARD_KEY_6d=right                                  # right on d-pad
  KEYBOARD_KEY_6e=left                                   # left on d-pad
@@ -557,6 +607,13 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X6*:pvr*
  KEYBOARD_KEY_6f=down                                   # down on d-pad
  KEYBOARD_KEY_69=enter                                  # enter on d-pad
 
+# ThinkPad X41 Tablet
+keyboard:dmi:bvn*:bvr*:bd*:svnIBM*:pn18666TU:pvr*
+ KEYBOARD_KEY_6c=direction                              # rotate
+ KEYBOARD_KEY_68=leftmeta                               # toolbox
+ KEYBOARD_KEY_6b=esc                                    # escape
+ KEYBOARD_KEY_69=enter                                  # enter on d-pad
+
 # IdeaPad
 keyboard:name:Ideapad extra buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*
  KEYBOARD_KEY_42=f23
@@ -568,7 +625,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*Y550*:pvr*
 
 keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*U300s*:pvr*
  KEYBOARD_KEY_f1=f21
- KEYBOARD_KEY_ce=f20
+ KEYBOARD_KEY_ce=f20                                    # micmute
 
 keyboard:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr*
  KEYBOARD_KEY_a0=!mute
@@ -580,7 +637,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo*V480*:pvr*
  KEYBOARD_KEY_f1=f21
 
 # enhanced USB keyboard
-keyboard:usb:v04B3p301B*
+keyboard:input:b0003v04B3p301B*
  KEYBOARD_KEY_90001=prog1 # ThinkVantage
  KEYBOARD_KEY_90002=screenlock
  KEYBOARD_KEY_90003=file
@@ -596,7 +653,7 @@ keyboard:usb:v04B3p301B*
 ###########################################################
 
 # iTouch
-keyboard:usb:v046DpC308*
+keyboard:input:b0003v046DpC308*
  KEYBOARD_KEY_90001=shop                                # Shopping
  KEYBOARD_KEY_90002=config                              # iTouch
  KEYBOARD_KEY_90003=finance                             # Finance
@@ -605,12 +662,12 @@ keyboard:usb:v046DpC308*
  KEYBOARD_KEY_C0183=media                               # Media
 
 # Cordless Desktop S510
-keyboard:usb:v046DpC50C*
+keyboard:input:b0003v046DpC50C*
  KEYBOARD_KEY_d4=zoomin
  KEYBOARD_KEY_cc=zoomout
 
 # Wave cordless
-keyboard:usb:v046DpC317*
+keyboard:input:b0003v046DpC317*
  KEYBOARD_KEY_9001c=scale                               # expo
  KEYBOARD_KEY_9001f=zoomout
  KEYBOARD_KEY_90020=zoomin
@@ -629,7 +686,7 @@ keyboard:usb:v046DpC317*
  KEYBOARD_KEY_9004c=ejectclosecd
 
 # Wave cordless
-keyboard:usb:v046DpC517*
+keyboard:input:b0003v046DpC517*
  KEYBOARD_KEY_c101f=zoomout
  KEYBOARD_KEY_c1020=zoomin
  KEYBOARD_KEY_c1005=camera
@@ -645,7 +702,7 @@ keyboard:usb:v046DpC517*
  KEYBOARD_KEY_c104c=ejectclosecd
 
 # Cordless Wave Pro
-keyboard:usb:v046DpC52[9B]*
+keyboard:input:b0003v046DpC52[9B]*
  KEYBOARD_KEY_0c01b6=camera
  KEYBOARD_KEY_0c0183=media
  KEYBOARD_KEY_0c0184=wordprocessor
@@ -660,13 +717,13 @@ keyboard:usb:v046DpC52[9B]*
  KEYBOARD_KEY_0c022e=zoomout
 
 # Logitech Presenter R400
-keyboard:usb:v046DpC52Dd*dc*dsc*dp*ic*isc*ip*in00*
+keyboard:input:b0003v046DpC52D*
  KEYBOARD_KEY_070029=presentation
  KEYBOARD_KEY_07003e=presentation
  KEYBOARD_KEY_070037=displaytoggle
 
 # Internet Navigator
-keyboard:usb:v046DpC309*
+keyboard:input:b0003v046DpC309*
   KEYBOARD_KEY_90001=chat         # Messenger/SMS
   KEYBOARD_KEY_90002=camera       # webcam
   KEYBOARD_KEY_90003=prog1        # iTouch
@@ -722,7 +779,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnMEDIONNB:pnA555*:pvr*
 ###########################################################
 
 # Microsoft Natural Ergonomic Keyboard 4000
-keyboard:usb:v045Ep00DB*
+keyboard:input:b0003v045Ep00DB*
  KEYBOARD_KEY_c022d=zoomin
  KEYBOARD_KEY_c022e=zoomout
 
@@ -752,14 +809,16 @@ keyboard:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pnGE70*:pvr*
 keyboard:dmi:bvn*:bvr*:bd*:svnMicro-Star*:pn*:pvr*
  KEYBOARD_KEY_c2=ejectcd
 
-#
+# some MSI models generate ACPI/input events on the LNXVIDEO input devices,
+# plus some extra synthesized ones on atkbd as an echo of actually changing the
+# brightness; so ignore those atkbd ones, to avoid loops
 keyboard:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pn*U-100*:pvr*
 keyboard:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pn*U100*:pvr*
 keyboard:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pn*N033:*
  KEYBOARD_KEY_f7=reserved
  KEYBOARD_KEY_f8=reserved
 
-#
+# MSI Wind U90/U100 generates separate touchpad on/off keycodes so ignore touchpad toggle keycode
 keyboard:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pnU90/U100:*
  KEYBOARD_KEY_e4=reserved
 
@@ -804,7 +863,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOLPC:pnXO:*
  KEYBOARD_KEY_f3=f17
  KEYBOARD_KEY_f2=f18
  KEYBOARD_KEY_f1=f19
- KEYBOARD_KEY_f0=f20
+ KEYBOARD_KEY_f0=f20                                    # micmute
  KEYBOARD_KEY_ef=f21
  KEYBOARD_KEY_ee=chat
  KEYBOARD_KEY_e4=chat
@@ -864,6 +923,14 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOQO*Inc.*:pnOQO*Model*2*:pvr*
  KEYBOARD_KEY_f2=volumedown
  KEYBOARD_KEY_f3=volumeup
 
+###########################################################
+# Plantronics
+###########################################################
+
+# Plantronics .Audio 626 DSP
+keyboard:input:b0003v047FpC006*
+ KEYBOARD_KEY_b002f=f20                                # Microphone mute button; should be micmute
+
 ###########################################################
 # Quanta
 ###########################################################
@@ -912,7 +979,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*550P*:pvr*
 # Series 7 / 9
 keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr*
 keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700G*:pvr*
-keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDEFG]*:pvr*
+keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34]*:pvr*
 keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr*
  KEYBOARD_KEY_ce=!prog1                                 # Fn+F1 launch settings
  KEYBOARD_KEY_a0=!mute                                  # Fn+F6 mute
@@ -1062,7 +1129,7 @@ keyboard:name:Toshiba*input*device:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSatellite*P75
  KEYBOARD_KEY_13c=brightnessdown
  KEYBOARD_KEY_13d=brightnessup
  KEYBOARD_KEY_13e=switchvideomode
- KEYBOARD_KEY_13f=touchpad_toggle
+ KEYBOARD_KEY_13f=f21                                   # Touchpad toggle
  KEYBOARD_KEY_9e=wlan
 
 ###########################################################