WIIMOTE(4)WIIMOTE(4)NAMEwiimote - X driver for the Nintendo Wiimote
SYNOPSIS
Section "InputDevice"
Identifier "devname"
Driver "wiimote"
Option "Device" "devpath"
Option "IR" "True"
Option "Tilt" "True"
Option "Nunchuk" "True"
Option "Accelerometer" "True"
Option "LED[1-4]" "False"
Option "ButtonMapping" "string"
Option "AxisMapping" "string"
...
EndSection
DESCRIPTIONwiimote is an Xorg input driver for the Nintendo Wiimote
The wiimote driver can do pointer emulation. It can be used as the
core pointer. For default order of buttons see Option "ButtonMapping"
below.
CONFIGURATION DETAILS
Please refer to xorg.conf(5) for general configuration details and for
options that can be used with all input drivers. This section only
covers configuration details specific to this driver.
OPTIONS
The following driver Options control what devices are accepted:
Option "Device" "string"
Specifies the bluetooth-address to connect to. The address must
be in a form of "00:AB:11:CD:22:EF". The device must be set to
discovery mode (press 1+2 simultaneously or the red button
inside the battery compartment).
If the device cannot be reached, the driver will fail and the
device will not be available.
Option "Name" "string"
Specifies the device name for the device you wish to use.
It probably helps if you assign some meaningful name to the
device, so an X client has some way of knowing what the device
actually is. Think "Wiimote 1" or the like.
Option "IR" "bool"
Enable IR on the device (default enabled). If IR is enabled, it
screws with everything (see AxisMapping and BUGS ).
Option "Tilt" "bool"
Enable tilt sensors on the device (default enabled).
Option "Nunchuk" "bool"
Enable Nunchuk (default disabled). The nunchuck reports three
accelerometer axis plus two joystick axis reporting. All values
are to be used as relative device.
Option "Accelerometer" "bool"
Enable the 3 accelerometer-axes on the device (default dis‐
abled).
Option "LED[1-4]" "bool"
Activate/deactivate the specified LED. All LEDs are deactivated
by default. Note that each LED must be enabled separately (e.g.
LED4 will enable the rightmost LED).
Option "ButtonMapping" "1 3 4 5"
Change button mapping. The supplied string specifies the button
number for each button in the following order: A, B, one, two,
up, down, left, right, minus, plus, home, z, c. Values must be
space-separated. Example: "7 8" makes A and B report as buttons
7 and 8.
Button numbering starts at 1.
Option "AxisMapping" "5 1 3 4"
Change axis mapping. The supplied string specifies the axis num‐
ber for each axis in the following order: tilt(x), tilt(y),
tilt(z), accel(x), accel(y), accel(z), nunchuk(x), nunchuck(y),
nunchuck(z), nunchuck_joystick(x), nunchuck_joystick(y). Exam‐
ple: "5 6" makes tilt(x) and tilt(y) report as axis 5 and 6.
Axis numbering starts at 1. IR always reports as axes 0 and 1
(see BUGS below). If IR is enabled and an AxisMapping is speci‐
fied, the mapping will only apply from axes 3 onwards (thus if
tilt(y) is mapped to axis 1, it will actually report as axis 3).
NOTES
The wiimote reports the IR axis in its own special way. It divides the
screen into 9 segments, split up into quadratic boxes of 256 units
length with a same-sized box as spacer in between. This driver skips
the spaces and reports coordinates in one continuous coordinate system.
That means although the wiimote tells you 512, the actual coordinate
reported by the driver is 256. The resolution reported by the wiimote
is 1024x768.
BUGS
The X Input Extension does not cater for devices that can report both
relative and absolute axes. In the case of the wiimote this is bad, as
tilt, the nunchuk joystick and accelerometers do not make sense as
absolute devices. IR on the other hand doesn't make sense as relative
devices.
The solution by this driver is the following: if IR is enabled, the IR
axes are always the first two axes (controlling the system cursor).
Each time they change, an event is sent to clients containing only the
two IR axes as x/y coordinates.
If any other devices are enabled and change state, a second event is
sent that contains all other axes. The IR axes (x/y) take on the last
known state. So for you that means if you get an event with (num_valua‐
tors == 2) say hello to the IR values. Otherwise interpret the axes as
desired. Sometimes gnawing through your wrist may be the appropriate
solution.
This forced IR mapping to x/y screws with the axis mapping specified in
the configuration. Read the above section on AxisMapping for further
details.
AUTHORS
Peter Hutterer <peter@cs.unisa.edu.au>
SEE ALSOXorg(1), xorg.conf(5), xorgconfig(1), Xserver(1), X(7).
X Version 11 xf86-input-wiimote 0.0.1 WIIMOTE(4)