LinuxCommandLibrary

jstest

TLDR

Test joystick

$ jstest [/dev/input/js0]
copy
Test with non-blocking mode
$ jstest --normal [/dev/input/js0]
copy
Select specific joystick
$ jstest --select [/dev/input/js1]
copy
List joysticks
$ ls /dev/input/js*
copy

SYNOPSIS

jstest [options] device

DESCRIPTION

jstest is a joystick testing tool that displays real-time axis and button states. It reads input from Linux joystick devices and shows values as they change.
The tool is useful for verifying joystick functionality, calibration, and troubleshooting input issues. It works with gamepads, flight sticks, and other game controllers.

PARAMETERS

device

Joystick device path.
--normal
Non-blocking test mode.
--select
Wait for input before testing.
--event
Event interface mode.

OUTPUT

$ Driver version is 2.1.0.
Joystick (Microsoft X-Box One pad) has 8 axes (X, Y, Z, Rx, Ry, Rz, Hat0X, Hat0Y)
and 11 buttons (BtnA, BtnB, BtnX, BtnY, BtnTL, BtnTR, BtnSelect, BtnStart, BtnMode, BtnThumbL, BtnThumbR).
Testing ... (interrupt to exit)
Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5:-32767  6:     0  7:     0
Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:off
copy

CAVEATS

Requires joystick driver support. Device paths may change on hotplug. Calibration may be needed. Some controllers need xpad or other drivers.

HISTORY

jstest is part of the joystick package for Linux, providing basic input device testing. It works with the kernel's joystick API (/dev/input/js*).

SEE ALSO

jscal(1), evtest(1), inputattach(1)

Copied to clipboard