Logitech V470 Bluetooth Mouse on FreeBSD ?

Maksim Yevmenkin maksim.yevmenkin at gmail.com
Mon Apr 7 17:05:46 UTC 2008


[...]

> > i have a wired usb apple mighty mouse here and horizontal scrolling
> > does not work for me at all. quick look at ums(4) showed that it does
> > not export w data (it tries to locate both wheel and z axis, however
> > it does not look for ac_pan axis).
> >
> > so, it appears that we need to teach moused(8), sysmouse(4) and mice
> > drivers about second wheel. it appears to be a somewhat bigger chunk
> > of work.
>
>  The current situation seems to me not ideal and rather complicated.  You
> said bthidd injects messages directly to kernel.  I don't know what the
> consequences are but I noticed the following ... When I run moused my BT
> mouse works in console (except double clicks etc.).  Unfortunately, because
> I wanted extra functionality from my Synaptics touchpad I installed
> x11-drivers/synaptics port which required disabling moused which handled the
> touchpad as ps/2 mouse.  Now synaptics works great in X11 but it doesn't
> work in console at all and my BT mouse doesn't work in console either.  But
> if I plug in a USB mouse devd runs moused and suddenly my BT mouse works in
> console too.  Funny but very inconvenient, I can tell you.  Fortunately I
> don't work in console that much anymore.

freebsd offers something called sysmouse(4). it allows the console and
the user process (such as xorg) to share the mouse. if you use
sysmouse(4) in xorg - the mouse will be shared between both console
and xorg. if you use specific mouse driver (such as ums(4)) you will
need to put /dev/ums0 in your xorg.conf and use appropriate xorg mouse
driver. in the later case, the mouse will not be shared and will not
work in the console.

bthidd(8) uses console ioctl's to feed bluetooth mouse events into the
kernel (i.e. feed events to sysmouse(4)). this way we automatically
share bluetooth mouse between console and xorg. however, because
sysmouse(4) protocol lacks knowledge about all the fancy buttons and
wheels we can not pass this data to xorg. basically we are limited to
whatever sysmouse(4) protocol knows about.

currently, it is not possible to use bluetooth mouse directly from
xorg/whatever, because there is no device node for it. in other words,
there is no /dev/btmsX device node that feeds data in some protocol to
consumers. i guess, it would be possible to write virtual mouse vms(4)
driver (similar to virtual keyboard driver vkbd(4)) that would simply
be used to pass through mouse data in, say, microsoft protocol or
something like that. however, i think it would be better to add
another level of operation to sysmouse(4) and change protocol so it
can accommodate future extensions.

thanks,
max

>
>  With regards,
>
>  Martin
>


More information about the freebsd-bluetooth mailing list