Logitech USB Keyboard/Mouse problems and fix

Roland Hammerle romendo at yahoo.com
Fri Oct 8 12:53:43 PDT 2004


> 
> :Hello all,
> :
> :I recently installed DragonFlyBSD. At first I had trouble using my
> :Logitech Desktop Pro keyboard/mouse combination. The problem is the
> :wheel, which was not detected properly. Under Linux I can choose the
> :IMPS/2 protocol, but that is not available on DragonFly. Attaching it on
> :the USB port has other problems (mouse not working, keyboard ghosting
> :characters). However, I did find a fix at
> :http://www.freebsd.org/cgi/query-pr.cgi?pr=3Dkern/63837.
> :
> :Would it be possible to incorporate this fix into DragonFlyBSD? I changed
> :my copy of the source and installed the new kernel. The mouse is now
> :recognized and works flawlessly. The keyboard still repeats some
> :characters when typing fast. It is a big improvement though.
> :
> :If you know of some other fix, please let me know. Maybe someone knows a
> :solution to the character repetition problem.
> :
> :Thanks,
> :Roland
> 
>     The answer is, absolutely!  But that PR has two patches in it and I'm
>     not sure which one you tried.  If you tried the first one could you
>     please try the second one instead? (remove the first one and apply the
>     second one).
> 
>     I've included the second patch again DFly for reference.
> 
>     I'd like to commit the second one if possible instead of the first
>     one, as soon as you tell me it works!
> 
> -Matt
> Matthew Dillon
> <dillon at xxxxxxxxxxxxx>
> 
> 
> Index: hid.c
> ===================================================================
> RCS file: /cvs/src/sys/bus/usb/hid.c,v
> retrieving revision 1.5
> diff -u -r1.5 hid.c
> --- hid.c 12 Mar 2004 03:43:06 -0000 1.5
> +++ hid.c 8 Oct 2004 18:56:33 -0000
> @@ -373,10 +373,12 @@
>  struct hid_item h;
>  int size, id;
>  
> + h.report_ID = 0;
>  id = 0;
> - for (d = hid_start_parse(buf, len, 1<<k); hid_get_item(d, &h); )
> -  if (h.report_ID != 0)
> + for (d = hid_start_parse(buf, len, 1<<k); hid_get_item(d, &h); ) {
> +  if (h.report_ID != 0 && id == 0)
>  id = h.report_ID;
> + }
>  hid_end_parse(d);
>  size = h.loc.pos;
>  if (id != 0) {

I completely forgot that there were two patches. I applied the second one,
of course. Is there a chance that somone can figure out why the keyboard
repeates characters sometimes? I would love to investigate but I fear I do
not know enough to even start doing it myself.

Thanks,
Roland





More information about the Users mailing list