XORG-XWIIMOTE(4)
๐ XORG-XWIIMOTE(4) โ the xf86-input-xwiimote tea ๐
okay so bestie, this is the manual page for xf86-input-xwiimote, and it lives in the X Version 11 section of the X manual pages. It's giving "Nintendo Wii Remote as an X input device" and honestly? iconic. Let's get into it ๐
โจ NAME โจ
xf86-input-xwiimote โ the 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 ๐ธ
So xwiimote is an Xorg input driver for Nintendo Wii Remotes on Linux, fr fr. It's built on top of the xwiimote tools and the 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, which is the best of both worlds ngl.
The Wii Remote can serve as a pointer and a 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 an input device without configuring anything โ no setup era, we're already in our main character era ๐ .
lowkey important: it is recommended that xwiimote devices are configured through theInputClassdirective (refer toxorg.conf(5)) instead of manual per-device configuration. Devices configured inxorg.conf(5)are not hot-plug capable, so use anInputClassinstead ๐.
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 the configuration details specific to this driver, iykyk ๐ซถ.
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. Like, seriously, it kills the hot-plug vibe ๐.Option "MotionSource" "source"โ the Wii Remote can be used as a motion input device (like a mouse ๐ฑ๏ธ). This selects what kind of motion-emulation should be performed. source can be one ofaccelerometer,ir,MotionPlusoroff. Default isoff, which means no motion-emulation is done.accelerometermeans that the accelerometer is used to calculate current tilt and use this as absolute pointer input.irmeans 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.MotionPlusmeans that the gyroscope of MotionPlus extensions (or Gen2.0 Devices with built-in MotionPlus) is used. You need to setMPNormalizationandMPCalibrationFactoror 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 โ plug and play, slay ๐ฅ.
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"โ if running inMotionSourceMotionPlusconfiguration,MPNormalizationcan be used to apply a constant offset to normalize MotionPlus data. Please usexwiishowor some similar tool from thexwiimotedistribution to get these offsets. Set this toonto let the driver perform automatic normalization during startup.
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 isKEY_LEFTOption "MapRight" "val"โ specify the mapping of the RIGHT button of the Wii Remote. Default isKEY_RIGHTOption "MapUp" "val"โ specify the mapping of the UP button of the Wii Remote. Default isKEY_UPOption "MapDown" "val"โ specify the mapping of the DOWN button of the Wii Remote. Default isKEY_DOWNOption "MapA" "val"โ specify the mapping of the A button of the Wii Remote. Default isKEY_ENTEROption "MapB" "val"โ specify the mapping of the B button of the Wii Remote. Default isKEY_SPACEOption "MapPlus" "val"โ specify the mapping of the PLUS button of the Wii Remote. Default isKEY_VOLUMEUPOption "MapMinus" "val"โ specify the mapping of the MINUS button of the Wii Remote. Default isKEY_VOLUMEDOWNOption "MapHome" "val"โ specify the mapping of the HOME button of the Wii Remote. Default isKEY_ESCOption "MapOne" "val"โ specify the mapping of the ONE button of the Wii Remote. Default isKEY_1Option "MapTwo" "val"โ specify the mapping of the TWO button of the Wii Remote. Default isKEY_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"โ these are the standard Xkb options that select the RMLVO parameters of the keyboard. See the Xkb man-pages for more information. Please be aware that keymaps are applied to all keys before they are sent to the X clients. So take that into account when configuring the other mappings of Wii Remotes ๐.
๐ 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 ๐
xwiimote(7), xorg.conf(5), Xorg(1), X(7)
And that's the whole page, bestie ๐ซถ This one's a David Herrmann production, part of the xf86-input-xwiimote project, and it's filed under XORG-XWIIMOTE(4). Go forth and vibe with your Wii Remote ๐ โจ๐
๐ฆ where this page comes from
- debian bookworm: xserver-xorg-input-xwiimote 0.5-1+b4 ยท MIT
- debian trixie: xserver-xorg-input-xwiimote 0.5-1+b5 ยท MIT
- ubuntu jammy: xserver-xorg-input-xwiimote 0.5-1build3 ยท MIT
- ubuntu noble: xserver-xorg-input-xwiimote 0.5-1build6 ยท MIT
- ubuntu questing: xserver-xorg-input-xwiimote 0.5-1build6
- ubuntu resolute: xserver-xorg-input-xwiimote 0.5-1build7 ยท MIT
- ubuntu stonking: xserver-xorg-input-xwiimote 0.5-1.1 ยท MIT
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms