joystick_sethandler(3) set the joystick event handler.

Other Alias

joystick_setdefaulthandler

SYNOPSIS

#include <vgajoystick.h>
typedef void (*__joystick_handler) (int event, int number, char value, int joydev);

void joystick_sethandler(int joydev, __joystick_handler jh);
void joystick_setdefaulthandler(int joydev);

DESCRIPTION

By default, each call to joystick_init(3) enables the default handler for the opened joystick. This handler maintains a state table which can be read by the joystick_getaxis(3), joystick_getbutton(3), joystick_button1|2|3|4(3), joystick_getb1|2|3|4(3), joystick_x|y|z(3) and joystick_getx|y|z(3) functions.

If you define an own handler, the following parameters are passed:

event
one of the following values:
JOY_EVENTBUTTONDOWN
a button was pressed.
JOY_EVENTBUTTONUP
a button was released.
JOY_EVENTAXIS
the joystick position was changed.

All other values are reserved for future use.

number
identifies the button or axis to which this event belongs.

value
for axis events the new position in range -128 .. 127.See joystick_getaxis(3) for further comments on the range.

joydev
identifies the joystick affected (this allows to use one handler for many joysticks).

joydev = -1 modifies the event handler of all currently open joystick devices.

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.

AUTHOR

The svgalib joystick handler was mostly done by Daniel Engstr\"om <[email protected]>. Multiple joystick, VC switching support and code to glue it into svgalib by Michael Weller <[email protected]>. Part of the code is based on code from C. Smith and Vojtech Pavlik.