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