Test a game controller with jstest

jstest displays every axis and button of a gamepad in real time so you can confirm the kernel sees it and it works.

LinuxhardwareDiagnosticsjoystickLow risk
Run `jstest /dev/input/js0`, then move sticks and press buttons — values should respond immediately.

01Command

Command
$ jstest /dev/input/js0

02What it does

Linux exposes gamepads as /dev/input/js0, js1, etc. through the joydev module. jstest prints a live line of axis values (range roughly -32767..32767) and button states (on/off), which reveals dead zones, stuck buttons or drift. If the controller works here but not in a game, the problem is the game's mapping, not the hardware.

03Risk

RiskLow risk
Requirementsjoystick / linuxconsoletools package (provides jstest)
!Warning: If /dev/input/js0 does not exist, the joystick kernel module may not be loaded or the controller uses the newer evdev-only interface; SDL games typically use evdev, and `evtest` can test those devices instead.

04Undo

✓No undo needed — this command does not change persistent state.

05Sources

Last verified: 2026-09-18 · Category: System & Settings

06Related solutions