Search This Site

Wii Remote Mouse Application

This program allows you to control your PC using one or more Nintendo Wii Remotes, you can use with or without a Wii Sensor bar. It was developed with the WiimoteLib library.

It will allow you do these things:

  • Automatically Connect your WiiMotes using the Microsoft bluetooth stack
  • Control Your PC using your WiiMote pointer as your mouse, with a On-Screen Virtual Keyboard
  • Control ANY game using the WiiMote to control your mouse / keyboard and / or a virtual Joystick (with the help of PPJoy), this program fully supports custom mappings, just about anything can be mapped to anything
  • Provide a Whiteboard functionality for doing presentations using your WiiMote which will give you the ability to draw on screen at the press of a button
  • Provide a way for you to make your own gloves and put LEDs on them so you can control your PC with your hands
  • Provide a way for you to give control of your PC to a quadriplegic person by making your own Wiimote compatible Glasses (see doco) - many thanks to TunanuT (From Whirlpool) for his help with this

Best of all, this program is completely freeware and is free to use for any purpose (but dont use it for life critical applications as I take no responsibility for that)

Go to top of page


Filter Images:  

Name	Digital Mapping Settings.JPG
Size	1109x550
Filesize	102.92 Kbyte(s)

Digital Mapping Settings.JPG

(Save File As)
1109 x 550 px
102.92 Kbyte(s)
Hits: 1910/1910

Name	Digital to Analog Mapping Settings.JPG
Size	1122x559
Filesize	105.64 Kbyte(s)

Digital to Analog Mapping Settings.JPG

(Save File As)
1122 x 559 px
105.64 Kbyte(s)
Hits: 1417/1417

Name	Glasses Single LED Controller Settings.JPG
Size	1108x525
Filesize	78.69 Kbyte(s)

Glasses Single LED Controller Settings.JPG

(Save File As)
1108 x 525 px
78.69 Kbyte(s)
Hits: 2685/2685

Name	Quick Import of Settings.JPG
Size	476x183
Filesize	18.21 Kbyte(s)

Quick Import of Settings.JPG

(Save File As)
476 x 183 px
18.21 Kbyte(s)
Hits: 1288/1288

Name	Virtual Keyboard.JPG
Size	1073x532
Filesize	92.46 Kbyte(s)

Virtual Keyboard.JPG

(Save File As)
1073 x 532 px
92.46 Kbyte(s)
Hits: 1314/1314

Name	About Window.JPG
Size	438x242
Filesize	23.46 Kbyte(s)

About Window.JPG

(Save File As)
438 x 242 px
23.46 Kbyte(s)
Hits: 1376/1376

Name	Analog Mapping Settings.JPG
Size	1116x560
Filesize	97.46 Kbyte(s)

Analog Mapping Settings.JPG

(Save File As)
1116 x 560 px
97.46 Kbyte(s)
Hits: 1327/1327

Name	Analog to Digital Mapping Settings.JPG
Size	1117x577
Filesize	97.68 Kbyte(s)

Analog to Digital Mapping Settings.JPG

(Save File As)
1117 x 577 px
97.68 Kbyte(s)
Hits: 1285/1285

Name	Fingers Controller Settings.JPG
Size	956x516
Filesize	79.96 Kbyte(s)

Fingers Controller Settings.JPG

(Save File As)
956 x 516 px
79.96 Kbyte(s)
Hits: 1274/1274

Name	Key Mapping Settings.JPG
Size	1105x570
Filesize	105.34 Kbyte(s)

Key Mapping Settings.JPG

(Save File As)
1105 x 570 px
105.34 Kbyte(s)
Hits: 1244/1244

Name	Mappings List.JPG
Size	1108x560
Filesize	114.16 Kbyte(s)

Mappings List.JPG

(Save File As)
1108 x 560 px
114.16 Kbyte(s)
Hits: 1280/1280

Name	Pointer Controller Settings.JPG
Size	889x493
Filesize	66.96 Kbyte(s)

Pointer Controller Settings.JPG

(Save File As)
889 x 493 px
66.96 Kbyte(s)
Hits: 1268/1268

Name	Script Settings.JPG
Size	1125x620
Filesize	72.37 Kbyte(s)

Script Settings.JPG

(Save File As)
1125 x 620 px
72.37 Kbyte(s)
Hits: 1244/1244

Name	Script Editor.JPG
Size	1093x827
Filesize	90.96 Kbyte(s)

Script Editor.JPG

(Save File As)
1093 x 827 px
90.96 Kbyte(s)
Hits: 1322/1322

Name	Main Window.JPG
Size	539x588
Filesize	55.86 Kbyte(s)

Main Window.JPG

(Save File As)
539 x 588 px
55.86 Kbyte(s)
Hits: 1331/1331

Name	Controller Types.JPG
Size	418x461
Filesize	31 Kbyte(s)

Controller Types.JPG

(Save File As)
418 x 461 px
31 Kbyte(s)
Hits: 1398/1398

Go to top of page

Youtube Videos

View a video of this program in Fingers Mode

Information and Usage

There is a whirlpool thread dedicated to this program here.

Wii Mouse V1.0.5.2 - vJoy fixes - Mappings Name Property and command-line parameter STARTSILENT

Aaron Lee Murgatroyd




The makers of the WIimoteLib C# library (Brian Peek), without this it would have taken me months and months longer
to make this program.

Tunanut from whirlpool for coming up with and testing the Glasses mode.

Mandark, and AlanCarlos from whirlpool for testing and giving me new ideas!

Everyone else who tested it for me :) for their great site containing DLLImports for C#, saved me a lot of time
Richard L. Lynch for showing the world how to permenantly pair wiimotes on the Microsoft Bluetooth stack (
* Fixed vjOY DEMONSTRATION problem - this is in Beta, please let me know if you have any problems - thanks to Mandark for looking into this for me.
* Joystick mode now shows what joystick emulator it is using int he Information pane when in Joystick mode.
* Other minor bug fixes and enhancements
* Fixed bug when setting up a mapping with no name could cause an exception to occur - sorry about that one! :)
* Added Power Saving function for Mouse Pointer and Mouse Pen Pointer forms
* Support for VJOY (DONE) - Simply add VJOY.DLL to the working directory of WiiMouse
* Added Name property to mappings
* Added right click - Details - menu item on runtime exceptions and compiler errors in code editor (shows errors in dialog)
* Info: Please ensure externally referenced script assemblies (using #reference) are targeting .NET 3.5 and are x86 (32-bit), if you are still having troubles, be sure to put the DLL being referenced into the same folder as WiiMouse.EXE and do not use any path information in the #reference line.
* New command-line parameter: STARTSILENT will cause the program to start, not taking focus, not showing the connect dialog on initial load and will also default to system tray.
* Added ScrollMouseWheel function to script mapper, this allows the scrolling of the mosue wheel at the current mouse cursor location - under Mouse Writing category
* Fixed issues with new Nunchuks not being detected and with MotionPlus being detected incorrectly in some instances (thanks to Jérémy for helping a lot with finding this issue!)
* New command-line parameter: STARTINTRAY will cause the programs main window to start in tray (connection hint window will still be shown).
* Volume control added to every controller types settings - set to the far left for no sound (NOTE: Initial connection sound will still play at normal volume).
* Increased driver wait time for Windows XP and old operating systems - this is to give the OS enough time to finish installing the driver so we dont get failed connections so often
* Program now accepts command-line parameter: NONPERMANENT, this forces only temporary pairings (will not work with new wiimotes), and can speed up connection process if you never use the red button to pair
* New key mapping macro script functions added (see the Macros category in the Script editor)
* When sending keys with modifiers you can now use the modifier Keys enumeration values (they will be converted automatically to actual keys), this applies to Keys.Control, Keys.Alt, and Keys.Shift
* All WiiMote reading code templates now use the shortened version of DigitalValue (DV) and AnanlogValue (AV) properties, the old property names have been retained for script backward compatibility
* Fixed Mouse Wheel scroll problems where cursor would act erratically (Thanks Mandark for the bug report)
* Fixed potential bug due to power saving for THQuDraw extension
* Added SensorBar Adjust setting for pointer to Mouse Pointer, Pen Pointer, Named Pipe, and Script / Custom / PP Joystick mode
* Other minor enhancements and bug fixes
* Sound is now played when manual Motion Plus configuration has been completed
* THQ uDraw Tablet WIiMote extension is now supported in NamedPipe mode and Custom / Script / PP Joystick mode, set WiiMouse to Custom / Script / PP Joystick mode and load the provided "THQ uDraw Tablet to Windows Mouse.WMCSPPJ" settings file
* The settings file mentioned above: Tip=LeftMouse button, Rocker switch to tip = Double Click Left Mouse Button, Rocker Swich to Back End = Right Click
* The THQ uDraw Tablet works really well with the script above, so it is a very cheap alternative to a tablet now that the price has gone down ($59 AUD from JB Hi-Fi)
* A bug was fixed where PrimaryScreen selection would map to the EntireDesktop in error
* Mouse emulation is now made smoother, special logic was introduced to ensure that X and Y coordinates get set at the same time with mappings wherever possible
* Other enhancements and bug fixes
* Multi-instance Command-Line now accepts SETCONTROLLERS option - You can now specify the MODE types and / or EXPORT FILENAMES using multi-instance command-lines, simply specify SETCONTROLLERS and then a list of controller type names OR export filenames (in quotes "") for each controller, note that controllers which have not been specified will be set to Pointer type.
* If you choose not to unpair the wiimotes on exit, they will be put into low battery usage mode (no LEDs, AutomaticUpdating, IR etc.)
* If you pair the wiimotes using the RED SYNC button, permanent pairing should occur, this will allow quick pairing when you reboot or replace your BT adapter by pressing the A button BEFORE you load WiiMouse (thanks to mandark from Whirlpool for the heads up on the code)!
* Also thanks to Richard L. Lynch for the code on how to connect permenantly (
* You can now specify multiple controller modes on the command-line, do this by using the mode names (ie. JOYSTICk, POINTER...) or by specifying a filename for the Export settings to load (use quotes (") if filename has spaces, you can also specify just the extension instead, ie. .wmcspen, inplace of the controller name)
* The order the controller types are specified is used for the controllers in that order, other paramters, ie. NONMSSTACK mode can be specified anywhere on the command-line
* New method added to Script / Custom / PP Joy mode under Miscellaneous called "SetWindowsMouseCursorVisibility", this method allows you to hide and show the Windows System Cursors, use this in a script to hide cursors for games which still show the system cursor.
* See the included script example in the download called [Hide or Show Windows Cursors.txt] for an example on how to use it.
* Other mintor bug fixes and enhancements
* Bug fixed where program would not load settings created with previous versions - NOTE: All controller settings saved with version (only) are invalid and will not work with this version, or versions prior to
* Many minor fixes made to sketch pen mode
* Named pipe wiimote data drawing now uses anti-aliasing and this is now not overridden within the DrawWiimote method.
* Protection added to program to stop unauthorised tampering - virus embedding - please let me know if you find any bugs that werent there before
* Other minor bug fixes and enhancments
* New functions added to scripting, including but not limited to: m.ResetMotionPlusFaceTowardsPlayerPointingUp(), m.ResetMotionPlusFaceDownTowardsScreen(), m.ResetMotionPlusFaceUpTowardsScreen()
* New controller type called - Sketch Pen (Whiteboard) - This controller type allows you to use an LED pen with a momentary switch on the end so you sketch over a projected screen or monitor (Command-line parameter: SKETCHPEN)
* Sketch Pen (Whiteboard) - Controller type has the ability to use a dual LED pen (one LED on tip of pen, one LED on the other end of PEN), this second LED should be hooked up to a second monentary switch just before the switch on the tip, hold the original momentary switch then press the other one to get right click ability or to show / hide keyboard depending on settings
* Changes made to the way mapping settings are saved and loaded - this should be fully backward compatible, please LET ME KNOW if you find any problems with this.
* New column "Select" [Output] added to custom mappings in Custom / Script / PP Joystick mode, click this button and read instructions on how to quickly select Keys, Mouse Buttons and Mouse Wheel outputs
* Mouse wheel output now has option in mapping settings for Key Modifiers, this allows you to do things like Zoom in browsers using Ctrl + Mouse Wheel
* New column "Delete" in mapping setup added to quickly delete a row instead of having to select the row and press the delete key on the keyboard
* Thread priority on WiiMote playing of sounds has been increased, this should make it sound a little better
* Program did not handle well before when the monitors (or screens) in windows were changed while the program is running, this now handled better and will even hold settings for screens which were available but arent now
* Fixed problem where Apply button would not light up after deleting rows from the mapping setup control
* Controller settings are now more robust.
* Fixed issue with double click in tray icon where it will click icon next to it when releasing mouse button under Vista and Win 7
* Flashing lights form no longer takes the focus
* Power saving option added to Mouse Pointer and Mouse Pen Pointer modes (after 5 minutes of inactivity the Wiimote LEDs will turn off and all will flash very briefly every 10 seconds, press any Wiimote button to wake the wiimote) - this feature is in Beta, please let me know if you find any problems relating to it
* Context sensitive help added to the program, press F1 to show help for keyboard focused control, or press Ctrl-F1 for help topic relating to mouse cursor control (NOTE: Not all topics have been written yet, therefore this feature is inbeta).
* Other minor bug fixes
* Fixed problem on some OS's with the OK and Cancel buttons in the mapping settings being incorrectly positioned
* The mappings grid now updates a bit more smoothly with the revert and default buttons
* Added Nunchuk Up and Down motion mapping input
* Mappings with Analog inputs now have an extra option called Offset - this option offsets the entire output but is also inverted
* Fixed minor bug in mapping settings display of 0 value with deadzones - it didnt quite match the output shown
* In the mapping settings you can now right click on a track bar (slider) and select Reset to Default Value
* Removed connection change code from version 1036 as this caused problems with connecting sometimes for me
* Fixed code template issue for Debug.Write and Debug.WriteLine script commands - they were missing the dot
* Added new script to download - Rumble when B pressed for 100 ms.
* Decreased Mouse DirectInput Rel X/Y sensitivity by a factor of 10, this should give finer control with the sensitivity slider
* Mouse DirectInput Rel X/Y and Mouse DirectInput X/Y now show in the preview correctly under the mapping setings dialog
* Previews in mapping settings dialog now work irrespective of the Scroll lock status or the "Disable mouse emulation when scroll lock is off" checkbox setting
* Added culture delocalisation for settings files, this means that you re-export your profiles after loading them to save them in the new localisation format (this will allow you to transport settings profiles between different localisation languages)
* Fixed possible error showing about grid view combo boxes in the custom mappings for non PP Joystick entries (thanks to alancarlos for finding this problem)
* Save / Load order is now set to load the "Disable mouse emulation when scroll lock is off" settings first, this will stop changes to cursor when loading WiiMouse if the Scroll Lock isnt on and this option is checked
* A bell sound (pretty crappy at the moment - restriction of running wiimote in user mode unfortunately) will play when a Wiimote Connects
* Higher resolution "Wiimote" cursor for Mouse Pointer modes (thanks to alan carlos for his contribution of the new cursor graphics)
* Settings are now more robust
* Fixed potential problem where WiiMote LEDs seem to keep flashing after connecting successfully (this is a beta change - let me know if you have connection problems you didnt have before)
* Other minor bug fixes
* Fixed very small memory leak in code editor
* Changed PP Joystick mode - now called Custom / Script / PP Joystick
* Added four new mapping outputs for Custom / Script / PP Joystick mode - Mouse DirectInput X/Y and Mouse DirectInput Rel X/Y, these should map to X,Y coordinates that work with direct input games
* Type in Mapping Setup now displays proper description
* There were mistakes in the names of certain input mappings, they have been fixed, but because of this they will not load the next time you load them, instead any items with a previous input of Class Left Stick X, Class Left Stick Y, or Balance Board Btm Rt will be ignored, please take note of this to fix your mappings up (sorry about that)
* The mapping was incorrect for the Tip Forward or Backward and Tip Left or Right input mapping items, they were swapped, this has now been recitified, be sure to fix you mappings if you use these items
* Confirmation to unpair wiimotes now has a cancel button, this will stop the application from closing
* Lots of code was cleaned up, this should correlate to faster mappings (less lag)
* Fixed mouse movement issues relating to higher DPI values from normal under Windows 7
* Fixed control sizing issues relating to higher DPI values from normal under Windows 7
* Fixed missing "Arial Unicode MS" font problem for Wiimote Data under Windows XP
* New Pointer mode added Motion Plus Pointer Mode
- Calibrate Motion Plus by the usual method (placing wiimote upside down)
- Point WiiMote at cursor location on screen and hold B, use A for left click, and One button for right click
* New option in Pointer mode and Motion Plus Pointer mode to use 2 button for virtual keyboard (instead of C nunchuck button)
* Added cross extra 2nd instance command-line option EXITUNPAIR will exit and force wiimote unpairing
* Added cross extra 2nd instance command-line option EXITNOUNPAIR will exit without unpairing
* Added cross extra 2nd instance command-line option EXIT will exit and ask to unpair
* Home button was not working (show/hide desktop) due to Extended key code for Windows key not being recognised (fixed)
* New Mouse Wheel items added to PP Joy mappings
* Bug fixed with Mouse Button mappings (found under Key LBUTTON, Key MBUTTON, Key RBUTTON)
* Heaps of minor fixes and updates
* C# scripting support added to PP Joystick with full Syntax Highlighter
- see scripts folder in release ZIP file for an example script
* Ability to add external dll references using the #reference compiler keyword in the scripts
- This keyword can take any of these things as parameters:
* Just the primary base namespace of the assembly
* The full path to the file
* Relative path to the WiiMouse.Exe
* full assembly name representation
* Heaps of changes to the connection process, now much smoother, program now automatically cleans your rogue bluetooth devices
* Popup form will show when you need to ensure you wiimote lights are flashing
* Added question when closing if you want to unpair your devices to ensure a clean disconnect
* Calibration button in settings for PPJoy for Balance Board
* Calibration instructions built into settings for Motion Plus
* Motion Plus not longer activated for Non PPJOY / NamedPipe controller types (this saves battery - its not being used anyway)
* New Controller Type!! - NamedPipe, this controller allows you to use the WiiMouseUtils.WiimotesPipedComm.DLL file to add full Wiimote Support to your own applications
* NamedPipe mode has support for - Speaker (playing Raw 8-Bit or 4-Bit PCM files), BalanceBoard, Wiimote, Classic Controller, Nunchuk, MotionPlus, LEDs and Wiimote Pointer
* See the included ZIP file for a C# Visual Studio Express application that demonstrates using this DLL
* Fixed auto detect buttons in Mapping for PPJoy - they would always pick the Pointer or MotionPlus values
* Many other updates and bug fixes
* Motion plus (beta) now supported in Pen Pointer (preview) and in PP Joystick modes
* FUTURE ADDITION TBA: A new option may be added to the Pen Pointer to soon to allow for using pointer via MotionPlus only
* Two modes of access from PP Joystick mode - Yaw, Pitch, and Roll values, or X, Y, Z Pointer Orientation values
* Calibration of MotionPlus is required after each connection, to perform clibration follow these steps
- If dont have a wii sensor bar available lie the remote face down on a flat surface pointing perpendicular to your screen (Status screen will say "Calibrating MotionPlus", and then "Calibration Complete")
- If you do have a wii sensor bar available lie the remote face down on a flat pointing at any angle, once calibration is complete, point the wiimote at your sensor bar (Status screen will say "Calibrating MotionPlus", and then "Calibration Complete")
* More stable communication with WiiMote
* Better connection
* New options added to settings for Pointer and Pen Pointer, one checkbox to use left and right arrow keys instead of horizontal scrolling for + wiimote key left and right, and another checkbox for up and down
* Other minor adjustment / enhancements
* Single LED Glasses has more options: Min / Max distance for clicking
* Keyboard emulation now uses ScanCodes instead of Virtual Key Codes, this should fix issues with emulation in games and FireFox zooming
* Other minor adjustments / enhancements
* Shapes on pen form
* Add Mouse outputs X, Y abs and relative to mapping types to PP Joystick
* Added Mouse Inputs X, Y to inputs to PP Joystick
* Added Pointer X, Y and Rotation Inputs to PP Joystick
* Added extra options to PP Joy controller for pointer inputs
* Other minor bug fixes
* Connection to Wiimotes is now faster
* SendInput should now work on 64-bit windows
* Added Opacity to Pen form right click menu
* Added shapes and arrows to pen form right click menu
* Made MORE adjustments to data grid so that selecting a combo box item unselects it for mouse wheel
* Auto Apply in settings menu is now available (this option needs to be set each time the form is opened)
* Added vertical scroll bar to version checking form detail information
* Add Shift, Control, Alt and Win modifiers to virtual key mappings
* REDETECT command-line with controller type eg. REDETECT JOYSTICK will for current open instance redetect in joystick mode
* Pen mode settings dialog (no new options ... yet)
* Pen mode menus (menus now say Pen Pointer instead of pointer
* Non MS Stack Mode is now implemented specify NONMSSTACK as second or first parameter on command-line if you arent using MS Stack
* Fixed problems with Pen Pointer:
- Multi wiimotes, when initiating a pen form show, all wiimote forms are hidden so they dont show on screenshot
- Only owner of pen can hide the penform now
* Bug where right click systray menu not updating for second or third (...) wiimote fixed
* Fixed Balance Board inputs for PPJoyController (Button maps to A button)
* Balance board will ALWAYS be setup with PPJoyController type
* Balance board is now named appropriately in the tab headings
* Multiple wiimotes in PPJoy mode now synchronise properly so that data values are accurate (used to jump around before)
* Added seperate balance board inputs for each corner weight sensor
* Right click on systray icon for settings import / export
* Add new pointer type controller called Pen pointer (PENPOINTER on command line)
- Use Home Button to initiate drawing mode Red pen, Home button to close it
- Use Minor issues with this controller with multiple wiimotes
* Added cross application communication REDETECT and REDETECTFORCEFULLY on command-line
* Add description showing to setup for input tooltip hints
- Add preview window for mapping dead zones and zoom and axis value
* Add Min and Max Center instead of just center dead zone
* Changed mapping settings interface so that joystick dosnt have to be selected for standalone mapping types
* Add new pointer type controller called Pen pointer
- Make it so that when form is closed an event fires, and then temp. disable dual button drag
* Mappings data grid now redraws much quicker
* Mappings data grid easier to use due to single click for combo boxes
* Add Balance Board to inputs for PPJoyController (UNTESTED)
* Some keys were not showing in the PP Joy key selection (thanks to GoaSpy for finding this)
* Program now has check for new version option, it automatically checks when it first starts up
* Changed deadzones in mappings so they dont cut the value off, but rather smooth the cut values out
* Fixed problem with losing connection to PP Joys when they are changed in the PP Joy configuration
* Other Minor fixes - Joystick Emulator Release with Custom Mappings (JOYSTICK on command line)
* Now has PPJoystick mode so you can play any game with your wiimote!
* Added Export / Import settings from dialog
* Added PP Joystick with customisable settings (Use JOYSTICK on command-line to specify controller type)
* Changed mapping settings interface so that joystick dosnt have to be selected for standalone mapping types
* Added deadzones to mapping settings
* Added sensitivity to mapping settings
* Fixed up key selection in mappings move Input to start of columns list
* Added WiimoteGameMode (Integrate PPJoystick into controller and settings)
* Added setting to all controllers which use mouse position for screen / monitor selection (good for multi monitors)
* Added code for Virtual Keys and tracking so that disposable mapping can unpress key when required Joystick Emulator Pre Release!
* Now has a new controller type - PP Joystick see instructions under heading Emulating
Joystick in this text file
* Center calibration for Fingers, Glasses and Glasses Single LED
* Auto center calibration
* Minor bug fixed where Size setting wouldnt update dots straight away
* Other minor bug fixes
* You can now change the controller types on the fly
* Many more settings added to all controller types
* Problem with main form losing focus is fixed
* Added opacity settings for Fingers, Glasses, and Glasses Single LED (Fingers only needed)
* Added option to pointer to hide hand cursor (and use normal mouse pointer only)
* Caching of rotational images for pointer (smoother rotation for larger pointers)
* Other minor changes / fixes
* Many more settings have been added, and now the Fingers, Pointer, Glasses and SingleLedGlasses
have their own settings. These settings include CursorSize, JitterStop, DeadZone, DoubleButtonDrag, and
a few others I cant remember
* About box has been upgraded to a full About dialog with infor, and links and stuff
* Main window is now fixed size
* Minor other changes and fixes
* Settings are now much more advanced, each wiimote type (Fingers, Pointer, Glasses, SingleLedGlasses) for each
position of remote has its own settings. Settings are now activated using settings button
* Added settings for Pointer remote (NOTE: No other wiimote types have settings at this time, also your previous
cursor size setting will be lost, please use the settings to set it again)
* Add new glasses mode using command line parameter (GLASSESSINGLELED), this mode uses two LEDs only, the left most
LED is used for cursor position, the right most LED when list LEFT clicks the mouse button, this means that Right
clicking when in this mode is impossible at this point in time.
* Increased dead zone for all Glasses modes
* Allowed dots to move outside screen when in glasses mode, this allows for easier cursor positioning on edge of screen
* Fixed problem with virtual keyboard not showing in fingers mode
* Relaxed right click restrictions when in Glasses mode
* Other Minor fixes and Updates
* Now allows for glasses mode (make some glasses with one LED in the center, and one either side of the center
each about 2 CMs away from the center and vertically aligned with the center (specify "GLASSES" on the command
line without the quotes) See glasses mode below for more information
* Now allows the use of fingers to control Mouse and Keyboard, please see section under making
your own finger glove in this file for more information
* Added About box
* Made clicks a little easier in non finger mode
* Now allows the wii mouse cursor to go outside the keyboard after moving it on the virtual keyboard
* Reduced double click wait time to 25 ms when over the virtual keyboard making it easier to use
* Made back flicking of nunchuk easier - Now has virtual keyboard (Hold C button on nunchuk to show virtual keyboard) - First official release version
Allows you to use one or more Wii Remotes on your windows XP or Vista computer

Things you will need:
* 1 or more Wii Remotes ($70 AUD ea)
* Windows XP or Vista PC with bluetooth connectivity (Microsoft Stack preferred)
(you can purchase a Bluetooth USB dongle for $10 AUD if your computer isnt bluetooth enabled),
I recommend the D-Link DBT-120 USB DOngle (

* OPTIONAL: Cordless Wii Sensor bar ($15 AUD)
If dont you have a cordless or seperate wii sensor bar you have three options:

1) Dont use the pointer on the screen - you can still control the mouse with the nunchuck
2) You can use your wiis sensorbar, but you must follow these steps:
* Make sure you Wii is OFF
* Connect your Wiimotes to your computer and get the program running with them conencted
* Turn your Wii on and use the Sensor bar from that

3) See section under making your own glove in this file to use your fingers instead


Hold down buttons 1 & 2 on all remotes that you wish to connect (if the LEDs stop flashing, release
and hold buttons 1 & 2 again) and run WiiMouse.exe, wait for connection, if it dosnt detect all of the
remotes you are trying to connect just use the Force Re-Detect button and keep those lights flashing on
all remotes.

NOTE: If your bluetooth stack does not use Microsofts implementation, you will have to use your
bluetooth icon to connect your wiimotes manually, do this by holding buttons 1 & 2 down and
using your bluetooth connection icon.

Once connected the program will say "X wiimotes connected, point the wiimote(s) at the Wii Sensorbar...".

Controls once connected:
WiiMote Pointer Mode
Up, Down, Left, Right - Scrolls window (automatically detects when control is held sideways)
A - Left mouse button
B - Right mouse button
+ - Ctrl+MouseWheel (zoom in - in browsers)
- - Ctrl+MouseWheel (zoom out - in browsers)
1 button - Flashses battery level on remote while held
Home - Show / Hide desktop
Nunchuck Flick Left / Right - Alt Shift Tab, Alt Tab
Nunchuck Flick Forward - Maximize window under cursor
Nunchuck Flick Backward - Restore / Minimize window under cursor
Nunchuck Joystick (Wiimote pointing at sensor bar, wiimote cursor on screen) - Scroll around
Nunchuck Joystick (Wiimote NOT pointing at sensor bar, wiimote cursor not on screen) - Move cursor
Nunchuck Joystick Holding Z (Wiimote NOT pointing at sensor bar) - Scroll window
Nunchuck Hold Z and flick - move window to screen position (forward - half up, back - half down, right half right, left half left)
Virtual Keyboard - Hold C button on nunchuk to show virtual keyboard
WiiMote off screen holding 2 button - tilt to move cursor

Hold A or B (left or right mouse button drag)
then hold other button (A or B) and drag

Fingers Pointer Mode (First wiimote only - other wiimotes use WiiMote Pointer Mode)
When dots are vertical and coloured green squeeze fingers together to right click
When dots are more horizontal and coloured blue squeeze fingers together for left clik
Spin hand clockwise 180 degrees to show / hide virtual keyboard

Glasses Pointer Mode (First wiimote only - other wiimotes use WiiMote Pointer Mode)
Make glasses as stated above under changes or changes (SingleLED mode)
Hook temporary state push button up to middle or right most LED
Put on glasses and look around to move cursor
Hold temporary state push button to click (try tilting head sideways for right click - green dots - not available in SingleLED mode)

Making your own glove and using fingers pointer mode:
To use fingers pointer mode as in the youtube video here (
you will need to make a glove, the parts will cost you about 20 dollars, but you will need a soldering
iron as well.

What you need
* 2 Infrared LEDs (1.2 to 1.5 volt)
* 1 woollen left or right handed mitten
* 1 Resister (50 - 200 ohm depending on LED voltage)
* 1 AA Battery holder
* 1 Switch
* Small slipthrough cable ties (est. 10)
* Small heatshrink (about 3-4 mm in diameter)
* Some wiring
* Some solder and a soldering iron

* NOTE: While soldering be sure to put the appropriate number and size of
heatshrink on as you go so you can heatshrink all the exposed wires
and solder joints.

1) Solder wire on to negative battery terminal
2) Solder resister on to other end of wire from step 1
3) Solder wire to other end of resister from step 2
4) solder other end of wire from step 3 onto one of the switch pins
5) Solder wire on to other switch pin (other end of wire is negative for LEDs)
6) Solder wire to positive battery terminal (other end of wire is positive for LEDs)
6) Solder LEDs in parallel on to positive and negative wires from step 5 and 6

+++++[ AA BATTERY HOLDER ]----|--=RESISTOR=--|----=|~~~~~~
| |= (SWITCH)
++++++++++++++++++++++++++++ -------------------=|~~~~~~
+ -

7) Move heatshrink into place and shrink it
8) Use cable ties to fix LEDs on center of fingernails on glove for index and thumb
9) Use cable ties to fix AA batterholder and Switch (be sure you put them in a place which wont hinder movement)
10) Use cable ties to make wires neater
11) Load the program but specify a command line parameter / argument of "FINGER" without the quotes
12) Get it to detect the wiimote
13) Place the wiimote somewhere with the end of the wiimote (the part containing the black area) facing your fingertips
14) Turn on the switch on your glove

* NOTE: Finger pointing will only be used for the FIRST wiimote detected when in FINGER mode,
every wiimote after that one will be in normal pointer mode and will require a WiiSensor bar

Thats it, it took me about 2 hours, but I dont do much soldering, so im pretty slow.
Emulating Joystick Steps:

1) First of all download PPJoy from here:

2) Install PP Joystick click Continue Anyway to install the joy bus driver
3) Run the "Configure Joysticks" shortcut for PP Joy
4) Click Add - Select Virtual Joysticks from the Parallel Port
5) Click Add
6) Click Done - Install the drivers - If a window pops up select No Not this time
for searching the net, click next, and select Install the Software Automatically, click
next and wait for the device to be installed - Click Continue Anyway

7) You now have a new game controller in your control panel under Game Controllers called
PPJoy Virtual Joystick 1, you will not have to repeat steps 1 - 7 again

8) Load my program with the command-line of "JOYSTICK" (without the quotes) and connect
your wiimote, or simply load my program and select PP Joystick from the controller type
once you have your wiimote connected (See above for how to get your wiimote connected)

9) Thats it, if you go into the properties of the PPJoy Virtual joystick you will see that
tilting the wiimote is the XY, one of the POV hats is linked to the (up/down/left/right buttons)
all other buttons are linked to various buttons, and if you plug in the Nunchuk all the mappings
are their for that as well

LIMITATIONS: This is just a prototype version, there is no custom mappings available at this time,
however, in the next release version you will be able to custom map everything to anything, including,
the mouse, key presses, digital to joystick axes, analog to joystick buttons, and digital to
digital and analog to analog. There will even be support for the Wii Balance Board and the
wii Classic Controller as well

TESTING: I have tested this on my Windows XP 32-bit machine playing Need for Speed Most Wanted and it
works superbly (of course you may need to map the controls to your new joystick in the game first).

This software is free to use for any purpose, however if you like it, you can contribute to my work by donating at:
I take no responsibility for any damamge caused as a direct or indirect result of anyone using this software, it is not designed for use
in life critical applications (eg. Flight control, medical and so forth)

Go to top of page


You can download the latest version of Wii Mouse here. ZIPped EXE:

Compatible with WIN32/WIN64 (XP, Vista, or Windows 7) using .NET 3.5
(Windows 7 comes with .NET 3.5 already installed)

Wii Remote Mouse (ZIPped EXE)
Size: 1.78 MB
Uploaded: March 14, 2013
This file has been downloaded 9536 (9536) times
It was last downloaded on Fri, 18 Jan 2019 03:50:54 +1100