On 2013/01/28 14:20, Mike Larkin wrote:
> On Mon, Jan 28, 2013 at 06:50:28PM -0200, Daniel Bolgheroni wrote:
> > Hi tech@,
> > 
> > anyone with a patch lurking around to work with a Rapoo V7 keyboard?
> > 
> > Linux has a workaround, but don't know if works:
> > 
> > https://github.com/Golevka/rapoov7-keyboard-driver
> > 
> > The dmesg for the kbd is:
> > 
> > ukbd1 at uhidev2 reportid 4: 56 variable keys, 0 key codes
                                                   ^^^^^^^^^^^
I think it's probably related to this.

The workaround seems to set the keyboard to a simpler boot protocol
which probably doesn't do the n-key rollover stuff; it might be worth
playing with this.

Index: uhidev.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/uhidev.c,v
retrieving revision 1.42
diff -u -p -u -7 -r1.42 uhidev.c
--- uhidev.c    3 Jul 2011 15:47:17 -0000       1.42
+++ uhidev.c    28 Jan 2013 22:52:00 -0000
@@ -126,14 +126,15 @@ uhidev_attach(struct device *parent, str
        const void *descptr;
        usbd_status err;
 
        sc->sc_udev = uaa->device;
        sc->sc_iface = iface;
        id = usbd_get_interface_descriptor(iface);
 
+       (void)usbd_set_protocol(iface, 0);
        (void)usbd_set_idle(iface, 0, 0);
 #if 0
 
        qflags = usbd_get_quirks(sc->sc_udev)->uq_flags;
        if ((qflags & UQ_NO_SET_PROTO) == 0 &&
            id->bInterfaceSubClass != UISUBCLASS_BOOT)
                (void)usbd_set_protocol(iface, 1);

The other workaround I saw mentioned for these new keyboards was to
plug them into a passive USB->PS/2 adapter (if the keyboard supports
this), and then plug that into an active PS/2 -> USB adapter. Again
you lose any of the more complicated features.

> I'd think you probably won't find much help unless you're willing to donate
> the kb to someone for testing. Or buy one for someone. Awfully hard to fix
> this sort of thing without access to the hardware.

yep.

Reply via email to