aboutsummaryrefslogtreecommitdiff
path: root/src/parsec/include/inp_keyn.h
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_ */