evdev-joystick(1) joystick calibration program

SYNOPSIS

evdev-joystick --help
evdev-joystick --listdevs
evdev-joystick --showcal <device-path>
evdev-joystick --evdev device-path> [--axis <axis>] [--deadzone <value>] [--fuzz <value>]

DESCRIPTION

evdev-joystick calibrates joysticks. Calibrating a joystick ensures the positions on the various axes are correctly interpreted.

OPTIONS

--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).
--d, --deadzone <value>
Change the deadzone for the current joystick.
--f, --fuzz <value>
Change the fuzz for the current joystick.

CALIBRATION

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.

AUTHORS

evdev-joystick was written by Stephen Anthony, based on VDrift's G25manage tool.

This manual page was written by Stephen Kitt <[email protected]>.