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


Apply now!


Handbook

Postgraduate study options

Computer Science Blog



Please give us your feedback or ask us a question

This message is...


My feedback or question is...


My email address is...

(Only if you need a reply)

A to Z Directory | Site map | Accessibility | Copyright | Privacy | Disclaimer | Feedback on this page