1keyboard_getstate(3)          Svgalib User Manual         keyboard_getstate(3)
2
3
4

NAME

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

SYNOPSIS

10       #include <vgakeyboard.h>
11
12       char *keyboard_getstate(void);
13
14

DESCRIPTION

16       When in raw keyboard mode this routine returns a pointer  buffer  to  a
17       static  buffer.  If  the  value  in  buffer[scancode] is KEY_PRESSED or
18       KEY_NOTPRESSED the key with that scancode is pressed or  not.  Actually
19       KEY_PRESSED  is  1 and KEY_NOTPRESSED is 0, s.t. you can use constructs
20       like:
21
22       if(buffer[SCANCODE_ENTER]) {
23            /* do something */
24       }
25
26       This is more efficient than calling keyboard_keypressed(3) if you  want
27       to check for many different keys.
28
29       Please  note that keyboard events will only be processed when you occa‐
30       sionally call keyboard_update(3) or keyboard_waitforupdate(3).
31
32       keyboard_translatekeys(3) allows certain remap  operations  which  make
33       certain  keys  (digits,  enter)  which might have several physical keys
34       show up under the same scancodes.
35
36       Here are the supported scancodes. The names of the  #defines  originate
37       from  the US keyboard layout, for other countries, they'll refer to the
38       key in the same physical location, but the keycap will have a different
39       inscription. For the list below, add SCANCODE_ in front of the names to
40       get the right name for your C source. That means, if it lists BACKSLASH
41       below,  you  shall use SCANCODE_BACKSLASH as symbol in your program. In
42       addition to the names below we also have SCANCODE_0 - SCANCODE_9, SCAN‐
43       CODE_KEYPAD0  -  SCANCODE_KEYPAD9,  SCANCODE_A  - SCANCODE_Z, and SCAN‐
44       CODE_F1 - SCANCODE_F12.
45
46       The  other  key  names  are  ESCAPE,  MINUS,  EQUAL,  BACKSPACE,   TAB,
47       BRACKET_LEFT, BRACKET_RIGHT, ENTER, LEFTCONTROL, SEMICOLON, APOSTROPHE,
48       GRAVE, LEFTSHIFT, BACKSLASH, COMMA, PERIOD, SLASH, RIGHTSHIFT,  KEYPAD‐
49       MULTIPLY,  LEFTALT, SPACE, CAPSLOCK, NUMLOCK, SCROLLLOCK, CURSORUPLEFT,
50       CURSORUP, CURSORUPRIGHT, KEYPADMINUS, CURSORLEFT, CURSORRIGHT,  KEYPAD‐
51       PLUS,  CURSORDOWNLEFT, CURSORDOWN, CURSORDOWNRIGHT, KEYPADPERIOD, LESS,
52       KEYPADENTER, RIGHTCONTROL, CONTROL,  KEYPADDIVIDE,  PRINTSCREEN,  RIGH‐
53       TALT,  BREAK,  BREAK_ALTERNATIVE,  HOME, CURSORBLOCKUP, PAGEUP, CURSOR‐
54       BLOCKLEFT, CURSORBLOCKRIGHT, END,  CURSORBLOCKDOWN,  PAGEDOWN,  INSERT,
55       and REMOVE.
56
57

SEE ALSO

59       svgalib(7),  vgagl(7), libvga.config(5), keytest(6), eventtest(6), key‐
60       board_seteventhandler(3), keyboard_init(3), keyboard_init_return_fd(3),
61       keyboard_close(3),   keyboard_setdefaulteventhandler(3),  keyboard_get‐
62       state(3),   keyboard_clearstate(3),   keyboard_translatekeys(3),   key‐
63       board_update(3), keyboard_waitforupdate(3), vga_waitevent(3)
64
65

AUTHOR

67       This  manual  page  was  edited by Michael Weller <eowmob@exp-math.uni-
68       essen.de>. The exact source of the referenced function as  well  as  of
69       the original documentation is unknown.
70
71       It is very likely that both are at least to some extent are due to Harm
72       Hanemaayer <H.Hanemaayer@inter.nl.net>.
73
74       Occasionally this might be wrong. I hereby asked to be excused  by  the
75       original author and will happily accept any additions or corrections to
76       this first version of the svgalib manual.
77
78
79
80Svgalib (>= 1.2.11)              29 July 1997             keyboard_getstate(3)
Impressum