Computer Science
joystick_getaxis(3) Svgalib User Manual joystick_getaxis(3)
NAME
joystick_getaxis, joystick_getbutton - query the current
state of a joystick.
SYNOPSIS
#include <vgajoystick.h>
char joystick_getaxis(int joydev, int a);
char joystick_getbutton(int joydev, int b);
DESCRIPTION
These functions query the current state of the joystick
joydev. Actually this is the state found during the last
call to joystick_update(3) with the default joystick event
handler active.
joystick_getaxis(joydev, a) return the current state of
the given axis (usually it is x - 0, y - 1, z - 1, ...)
in range -128 .. 127. Some effort is made such that the
center position is close to 0.
Note that especially the version 0.* protocol joystick
calibration is very bad. You won't usually see the extrem
values on the extreme position. Also, the center position
will be close to zero but often not be exactly zero and
return values will also vary slightly from call to call
even when the user did not move the joystick.
joystick_getbutton(joydev, b) returns the state of a but-
ton. It returns 1 for pressed button and 0 else. Note that
no hardware checks for button clicks. The button press is
only detected during a call to joystick_update(3) (at
least in the 0.* protocol).
NOTE: The functions simply return the data passed to the
default joystick event handler!
For your convenience, the following stortcuts have been
established by use of the preprocessor:
joystick_button1(i) for joystick_getbutton(i, 0).
joystick_button2(i) for joystick_getbutton(i, 1).
joystick_button3(i) for joystick_getbutton(i, 2).
joystick_button4(i) for joystick_getbutton(i, 3).
joystick_x(i) for joystick_getaxis(i, 0).
joystick_y(i) for joystick_getaxis(i, 1).
joystick_z(i) for joystick_getaxis(i, 2).
joystick_getb1() for joystick_getbutton(0, 0).
joystick_getb2() for joystick_getbutton(0, 1).
joystick_getb3() for joystick_getbutton(0, 2).
joystick_getb4() for joystick_getbutton(0, 3).
joystick_getx() for joystick_getaxis(0, 0).
joystick_gety() for joystick_getaxis(0, 1).
joystick_getz() for joystick_getaxis(0, 2).
CAVEATS
This function is only available in ELF versions of
svgalib. Due to backwards compatibility issues it cannot
be used with shared a.out libs.
SEE ALSO
svgalib(7), vgagl(7), libvga(5), joytest(6),
mjoytest(6), joystick_init(3), joystick_close(3), joy-
stick_update(3), joystick_sethandler(3), joystick_setde-
faulthandler(3), joystick_getnumaxes(3), joystick_getnum-
buttons(3).
AUTHOR
The svgalib joystick handler was mostly done by Daniel
Engstr\"om <daniel.engstrom@riksnett.no>. Multiple joy-
stick, VC switching support and code to glue it into
svgalib by Michael Weller <eowmob@exp-math.uni-essen.de>.
Part of the code is based on code from C. Smith and
Vojtech Pavlik.
Svgalib 1.3.0 14 April 1998 1
Back to the index