keyboard_getstate(3)   Svgalib User Manual   keyboard_getstate(3)

NAME
       keyboard_getstate  - get a pointer to a buffer holding the
       state of all keys in raw keyboard mode

SYNOPSIS
       #include <vgakeyboard.h>

       char *keyboard_getstate(void);

DESCRIPTION
       When in raw keyboard mode this routine returns  a  pointer
       buffer  to  a  static buffer. If the value in buffer[scan-
       code] is KEY_PRESSED or KEY_NOTPRESSED the key  with  that
       scancode  is pressed or not. Actually KEY_PRESSED is 1 and
       KEY_NOTPRESSED is 0, s.t. you can use constructs like:

       if(buffer[SCANCODE_ENTER]) {
            /* do something */
       }

       This is more efficient than calling keyboard_keypressed(3)
       if you want to check for many different keys.

       Please  note  that  keyboard events will only be processed
       when you  occasionally  call  keyboard_update(3)  or  key-
       board_waitforupdate(3).

       keyboard_translatekeys(3)  allows certain remap operations
       which make certain keys (digits, enter) which  might  have
       several physical keys show up under the same scancodes.

       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_seteventhandler(3),      key-
       board_init(3),      keyboard_init_return_fd(3),       key-
       board_close(3),  keyboard_setdefaulteventhandler(3),  key-
       board_getstate(3), keyboard_clearstate(3), keyboard_trans-
       latekeys(3),    keyboard_update(3),    keyboard_waitforup-
       date(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)        29 July 1997                         1