1keyboard_getstate(3) Svgalib User Manual keyboard_getstate(3)
2
3
4
6 keyboard_getstate - get a pointer to a buffer holding the state of all
7 keys in raw keyboard mode
8
10 #include <vgakeyboard.h>
11
12 char *keyboard_getstate(void);
13
14
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
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
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)