The following reply was made to PR usb/181425; it has been noted by GNATS.

From: Hans Petter Selasky <h...@bitfrost.no>
To: Andrey Zholos <a...@q-fu.com>
Cc: freebsd-gnats-sub...@freebsd.org
Subject: Re: usb/181425: USB keyboard with full N-key rollover not working
Date: Tue, 20 Aug 2013 13:56:13 +0200

 Hi,
 
 Have you looked into the USB HID specification from USB.org regarding 
 this? I think USB keyboard stuff is explicitly defined. You are right 
 that we don't support more than a few simultaneously pressed keys, and 
 that would reguire a bit more changes in ukbd driver.
 
 Instead of applying a quirk, maybe ukbd.c could switch to boot-proto 
 automatically when HIO_VARIABLE is set? It is simply a so-called USB 
 control request.
 
 I'm not sure if it is better to use uhidd or ukbd for the purpose you 
 want to use the keyboard.
 
 Thank you for your investigation!
 
 --HPS
 
 >
 > Ideally I would like to get this keyboard to work in normal protocol
 > with full rollover for perfectionist reasons, but I guess that would
 > require too many changes to ukbd.c and introduce overhead for the
 > majority of keyboards.
 >
 >
 > Patch attached with submission follows:
 >
 > --- sys/dev/usb/input/ukbd.c (revision 254515)
 > +++ sys/dev/usb/input/ukbd.c (working copy)
 > @@ -1130,8 +1130,12 @@
 >          HID_USAGE2(HUP_KEYBOARD, 0x00),
 >          hid_input, 0, &sc->sc_loc_events, &flags,
 >          &sc->sc_id_events)) {
 > -            sc->sc_flags |= UKBD_FLAG_EVENTS;
 > -            DPRINTFN(1, "Found keyboard events\n");
 > +            if (flags & HIO_VARIABLE)
 > +                    DPRINTFN(1, "Ignoring key bitmap\n");
 > +            else {
 > +                    sc->sc_flags |= UKBD_FLAG_EVENTS;
 > +                    DPRINTFN(1, "Found keyboard events\n");
 > +            }
 >      }
 >
 >      /* figure out leds on keyboard */
 >
 
_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to