For educational purposes I've set out to write a python script using cwiid
and Xlib
so that I can use my wiimote like a mouse.
So far I've gotten the cursor to move by calling disp.warp_pointer(dx,dy)
then calling disp.sync()
every set time interval. I'm afraid that it might not be the most efficient way to do it but at least for now, it's simple and works well enough.
The problem I'm having more difficulty with is mouse clicks. How do I simulate a mouse click in Xlib? I would like separate press and release events so that I can drag and drop stuff. I've come across this post, but all of the solutions there seem to use other libraries.
On plain Xlib (C language), you can use the XTestExtension
or XSendEvent()
. I'm not sure about their python bindings. There are probably bindings for their xcb versions using xpyb
.
There's also a binary called xte
from the xautomation
package (on Debian, sudo apt-get install xautomation
and then man xte
). xte
is very easy to use, and you can also look at its source code to learn how to use the XTestExtension
.
Pointers: