Provided by: libsvga1-dev_1.4.3-33_amd64 bug

NAME

       keyboard_seteventhandler,  keyboard_setdefaulteventhandler  -  define an event handler for
       keyboard events in raw mode

SYNOPSIS

       #include <vgakeyboard.h>

       typedef void (*__keyboard_handler) (int scancode, int press);

       void keyboard_seteventhandler(__keyboard_handler handler);
       void keyboard_setdefaulteventhandler(void);

DESCRIPTION

       These  functions  allow  to  define  a  keyboard  event  handler  which   is   called   by
       keyboard_update(3) and keyboard_waitforupdate(3) when a keyboard event occured.

       press  is  KEY_EVENTRELEASE  or  KEY_EVENTPRESS  if  key scancode was released or pressed.
       Actually the first value is 0 and the second is 1 which are so intuitive s.t. you may  use
       them in your program.

       Even  you  specify an own handler, svgalib will check for <Alt>-F* or <Ctrl>-C for console
       switches or generation of SIGINT if allowed by keyboard_translatekeys(3).

       Calling keyboard_setdefaulteventhandler() reinstates the default handler  which  maintains
       the tables used by keyboard_getstate(3) and keyboard_keypressed(3).  It is probably a good
       idea to call keyboard_clearstate(3) after reenabling the default handler.

       Here are the supported scancodes. The names of the #defines originate from the US keyboard
       layout,  for  other countries, they'll refer to the key in the same physical location, but
       the keycap will have a different inscription. For the list below, add SCANCODE_  in  front
       of  the  names  to get the right name for your C source. That means, if it lists BACKSLASH
       below, you shall use SCANCODE_BACKSLASH as symbol in your  program.  In  addition  to  the
       names  below  we  also  have SCANCODE_0 - SCANCODE_9, SCANCODE_KEYPAD0 - SCANCODE_KEYPAD9,
       SCANCODE_A - SCANCODE_Z, and SCANCODE_F1 - SCANCODE_F12.

       The other key names are ESCAPE, MINUS, EQUAL, BACKSPACE, TAB, BRACKET_LEFT, BRACKET_RIGHT,
       ENTER,  LEFTCONTROL,  SEMICOLON,  APOSTROPHE,  GRAVE, LEFTSHIFT, BACKSLASH, COMMA, PERIOD,
       SLASH,  RIGHTSHIFT,  KEYPADMULTIPLY,  LEFTALT,  SPACE,  CAPSLOCK,   NUMLOCK,   SCROLLLOCK,
       CURSORUPLEFT,  CURSORUP,  CURSORUPRIGHT, KEYPADMINUS, CURSORLEFT, CURSORRIGHT, KEYPADPLUS,
       CURSORDOWNLEFT,   CURSORDOWN,   CURSORDOWNRIGHT,    KEYPADPERIOD,    LESS,    KEYPADENTER,
       RIGHTCONTROL,  CONTROL,  KEYPADDIVIDE,  PRINTSCREEN,  RIGHTALT,  BREAK, BREAK_ALTERNATIVE,
       HOME, CURSORBLOCKUP,  PAGEUP,  CURSORBLOCKLEFT,  CURSORBLOCKRIGHT,  END,  CURSORBLOCKDOWN,
       PAGEDOWN, INSERT, and REMOVE.

SEE ALSO

       svgalib(7),   vgagl(7),   libvga.config(5),  keytest(6),  eventtest(6),  keyboard_init(3),
       keyboard_init_return_fd(3),            keyboard_close(3),            keyboard_getstate(3),
       keyboard_keypressed(3),         keyboard_clearstate(3),         keyboard_translatekeys(3),
       keyboard_update(3), keyboard_waitforupdate(3), vga_waitevent(3)

AUTHOR

       This manual page was edited by Michael Weller  <eowmob@exp-math.uni-essen.de>.  The  exact
       source of the referenced function as well as of the original documentation is unknown.

       It  is  very  likely  that  both  are  at  least to some extent are due to Harm Hanemaayer
       <H.Hanemaayer@inter.nl.net>.

       Occasionally this might be wrong. I hereby asked to be excused by the original author  and
       will  happily  accept  any  additions  or corrections to this first version of the svgalib
       manual.