https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289154
--- Comment #6 from Vincent Milum Jr <[email protected]> --- 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.
