]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
HID: lenovo: fixup Lenovo Yoga Slim 7x Keyboard rdesc
authorLauri Tirkkonen <lauri@hacktheplanet.fi>
Sat, 18 Oct 2025 06:35:15 +0000 (15:35 +0900)
committerJiri Kosina <jkosina@suse.com>
Thu, 30 Oct 2025 10:40:52 +0000 (11:40 +0100)
commita45f15808fb753a14c6041fd1e5bef5d552bd2e3
tree6010cbcc39e032a76c5874d50f2bc0b388a10e89
parentbeab067dbcff642243291fd528355d64c41dc3b2
HID: lenovo: fixup Lenovo Yoga Slim 7x Keyboard rdesc

The keyboard of this device has the following in its report description
for Usage (Keyboard) in Collection (Application):

# 0x15, 0x00,                    //  Logical Minimum (0)                52
# 0x25, 0x65,                    //  Logical Maximum (101)              54
# 0x05, 0x07,                    //  Usage Page (Keyboard)              56
# 0x19, 0x00,                    //  Usage Minimum (0)                  58
# 0x29, 0xdd,                    //  Usage Maximum (221)                60
# 0x81, 0x00,                    //  Input (Data,Arr,Abs)               62

Since the Usage Min/Max range exceeds the Logical Min/Max range,
keypresses outside the Logical range are not recognized. This includes,
for example, the Japanese language keyboard variant's keys for |, _ and
\.

Fixup the report description to make the Logical range match the Usage
range, fixing the interpretation of keypresses above 101 on this device.

Signed-off-by: Lauri Tirkkonen <lauri@hacktheplanet.fi>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/hid-ids.h
drivers/hid/hid-lenovo.c