On Mon, Jan 28, 2013 at 10:54:33PM +0000, Stuart Henderson wrote:
> 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.
> 

The diff above might work but when I tried something akin to that last year
when implementing support for the Monoprice keyboard (similar mechanical
'gaming' style keyboard), the boot protocol only allowed one key pressed at 
a time. That meant no Shift/Ctrl/Alt which made things somewhat difficult.

-ml

Reply via email to