Cordless combo Mouse/keyboard
John Merryweather Cooper
john_m_cooper at yahoo.com
Tue Mar 23 11:59:22 PST 2004
For my Logitech Cordless iTouch Keyboard and Mouse I had to:
1) set flag to 0x6100 for device pcm in my kernel configuration
2) set options PSM_HOOKRESUME and PSM_RESETAFTERSUSPEND
3) rebuild the kernel.
This works for me on FreeBSD 4.9-STABLE. I realize you may be running
-CURRENT, but this may point out some fruitful avenues.
jmc
charlysquare at altern.org wrote:
> Hi,
>
> I've got a Cordless combo Mouse/keyboard Memorex RF7000, my keyboard is detected, but the mouse don't want to move.. i've tested it under knoppix or windows, and it works ! but under FreeBSD 5.2, i cant't manage to move the cursor..
>
> I've been helped by Soren Schmidt 'til now, here is what he adviced me :
>
> 1. ----------------------------------------------
> -------------------------------------------------
>
> I use the following hack with a wireless Fujitsu-Siemens USB kbd+mouse
> here, maybe that helps..
>
>
>
>
> Index: hid.c
> ===================================================================
> u_long
> hid_get_data(u_char *buf, struct hid_location *loc)
> {
> - u_int hpos = loc->pos;
> + u_int hpos = loc->pos - 40;;
> u_int hsize = loc->size;
> u_int32_t data;
> int i, s;
>
> Index: ums.c
> ===================================================================
> ret = UMATCH_NONE;
>
> free(desc, M_TEMP);
> - return (ret);
> + return (UMATCH_IFACECLASS);
> }
>
> USB_ATTACH(ums)
>
>
> 2. ----------------------------------------------
> -------------------------------------------------
>
>
>>dmesg | grep ums return ums0 so this is good
>>ps ax|grep moused return :
>>/usr/sbin/moused -p /dev/ums0 so this is great.. >but...the mouse is not moving at all...
>
>
> OK, then back out this part of the patch, that might not be needed for
> your mouse (mine has several buttons and wheels and what not :) )
>
> > > hid_get_data(u_char *buf, struct hid_location *loc)
> > > {
> > > - u_int hpos = loc->pos;
> > > + u_int hpos = loc->pos - 40;;
> > > u_int hsize = loc->size;
> > > u_int32_t data;
> > > int i, s;
> > >
>
> 3. ----------------------------------------------
> -------------------------------------------------
>
>
>>I've rebuild my kernel, but the cursor is not moving...
>
>
> Hmm then the mouse is probably using a new variation of the protocol
> (mine does hence the first patch). I guess that will need further
> investigation to find out how it sends its position info, there are some
> debugging code in there that can be of use, but if you are not a
> programmer it will probably be a bit difficult todo...
>
> 4. ----------------------------------------------
> -------------------------------------------------
>
> I used the below patch to find out how the position info looked
> from my mouse/kbd combo, use it with debug defined in ums.c.
> Looking at the output when moving the mouse might help you to find out
> what your does.
>
> Hope that helps you further along...
>
> Index: ums.c
> ===================================================================
>
> #define UMS_BUT(i) ((i) < 3 ? (((i) + 2) % 3) : (i))
>
> DPRINTFN(5, ("ums_intr: sc=%p status=%d\\n", sc, status));
> - DPRINTFN(5, ("ums_intr: data = %02x %02x %02x\\n",
> - sc->sc_ibuf[0], sc->sc_ibuf[1], sc->sc_ibuf[2]));
> + DPRINTFN(5, ("ums_intr: data = "));
> + for (i=0; i<sc->sc_isize; i++)
> + DPRINTFN(5, ("%02x ", sc->sc_ibuf[i]));
> + DPRINTFN(5, ("\\n"));
>
> if (status == USBD_CANCELLED)
> return;
>
>
> ---------------------------------------------------------
> --------->>>> at this point, i don't where to search to find the mouse position... i don't know which log i have to catch..
>
> Any solution please ?
>
> Many thanks
>
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>
More information about the freebsd-current
mailing list