Control your mouse cursor by WIIMOTE

Since the Wii Remote uses bluetooth to communicate with the console, it’s relatively straightforward to use it to control a computer. The most obvious way is similar to the main menu on the Wii console – point the remote where you want the cursor to go, and press A and B to left and right click. There are also options for tilting the Wiimote to move the cursor around, which is useful if you don’t have a sensor bar available.

You can Do all this stuff by using a tool WMGUI which is a utility of CWiiD.

To install and make this work follow the instructions :-

sudo apt-get install libcwiid1

sudo apt-get install lswm


sudo apt-get install wmgui

sudo apt-get install wminput

Now load wmgui in terminal

Now click on Connect button in FILE

Select “connect” from the file menu, press 1+2 when prompted then OK. Lights and rumble can be turned on and off from the controls menu, and which inputs are displayed from the settings menu. Using this, you can test the IR camera, the accelerometers and check the inputs from the Nunchuck or Classic Controller.

Next up is the mouse “emulator” which allows you to control the mouse with the Wiimote. At this point, it can be run with default settings (tilting the Wiimote moves the pointer, A and B work as left and right click).

The uinput module needs to be loaded into the kernal first. This can either be done manually after every reboot:

lswm

This should return the address of the Wiimote (something like 00:1F:32:95:EF:B0). This will be different for each Wiimote. If it doesn’t work, try again, ensuring the lights on the Wiimote are still flashing when you run lswm.

Moving the mouse by tilting the Wiimote

Press the 1+2 buttons on the Wiimote and run:

sudo wminput 00:1F:32:95:EF:B0

replacing 00:1F:32:95:EF:B0 with the address of your Wiimote. This can be run without the address, but will take longer to connect.

Press 1+2 on the Wiimote and from a terminal run this:

wminput -c ir_ptr 00:1F:32:95:EF:B0

Running wminput as user (not root)

Normally wminput has to be run as root as the uinput device requires root priviliges. To allow any user to access it add a rule to /etc/udev/rules.d to change the mode of the device to “0600”, e.g

 sudo sh -c 'echo KERNEL\=\=\"uinput\", MODE\=\"0666\" > /etc/udev/rules.d/71-wiiremote.rules'

 

then reboot or restart the udev service

 

sudo service udev restart 

 

WMGUI as daemon

wminput -d 00:1F:32:95:EF:B0

Will run wminput in daemon mode – quiet output, waits indefinitely and continually retries to reconnect. Press 1+2 on the remote to connect, the remote powerbutton to disconnect.

nohup wminput -d 00:1F:32:95:EF:B0&

Will launch it quietly in the background.

 

By this you can easily Control your mouse cursor using WiiMote. Plus you can find accelerometer’s X-, Y- & Z- axes

Advertisements

Lets start with Wiimote

Wiimote is a Bluetooth enabled remote control for Wii gaming from Nintendo factory. These days it is becoming centre of attraction for hackers. Due to its various features like Bluetooth connectivity, accelerometers etc . I Purchased a wiimote set after struggling in Lajpat Rai Market, Chandni Chowk. Now I started working on and understanding its features. I tried to Hack it and started by downloading libraries (you can say drivers) for wiimote from internet on my ubu-antriksh ( i used to call my laptop by this when ubuntu OS is running lol).

My First Experiment is basically not only mine its been done already by lot of people but was first for me. I tried to make wiimote work as mouse on ubu-antriksh. I google it, and finally found some blogs and forum which could help me. Now explaining Stepwise :

install drivers for wiimote. i.e libwiimote using

wget http://downloads.sourceforge.net/libwiimote/libwiimote-0.4.tgz?modtime=1173542681&big_mirror=0

then Install wmgui, its a gui wiimote emulator using

” $ sudo apt-get install wmgui”

install lswm

“$ sudo apt-get install lswm”

install wminput
“$ sudo apt-get install wminstall”

now using command lswm , we get the address of the wiimote connected to your PC.
“$ lswm”

wiimote as mouse

Here 00:18:00:0E:0F:00 is the address of the device connected to bluetooth device of your PC or laptop. It is different for different devices.

now use wminput 00:18:00:0E:0F:00

wiimote as mouse

The man pages for wminput does not recommend running wminput as root. So run the following command so that you can gain access to /dev/input/uinput without having to use
sudo.

$ sudo sh -c ‘echo “KERNEL==\”uinput\”, GROUP=\”admin\””> /etc/udev/rules.d/50-cwiid-input.rules’ /etc/init.d/udev restart

This would help you in the process of using Wiimote as your laptop or PC’s mouse. So HACK & ENJOY.