Man Linux: Main Page and Category List

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[scancode] 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 keyboard_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
       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_seteventhandler(3),                          keyboard_init(3),
       keyboard_init_return_fd(3),                          keyboard_close(3),
       keyboard_setdefaulteventhandler(3),               keyboard_getstate(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.