[Bug 289154] USB keyboard modifier keys not recognized on Minisforum MS-A2
Date: Sun, 30 Nov 2025 19:35:42 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289154
--- Comment #6 from Vincent Milum Jr <freebsd@darkain.com> ---
As a quick followup, I went and found that original discussion on Discord:
https://discord.com/channels/727023752348434432/1372409106312204378/1394356379522695199
And here was the diff I used for testing. As noted previously, this "fixed" the
modifiers, but caused other problems, so its not a REAL fix. I don't recall off
the top of my head what all it broke otherwise, but I do remember it was an
issue and why I never submitted it as a patch.
diff --git a/sys/dev/usb/input/ukbd.c b/sys/dev/usb/input/ukbd.c
index 57e9beac3..5034f2c27 100644
--- a/sys/dev/usb/input/ukbd.c
+++ b/sys/dev/usb/input/ukbd.c
@@ -761,9 +761,9 @@ ukbd_intr_callback(struct usb_xfer *xfer, usb_error_t
error)
continue; /* skip empty areas */
} else if (~valid & mask) {
continue; /* location is not valid */
- } else if (id != sc->sc_id_loc_key[i]) {
- continue; /* invalid HID ID */
- } else if (i == 0) {
+// } else if (id != sc->sc_id_loc_key[i]) {
+// continue; /* invalid HID ID */
+ } else if ((i == 0) && (id == sc->sc_id_loc_key[i]))
{
struct hid_location tmp_loc =
sc->sc_loc_key[0];
/* range check array size */
if (tmp_loc.count > UKBD_NKEYCODE)
--
You are receiving this mail because:
You are the assignee for the bug.