evdev-joystick --showcal <device-path>
evdev-joystick --evdev device-path> [--axis <axis>] [--minimum <value>] [--maximum <value>] [--deadzone <value>] [--fuzz <value>]
evdev-joystick calibrates joysticks. Calibrating a joystick ensures the positions on the various axes are correctly interpreted.
- --h, --help
Print out a summary of available options.
- --l, --listdevs
List all joystick devices found.
- --s, --showcal <device-path>
Show the current calibration for the specified device.
- --e, --evdev <device-path>
Specify the joystick device to modify.
- --a, --axis <axis>
Specify the axis to modify (by default, all axes are calibrated).
- --m, --minimum <value>
Change the minimum for the current joystick.
- --M, --maximum <value>
Change the maximum for the current joystick.
- --d, --deadzone <value>
Change the deadzone for the current joystick.
- --f, --fuzz <value>
Change the fuzz for the current joystick.
Using the Linux input system, joysticks are expected to produce values between -32767 and 32767 for axes, with 0 meaning the joystick is centred. Thus, full-left should produce -32767 on the X axis, full-right 32767 on the X axis, full-forward -32767 on the Y axis, and so on.
Many joysticks and gamepads (especially older ones) are slightly mis-aligned; as a result they may not use the full range of values (for the extremes of the axes), or more annoyingly they may not give 0 when centred. Calibrating a joystick provides the kernel with information on a joystick's real behaviour, which allows the kernel to correct various joysticks' deficiencies and produce consistent output as far as joystick-using software is concerned.
jstest(1) is useful to determine whether a joystick is calibrated: when run, it should produce all 0s when the joystick is at rest, and each axis should be able to produce the values -32767 and 32767. Analog joysticks should produce values in between 0 and the extremes, but this is not necessary; digital directional pads work fine with only the three values.
evdev-joystick was written by Stephen Anthony, based on VDrift's G25manage tool.
This manual page was written by Stephen Kitt <firstname.lastname@example.org>.