Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

jscal(1) [centos man page]

jscal(1)						      General Commands Manual							  jscal(1)

NAME
jscal - joystick calibration and remapping program SYNOPSIS
jscal [options] <device-name> DESCRIPTION
jscal calibrates joysticks and maps joystick axes and buttons. Calibrating a joystick ensures the positions on the various axes are cor- rectly 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. OPTIONS
-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 success. -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. 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 informa- tion 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. SEE ALSO
ffset(1), jstest(1), jscal-store(1). AUTHORS
jscal was written by Vojtech Pavlik and improved by many others; see the linuxconsole tools documentation for details. This manual page was written by Stephen Kitt <steve@sk2.org>, for the Debian GNU/Linux system (but may be used by others). jscal Jul 11, 2010 jscal(1)

Check Out this Related Man Page

glutJoystickFunc(3GLUT) 					       GLUT						   glutJoystickFunc(3GLUT)

NAME
glutJoystickFunc - sets the joystick callback for the current window. SYNTAX
#include <GLUT/glut.h> void glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); ARGUMENTS
func The new joystick callback function. pollInterval Joystick polling interval in milliseconds. DESCRIPTION
glutJoystickFunc sets the joystick callback for the current window. The joystick callback is called either due to polling of the joystick at the uniform timer interval specified by pollInterval (in millisec- onds) or in response to calling glutForceJoystickFunc. If the pollInterval is non-positive, no joystick polling is performed and the GLUT application must frequently (usually from an idle callback) call glutForceJoystickFunc. The joystick buttons are reported by the callback's buttonMask parameter. The constants GLUT_JOYSTICK_BUTTON_A(0x1), GLUT_JOYSTICK_BUT- TON_B(0x2), GLUT_JOYSTICK_BUTTON_C(0x4), and GLUT_JOYSTICK_BUTTON_D(0x8) are provided for programming convience. The x, y, and z callback parameters report the X, Y, and Z axes of the joystick. The joystick is centered at (0,0,0). X, Y, and Z are scaled to range between -1000 and 1000. Moving the joystick left reports negative X; right reports positive X. Pulling the stick towards you reports negative Y; push the stick away from you reports positive Y. If the joystick has a third axis (rudder or up/down), down reports negative Z; up reports positive Z. Passing a NULL func to glutJoystickFunc disables the generation of joystick callbacks. Without a joystick callback registered, glutForce- JoystickFunc does nothing. When a new window is created, no joystick callback is initially registered. LIMITATIONS
The GLUT joystick callback only reports the first 3 axes and 32 buttons. GLUT supports only a single joystick. GLUT IMPLEMENTATION NOTES FOR X11 The GLUT 3.7 implementation of GLUT for X11 supports the joystick API, but not joystick input. A future implementation of GLUT for X11 may add joystick support. GLUT IMPLEMENTATION NOTES FOR WIN32 The GLUT 3.7 implementation of GLUT for Win32 supports the joystick API and joystick input, but does so through the dated joySetCapture and joyGetPosEx Win32 Multimedia API. The GLUT 3.7 joystick support for Win32 has all the limitations of the Win32 Multimedia API joystick support. A future implementation of GLUT for Win32 may use DirectInput. SEE ALSO
glutForceJoystickFunc, glutMotionFunc, glutMouseFunc, glutSpaceballButtonFunc, glutSpaceballMotionFunc, glutButtonBoxFunc, glutTabletBut- tonFunc, glutDeviceGet AUTHOR
Mark J. Kilgard (mjk@nvidia.com) GLUT
3.7 glutJoystickFunc(3GLUT)
Man Page