evdev-joystick man page

evdev-joystick ā€” joystick calibration program


evdev-joystick --help
evdev-joystick --listdevs
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.

See Also

ffset(1), jstest(1).


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

This manual page was written by Stephen Kitt <steve@sk2.org>.


Apr 19, 2016 evdev-joystick