Created attachment 110928 [details] hwdb file Hi, my Lenovo 3000 N200 laptop has a "Lenovo Care" key that is not supported out of the box by udev. The key has no specific meaning, probably launches some Lenovo App under Windows. The attached hwdb file maps it to prog1 to make it available for launching applications. Feel free to improve the matching, I just used whatever seemed to work. The rule could probably be relaxed somewhat. udevadm info output: P: /devices/platform/i8042/serio0/input/input3/event3 N: input/event3 S: input/by-path/platform-i8042-serio-0-event-kbd E: DEVLINKS=/dev/input/by-path/platform-i8042-serio-0-event-kbd E: DEVNAME=/dev/input/event3 E: DEVPATH=/devices/platform/i8042/serio0/input/input3/event3 E: ID_INPUT=1 E: ID_INPUT_KEY=1 E: ID_INPUT_KEYBOARD=1 E: ID_PATH=platform-i8042-serio-0 E: ID_PATH_TAG=platform-i8042-serio-0 E: ID_SERIAL=noserial E: KEYBOARD_KEY_b4=prog1 E: MAJOR=13 E: MINOR=67 E: SUBSYSTEM=input E: USEC_INITIALIZED=28391
Added in http://cgit.freedesktop.org/systemd/systemd/commit/?id=ef686ae230.
Thanks for adding this so quickly. But looking at your patch, I saw that there already a "Lenovo 3000" block including the "Lenovo Care" key. For some reason that does not seem to work for me. Maybe we can figure out why and consolidate the two rules. On the laptop in question, /sys/devices/virtual/dmi/id/modalias is: dmi:bvnLENOVO:bvr68ET37WW:bd07/29/2008:svnLENOVO:pn0769AP2:pvr3000N200:rvnLENOVO:rnIEL10:rvrREFERENCE:cvnNoEnclosure:ct10:cvrN/A: The match string already present in 60-keyboard rules obviously doesn't match that. Makes me wonder whether it works for anybody else?
I noticed that, that's why I put them next to one another. I assumed that some the models simply have the same information in different places. I don't think it really matters, even if one of the keys is wrong, it is not going to cause problems, and it is hard to check that it actually is not used by somebody already. Basically, this is a write-only database.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.