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