joystick_sethandler - Man Page

set the joystick event handler.


#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);


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.


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.config(5), joytest(6), mjoytest(6), joystick_init(3), joystick_close(3), joystick_update(3), joystick_getnumaxes(3), joystick_getnumbuttons(3), joystick_getaxis(3), joystick_getbutton(3), joystick_button1(3), joystick_getb1(3), joystick_x(3), joystick_getx(3).


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

Referenced By

joystick_close(3), joystick_getaxis(3), joystick_getnumaxes(3), joystick_init(3), joystick_update(3), joytest(6), mjoytest(6), svgalib(7).

The man page joystick_setdefaulthandler(3) is an alias of joystick_sethandler(3).

14 April 1998 Svgalib 1.3.0 Svgalib User Manual