Bug 218495 - NKRO does not work on Mistel MD770 (Holtek Semiconductor, Inc. USB-HID Keyboard)
Summary: NKRO does not work on Mistel MD770 (Holtek Semiconductor, Inc. USB-HID Keyboard)
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: All Linux
: P3 normal
Assignee: Default virtual assignee for Drivers/USB
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-02-14 17:33 UTC by Tatsuyuki Ishi
Modified: 2024-02-14 17:34 UTC (History)
0 users

See Also:
Kernel Version:
Subsystem:
Regression: No
Bisected commit-id:


Attachments
BPF program to fix the quirk (879 bytes, text/x-csrc)
2024-02-14 17:33 UTC, Tatsuyuki Ishi
Details
lsusb description of the device (4.51 KB, text/plain)
2024-02-14 17:34 UTC, Tatsuyuki Ishi
Details
hid-record of the NKRO sequence and report descriptor (13.08 KB, text/plain)
2024-02-14 17:34 UTC, Tatsuyuki Ishi
Details

Description Tatsuyuki Ishi 2024-02-14 17:33:47 UTC
Created attachment 305872 [details]
BPF program to fix the quirk

My Mistel MD770 (04d9:0339 Holtek Semiconductor, Inc. USB-HID Keyboard) seems to have a descriptor quirk that prevents NKRO from working. A device descriptor, a hid capture of NKRO sequence and proposed BPF program for fix is attached.

It's the exact same error as the Topre quirk [1], but the descriptor and offset is different.

NKRO works on Windows without extra vendor drivers. I'm not sure if Microsoft just has a better quirk database, or they have some clever heuristics to detect this. Before copy pasting the Topre code and calling it a patch, I would like to ask about what's the best way to fix this.

[1]: https://gitlab.freedesktop.org/libinput/libinput/-/issues/804
Comment 1 Tatsuyuki Ishi 2024-02-14 17:34:03 UTC
Created attachment 305873 [details]
lsusb description of the device
Comment 2 Tatsuyuki Ishi 2024-02-14 17:34:37 UTC
Created attachment 305874 [details]
hid-record of the NKRO sequence and report descriptor

Note You need to log in before you can comment on or make changes to this bug.