table of contents
XORG-XWIIMOTE(4) | X Version 11 | XORG-XWIIMOTE(4) |
NAME¶
xf86-input-xwiimote - X.Org Nintendo Wii Remote Input Driver
SYNOPSIS¶
Section "InputDevice" Identifier "devname" Driver "xwiimote" ... Option "Device" "devpath" Option "MotionSource" "source" ... Option "MPNormalization" "Int:Int:Int" Option "MPCalibrationFactor" "Int" Option "MPXAxis" "x" or "y" or "z" Option "MPXScale" "Int" ... Option "MapLeft" "val" Option "MapRight" "val" Option "MapUp" "val" Option "MapDown" "val" Option "MapA" "val" Option "MapB" "val" Option "MapPlus" "val" Option "MapMinus" "val" Option "MapHome" "val" Option "MapOne" "val" Option "MapTwo" "val" ... Option "XkbRules" "rules" Option "XkbModel" "model" Option "XkbLayout" "layout" Option "XkbVariant" "variant" Option "XkbOptions" "options" EndSection
DESCRIPTION¶
xwiimote is an Xorg input driver for Nintendo Wii Remotes
on Linux. It is based on the xwiimote tools and kernel driver. With
this driver you can use the Wii Remote as input for any X application
including games. It is highly customizable but comes with sane default
values.
The Wii Remote can serve as pointer and keyboard device. The Pointer
capabilities are disabled by default. The buttons are mapped to sane default
keys so you can directly use the Wii Remote as input device without
configuring it.
It is recommended that xwiimote devices are configured through the
InputClass directive (refer to xorg.conf(5)) instead of manual
per-device configuration. Devices configured in the xorg.conf(5) are not
hot-plug capable so use an InputClass instead. This package comes
with the default configuration installed as
/etc/X11/xorg.conf.d/60-xwiimotes.conf but your distribution may have
installed it into other locations. Use this default to configure your Wii
Remotes.
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.
The following driver Options are supported:
- Option "Device" "devpath"
- This specifies the device path to the input event-device of the Wii Remote. This is most often a device in /dev/input/eventX. Do not use this option unless you want to disable device hot-plug.
- Option "MotionSource" "source"
- The Wii Remote can be used as motion input device (like a mouse). This
selects what kind of motion-emulation should be performed. source
can be one of accelerometer, ir, MotionPlus or
off. Default is off which means no motion-emulation is done.
accelerometer means that the accelerometer is used to calculate
current tilt and use this as absolute pointer input.
ir means that the IR sensor is used to detect the mouse-location. You need to place an IR emitter in front of you. The Wii Remote has a built-in camera to scan it and calculate the pointer-position from it. Only a single IR source is used by this driver. If multiple IR sources are found, the upper-left most is used.
MotionPlus means that the gyroscope of MotionPlus extensions (or Gen2.0 Devices with built-in MotionPlus) is used. You need to set MPNormalization and MPCalibrationFactor or use run-time calibration to make use of this. This does nothing if no MotionPlus is detected. With newer kernels, you can plug/replug the MotionPlus adapter during runtime and it gets detected automatically.
Option "MPNormalization" "On" or
"Int:Int:Int"
Option "MPCalibrationFactor" "On" or
"Int"
Option "MPXAxis" "x" or "y" or
"z"
Option "MPXScale" "Int"
Option "MPYAxis" "x" or "y" or
"z"
Option "MPYScale" "Int"
Option "MPZAxis" "x" or "y" or
"z"
Option "MPZScale" "Int"
The calibration factor is used to apply calibration values during runtime to keep the data smooth. A factor between 10 and 100 is normally used. If set to on, 50 will be used.
The Axis and Scale options for each axis define remappings and scaling in case the default mappings are not what you want. The Axis selector specifies which axis to use as source. So if you set MPXAxis to z, then whenever the driver wants to read the X-axis values, it gets the Z-axis instead. The Scale options specify a multiplier. The default is 1 (no scaling). The default for the axis-mappings are the trivial mappings. Note that the MP-motion-source only uses X and Z axis for movement calculations.
The following options specify keymaps for the buttons of a Wii Remote. The val field of the options must be one of the linux input-key/btn constants. You can find them in /usr/include/linux/input.h. They start with KEY_* or BTN_*. The option is case-insensitive so KEY_ENTER and Key_Enter are the same. Additional values are none, off, 0 or false to disable the given button or left-button, right-button or middle-button to emulate mouse-buttons instead of keyboard keys.
- Option "MapLeft" "val"
- Specify the mapping of the LEFT button of the Wii Remote. Default is KEY_LEFT
- Option "MapRight" "val"
- Specify the mapping of the RIGHT button of the Wii Remote. Default is KEY_RIGHT
- Option "MapUp" "val"
- a Specify the mapping of the UP button of the Wii Remote. Default is KEY_UP
- Option "MapDown" "val"
- a Specify the mapping of the DOWN button of the Wii Remote. Default is KEY_DOWN
- Option "MapA" "val"
- a Specify the mapping of the A button of the Wii Remote. Default is KEY_ENTER
- Option "MapB" "val"
- a Specify the mapping of the B button of the Wii Remote. Default is KEY_SPACE
- Option "MapPlus" "val"
- a Specify the mapping of the PLUS button of the Wii Remote. Default is KEY_VOLUMEUP
- Option "MapMinus" "val"
- a Specify the mapping of the MINUS button of the Wii Remote. Default is KEY_VOLUMEDOWN
- Option "MapHome" "val"
- a Specify the mapping of the HOME button of the Wii Remote. Default is KEY_ESC
- Option "MapOne" "val"
- a Specify the mapping of the ONE button of the Wii Remote. Default is KEY_1
- Option "MapTwo" "val"
- Specify the mapping of the TWO button of the Wii Remote. Default is KEY_2
The following options are standard X.org input device options which also apply to Wii Remote devices:
Option "XkbRules" "rules"
Option "XkbModel" "model"
Option "XkbLayout" "layout"
Option "XkbVariant" "variant"
Option "XkbOptions" "options"
AUTHORS¶
David Herrmann <dh.herrmann@gmail.com>
The XWiimote Project: http://dvdhrm.github.io/xwiimote
The xf86-input-xwiimote Project:
http://github.com/dvdhrm/xf86-input-xwiimote
SEE ALSO¶
xf86-input-xwiimote | David Herrmann |