Scroll to navigation

evdev-joystick(1) General Commands Manual evdev-joystick(1)


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.


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 <>.

April 19, 2016 evdev-joystick