[systemd-devel] udev hwdb add unknown button

Floris jkfloris at dds.nl
Fri Jun 9 08:23:46 UTC 2017

I have an older ASUS R2E UMPC[1], which has a couple of media buttons. One  
button isn't recognized and print:

asus_laptop: Unknown key 9a pressed

I tried to add this button with an udev hwdb rule in  

evdev:name:Asus Laptop extra buttons:dmi:bvn*:bvr*:bd*:svnASUS:pn*pvr*
  KEYBOARD_KEY_95=keyboard		<-- This one is added for testing purposes

after an udevadm update and trigger, udevadm info /dev/input/event5  
reports the buttons:
E: ID_PATH_TAG=platform-asus_laptop
E: KEYBOARD_KEY_6b=f21				<-- This one is a default udev hwdb rule
E: KEYBOARD_KEY_95=keybaord
E: KEYBOARD_KEY_9a=screen
E: LIBINPUT_DEVICE_GROUP=19/0/0/0:asus_laptop

So far everything works as expected, but evtest doesn't show the remap of  
the 9a key
type 4 (EV_MSC), code 4 (MSC_SCAN), value 95
type 1 (EV_KEY), code 374 (KEY_KEYBOARD), value 1		<-- This one is  
modified as expected
type 4 (EV_MSC), code 4 (MSC_SCAN), value 9a
type 1 (EV_KEY), code 240 (KEY_UNKNOWN), value 1		<-- Why isn't this one  

Only after adding {KE_KEY, 0x9a, { KEY_SCREEN } }, to asus-laptop.c line  
355 [2] and rebuild the kernel module, I am able to remap and use the  
media button on the laptop.

Is this a flaw in the kernel module or in udev?


[1] https://www.asus.com/Laptops/R2E/

More information about the systemd-devel mailing list