Cordless combo Mouse/keyboard

From: <charlysquare_at_altern.org>
Date: Tue, 23 Mar 2004 11:41:34 +0100 (CET)
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
Received on Tue Mar 23 2004 - 01:57:53 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:48 UTC