Blob Blame History Raw
.TH evdev-joystick 1 "Apr 19, 2016" evdev-joystick
.SH NAME
evdev\-joystick \- joystick calibration program
.SH SYNOPSIS
.B evdev\-joystick \-\-help
.br
.B evdev\-joystick \-\-listdevs
.br
.B evdev\-joystick \-\-showcal \fR<\fIdevice\(hypath\fP>\fP
.br
.B evdev\-joystick \-\-evdev \fR\fIdevice\(hypath\fP>
.RB [ \-\-axis
.RI < axis >]
.RB [ \-\-minimum
.RI < value >]
.RB [ \-\-maximum
.RI < value >]
.RB [ \-\-deadzone
.RI < value >]
.RB [ \-\-fuzz
.RI < value >]
.SH DESCRIPTION
.B evdev\-joystick
calibrates joysticks.
Calibrating a joystick ensures the positions on the various axes are
correctly interpreted.
.SH OPTIONS
.TP
.BR \-\-h ", " \-\-help
Print out a summary of available options.
.TP
.BR \-\-l ", " \-\-listdevs
List all joystick devices found.
.TP
.BR \-\-s ", " \-\-showcal " <" \fIdevice\(hypath\fP >
Show the current calibration for the specified \fIdevice\fP.
.TP
.BR \-\-e ", " \-\-evdev " <" \fIdevice\(hypath\fP >
Specify the joystick \fIdevice\fP to modify.
.TP
.BR \-\-a ", " \-\-axis " <" \fIaxis\fP >
Specify the \fIaxis\fP to modify (by default, all axes are
calibrated).
.TP
.BR \-\-m ", " \-\-minimum " <" \fIvalue\fP >
Change the minimum for the current joystick.
.TP
.BR \-\-M ", " \-\-maximum " <" \fIvalue\fP >
Change the maximum for the current joystick.
.TP
.BR \-\-d ", " \-\-deadzone " <" \fIvalue\fP >
Change the deadzone for the current joystick.
.TP
.BR \-\-f ", " \-\-fuzz " <" \fIvalue\fP >
Change the fuzz for the current joystick.
.SH 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\(hyleft should produce \-32767 on the X axis, full\(hyright
32767 on the X axis, full\(hyforward \-32767 on the Y axis, and so on.
.PP
Many joysticks and gamepads (especially older ones) are slightly
mis\(hyaligned; 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\(hyusing software is concerned.
.PP
\fBjstest\fP(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.
.SH SEE ALSO
\fBffset\fP(1), \fBjstest\fP(1).
.SH AUTHORS
.B evdev\-joystick
was written by Stephen Anthony, based on VDrift's G25manage tool.
.PP
This manual page was written by Stephen Kitt <steve@sk2.org>.