OnWorks favicon

jscal - Online in the Cloud

Run jscal in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command jscal that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



jscal - joystick calibration and remapping program


jscal [options] <device‐name>


jscal calibrates joysticks and maps joystick axes and buttons. Calibrating a joystick
ensures the positions on the various axes are correctly interpreted. Mapping axes and
buttons allows the meanings of the joystick's axes and buttons to be redefined.

On Debian systems the calibration settings can be stored and later applied automatically
using the jscal-store command.


-c, --calibrate
Calibrate the joystick.

-h, --help
Print out a summary of available options.

-s, --set-correction <nb_axes,type,precision,coefficients,...>
Sets correction to specified values. For each axis, specify the correction type (0
for none, 1 for "broken line"), the precision, and if necessary the correction
coefficients ("broken line" corrections take four coefficients).

-u, --set-mappings <nb_axes,axmap1,axmap2,...,nb_buttons,btnmap1,btnmap2,...>
Sets axis and button mappings. n_of_buttons can be set to 0 to remap axes only.

-t, --test-center
Tests if the joystick is correctly calibrated. Returns 2 if the axes are not
calibrated, 3 if buttons were pressed, 1 if there was any other error, and 0 on

-V, --version
Prints the version numbers of the running joystick driver and that which jscal was
compiled for.

-p, --print-correction
Prints the current correction settings. The format of the output is a jscal
command line.

-q, --print-mappings
Prints the current axis and button mappings. The format of the output is a jscal
command line.


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.

Use jscal online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

Linux commands