blob: a8a496ddb5db926bf6c8b097ce8e4b7952c996a1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
/*
* inp_keyn.h
*
* Created on: Nov 3, 2012
* Author: jasonw
*/
#ifndef INP_KEYN_H_
#define INP_KEYN_H_
// C++ STL map
#include <map>
#include "keycodes.h"
// "constructor" for the key_names hash table
// (STL maps can only use initializer lists in C++11)
static std::map<int, const char *> create_key_names()
{
std::map<int, const char *> m;
m[MKC_NIL] = "None";
m[MKC_ESCAPE] = "Escape";
m[MKC_1] = "1";
m[MKC_2] = "2";
m[MKC_3] = "3";
m[MKC_4] = "4";
m[MKC_5] = "5";
m[MKC_6] = "6";
m[MKC_7] = "7";
m[MKC_8] = "8";
m[MKC_9] = "9";
m[MKC_0] = "0";
m[MKC_MINUS] = "-";
m[MKC_EQUALS] = "=";
m[MKC_BACKSPACE] = "Backspace";
m[MKC_TAB] = "Tab";
m[MKC_Q] = "Q";
m[MKC_W] = "W";
m[MKC_E] = "E";
m[MKC_R] = "R";
m[MKC_T] = "T";
m[MKC_U] = "U";
m[MKC_I] = "I";
m[MKC_O] = "O";
m[MKC_P] = "P";
m[MKC_LBRACKET] = "[";
m[MKC_RBRACKET] = "]";
m[MKC_BACKSLASH] = "\\";
m[MKC_A] = "A";
m[MKC_S] = "S";
m[MKC_D] = "D";
m[MKC_F] = "F";
m[MKC_G] = "G";
m[MKC_H] = "H";
m[MKC_J] = "J";
m[MKC_K] = "K";
m[MKC_L] = "L";
m[MKC_SEMICOLON] = ";";
m[MKC_APOSTROPHE] = "'";
m[MKC_ENTER] = "Enter";
m[MKC_LSHIFT] = "Left Shift";
m[MKC_RSHIFT] = "Right Shift";
m[MKC_Z] = "Z";
m[MKC_X] = "X";
m[MKC_C] = "C";
m[MKC_V] = "V";
m[MKC_B] = "B";
m[MKC_N] = "N";
m[MKC_M] = "M";
m[MKC_COMMA] = ",";
m[MKC_PERIOD] = ".";
m[MKC_SLASH] = "/";
m[MKC_LCONTROL] = "Left Control";
m[MKC_RCONTROL] = "Right Control";
m[MKC_LALT] = "Left Alt";
m[MKC_RALT] = "Right Alt";
m[MKC_CURSORUP] = "Up Arrow";
m[MKC_CURSORLEFT] = "Left Arrow";
m[MKC_CURSORDOWN] = "Down Arrow";
m[MKC_CURSORRIGHT] = "Right Arrow";
m[MKC_SPACE] = "Spacebar";
m[MKC_F1] = "F1";
m[MKC_F2] = "F2";
m[MKC_F3] = "F3";
m[MKC_F4] = "F4";
m[MKC_F5] = "F5";
m[MKC_F6] = "F6";
m[MKC_F7] = "F7";
m[MKC_F8] = "F8";
m[MKC_F9] = "F9";
m[MKC_F10] = "F10";
m[MKC_F11] = "F11";
m[MKC_F12] = "F12";
m[MKC_TILDE] = "Tilde";
m[MKC_HOME] = "Home";
m[MKC_INSERT] = "Insert";
m[MKC_DELETE] = "Delete";
m[MKC_PAGEUP] = "Page Up";
m[MKC_PAGEDOWN] = "Page Down";
return m;
}
// create the hash table
static std::map<int, const char*> key_names = create_key_names();
#endif /* INP_KEYN_H_ */
|