Skip to content
Valeri edited this page Oct 18, 2023 · 4 revisions

Welcome to the linuxmotehook2 wiki!

Config file documentation

Config files of linuxmotehook2 follow INI-like structure. They may include [Linuxmotehook] section for global settings and per-wiimote sections, either empty or with overrides. Please note that wiimotes not in config file won't be served by default! This is done to allow for more complex setups with few motion servers running at once to bypass 4 device limit of DSU protocol.

All values have reasonable defaults, so it's advised to avoid setting them unless you know what you're doing. As such, your hand-written config file will probably look something like this:

# Global section
[Linuxmotehook]
Orientation=sideways-left

# Per-wiimote sections, empty in this case
[0xB8AE6EBACCC7]

[0xB8AE6EBADEC3]

See also example config for an example of config that uses all available features.

Global settings

Port

Port to run server on. Default is 26760, which is what DSU protocol typically uses.

Orientation

Describes how motion should be transformed before passing it on. Valid values are

  • normal - no transformations are applied. Default value. Perfect when game expects you to actually be using wiimote. Also matches all left joycon orientations and non-sideways right joycon.
  • sideways-left - use when game expects you to have "normal" controller and you're holding wiimote sideways (e.g. switch's handheld/procon, Citra, Wii U's gamepad, etc.).
  • sideways-right - practically speaking, probably not useful with this motion server.
  • inverted - useful in a rare case when game expects sideways right joycon and you're holding wiimote sideways too.

AllowlistMode

If only Wiimotes with a corresponding section in config should be served. Defaults to true unless program is ran with no config file specified. It's recommended to avoid disabling this option and be explicit about what Wiimotes should be served, but it can be useful on some setups and/or while working on config.

SendButtons

Boolean, telling whether or not to send button presses as well as motion data. Defaults to true since many emulators struggle to properly manage input from multiple event nodes of wiimote, especially after restarting/reconnecting; however, this has a minor latency penalty compared to reading events directly. This also applies to buttons on extensions!

GyroNormalizationFactor

How quickly to account for motionplus's gyro drift. Best left untouched at default value of 50.

Per-wiimote settings

Orientation/SendButtons

Per-wiimote overrides of corresponding global settings.

GyroCalibration

Default gyroscope calibration. Should be fine unset these days thanks to auto-calibration controlled via GyroNormalizationFactor.

Stick calibration fields

NunchuckStickCalibration, ClassicControllerStickCalibration, ProControllerStickCalibration are responsible for calibration of sticks of their respective extensions. They typically should not be set manually.