[maemo-developers] [maemo-developers] Bluetooth Mice

From: Gareth Bailey gpb29 at cam.ac.uk
Date: Thu Aug 17 18:01:25 EEST 2006

I've recently been working on getting a bluetooth mouse to work with the 
770. I have somthing which now works however it's not entirely pretty 
and unfortunatly needs modification to the kernel and the xserver.  For 
any one who's interested here's what I did to get it working:

Firstly it helps if you can see a cursor, the cursors on the 770 are 
just themed to be transparent so commenting the line reading 
'Inherits=xcursor-transparent' in /home/user/.icons/default/index.theme" 
will get them back.

I then tried to use a bluetooth mouse straight off just doing a "hidd 
--connect" with no luck.  Next I had a dig arround in the xserver source 
code and found that support for the either touch screen or mouse was 
enabled at compile time so I switched it back to using the mouse 
recompiled and tested, this worked well enough for the mouse but the 
touchscreen obviouly no longer worked correctly.

My next step was to try to change the device driver for the touch screen 
to behave more like a mouse.  I took this step because at first thought 
there is a problem in that the device files for the mice are not created 
until they are connected to the 770 this means that you must use 
/dev/input/mice to get input from the mice.  This is a problem since the 
touch screen also reports to /dev/input/mice so my initial thought was 
to change the touch screen to actually behave like a mouse.   I got 
somewhere near working with this but the driver got out of sync with the 
xserver very quickly and was unuseable.

Incidentally why does the touch screen report to a mouse file when it 
doesn't behave like a mouse?  This seems strange to me.  Does anyone 
know of a way to make it report just to a /dev/input/event* file?  Or 
have any infomation on how the input system reports to the 
/dev/input/mouse* files so it could be disabled in the driver?  I 
couldn't work it out from the source and could find no 
infomation/documentation regarding how evdev/mousedev work. Anyway...

Next I tried to modify the xserver to use Tslib for /dev/input/event2 
(the touch screen) and the mouse driver for /dev/input/mice.  I got this 
working but since the touchscreen also reports to /dev/input/mice I had 
to disable the absolute coordiate reporting in mousedev in the kernel. 
Not entirly pretty but it works.

Instructions and files needed for trying or building it are at 

Opinions, comments, feed back, sugestions on different/'nicer' aproaches 
to this, are very welcome and wanted!  Hope someone finds it 

Thanks for reading,

More information about the maemo-developers mailing list