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.