Computer Science
keyboard_seteventhandleSvgalib User Makeyboard_seteventhandler(3)
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_wait-
forupdate(3) when a keyboard event occured.
press is KEY_EVENTRELEASE or KEY_EVENTPRESS if key scan-
code 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 key-
board_getstate(3) and keyboard_keypressed(3). It is prob-
ably 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 inscrip-
tion. 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_BACK-
SLASH as symbol in your program. In addition to the names
below we also have SCANCODE_0 - SCANCODE_9, SCANCODE_KEY-
PAD0 - 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, KEY-
PADPLUS, CURSORDOWNLEFT, CURSORDOWN, CURSORDOWNRIGHT, KEY-
PADPERIOD, LESS, KEYPADENTER, RIGHTCONTROL, CONTROL, KEY-
PADDIVIDE, PRINTSCREEN, RIGHTALT, BREAK, BREAK_ALTERNA-
TIVE, HOME, CURSORBLOCKUP, PAGEUP, CURSORBLOCKLEFT, CUR-
SORBLOCKRIGHT, END, CURSORBLOCKDOWN, PAGEDOWN, INSERT, and
REMOVE.
SEE ALSO
svgalib(7), vgagl(7), libvga(5), keytest(6),
eventtest(6), keyboard_init(3), key-
board_init_return_fd(3), keyboard_close(3), keyboard_get-
state(3), keyboard_keypressed(3), keyboard_clearstate(3),
keyboard_translatekeys(3), keyboard_update(3), key-
board_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.
Svgalib (>= 1.2.11) 27 July 1997 1
Back to the index