Hi, On 1/16/24 14:32, Barnabás Pőcze wrote: > Hi > > > 2024. január 16., kedd 10:34 keltezéssel, Hans de Goede írta: > >> [...] >>> 2023. november 15., szerda 18:46 keltezéssel, Hans de Goede írta: >>> >>>> There have been multiple reports of keyboard issues on recent laptop models >>>> which can be worked around by setting i8042.dumbkbd, with the downside >>>> being this breaks the capslock LED. >>>> >>>> It seems that these issues are caused by recent laptops getting confused by >>>> ATKBD_CMD_GETID. Rather then adding and endless growing list of quirks for >>>> this, just skip ATKBD_CMD_GETID alltogether on laptops in translated mode. >>>> >>>> The main goal of sending ATKBD_CMD_GETID is to skip binding to ps/2 >>>> mice/touchpads and those are never used in translated mode. >>>> >>>> Examples of laptop models which benefit from skipping ATKBD_CMD_GETID: >>>> >>>> * "HP Laptop 15s-fq2xxx", "HP laptop 15s-fq4xxx" and "HP Laptop 15-dy2xxx" >>>> models the kbd stops working for the first 2 - 5 minutes after boot >>>> (waiting for EC watchdog reset?) >>>> >>>> * On "HP Spectre x360 13-aw2xxx" atkbd fails to probe the keyboard >>>> >>>> * At least 9 different Lenovo models have issues with ATKBD_CMD_GETID, see: >>>> https://github.com/yescallop/atkbd-nogetid >>>> >>>> This has been tested on: >>>> >>>> 1. A MSI B550M PRO-VDH WIFI desktop, where the i8042 controller is not >>>> in translated mode when no keyboard is plugged in and with a ps/2 kbd >>>> a "AT Translated Set 2 keyboard" /dev/input/event# node shows up >>>> >>>> 2. A Lenovo ThinkPad X1 Yoga gen 8 (always has a translated set 2 keyboard) >>> >>> Just wanted to briefly mention that this broke my hwdb configuration because the >>> version field of the device (as shown in `/proc/bus/input/devices`) has changed >>> and it was included in the hwdb match rule. >> >> That is unfortunate. Was this a custom rule or one from >> the hwdb shipped with systemd ? >> >> Either way can you share the match pattern of the rule before and >> after? I want to check if there are any similar cases in >> the hwdb shipped with systemd. >> [...] > > It was a custom rule. > > Before: > > evdev:input:b0011v0001p0001eAB83* > KEYBOARD_KEY_f8=fn > KEYBOARD_KEY_76=f21 > > I: Bus=0011 Vendor=0001 Product=0001 Version=ab83 > N: Name="AT Translated Set 2 keyboard" > P: Phys=isa0060/serio0/input0 > S: Sysfs=/devices/platform/i8042/serio0/input/input4 > > > After: > > evdev:input:b0011v0001p0001* > KEYBOARD_KEY_f8=fn > KEYBOARD_KEY_76=f21 > > I: Bus=0011 Vendor=0001 Product=0001 Version=abba > N: Name="AT Translated Set 2 keyboard" > P: Phys=isa0060/serio0/input0 > S: Sysfs=/devices/platform/i8042/serio0/input/input4 I see, thank you. There are no v0001p0001 matches in the hwdb.d/60-keyboard.hwdb shipped with systems. Typically laptop builtin keyboards use another match-type so that they can do DMI matching e.g.: evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn*:* So luckily for almost all users the e field in the match rule changing should not be an issue. Sorry that this was a problem for you. Regards, Hans