---
name: "evdev-joystick"
section: "1"
platform: "linux"
package: "joyutils"
version: "1.8.1-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/evdev-joystick"
---

# evdev-joystick(1)

joystick calibration program

## NAME

evdev-joystick - joystick calibration program

## SYNOPSIS

**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*\>\]

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

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

## 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)](/jstest/1.md) 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)](/ffset/1.md), [**jstest**(1)](/jstest/1.md).

## AUTHORS

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

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