KeyCode.h
Go to the documentation of this file.
1 // This file is a part of the OpenSurgSim project.
2 // Copyright 2013, SimQuest Solutions Inc.
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 
16 #ifndef SURGSIM_DEVICES_KEYBOARD_KEYCODE_H
17 #define SURGSIM_DEVICES_KEYBOARD_KEYCODE_H
18 
19 namespace SurgSim
20 {
21 namespace Devices
22 {
23  // KeyCode pulled out from osgGA/GUIEventAdapter
24  enum KeyCode
25  {
26  NONE = -1,
27  KEY_SPACE = 0x20,
28  KEY_0 = '0',
29  KEY_1 = '1',
30  KEY_2 = '2',
31  KEY_3 = '3',
32  KEY_4 = '4',
33  KEY_5 = '5',
34  KEY_6 = '6',
35  KEY_7 = '7',
36  KEY_8 = '8',
37  KEY_9 = '9',
38  KEY_A = 'a',
39  KEY_B = 'b',
40  KEY_C = 'c',
41  KEY_D = 'd',
42  KEY_E = 'e',
43  KEY_F = 'f',
44  KEY_G = 'g',
45  KEY_H = 'h',
46  KEY_I = 'i',
47  KEY_J = 'j',
48  KEY_K = 'k',
49  KEY_L = 'l',
50  KEY_M = 'm',
51  KEY_N = 'n',
52  KEY_O = 'o',
53  KEY_P = 'p',
54  KEY_Q = 'q',
55  KEY_R = 'r',
56  KEY_S = 's',
57  KEY_T = 't',
58  KEY_U = 'u',
59  KEY_V = 'v',
60  KEY_W = 'w',
61  KEY_X = 'x',
62  KEY_Y = 'y',
63  KEY_Z = 'z',
64  KEY_EXCLAIM = 0x21,
65  KEY_QUOTEDBL = 0x22,
66  KEY_HASH = 0x23,
67  KEY_DOLLAR = 0x24,
68  KEY_AMPERSAND = 0x26,
69  KEY_QUOTE = 0x27,
70  KEY_LEFTPAREN = 0x28,
72  KEY_ASTERISK = 0x2A,
73  KEY_PLUS = 0x2B,
74  KEY_COMMA = 0x2C,
75  KEY_MINUS = 0x2D,
76  KEY_PERIOD = 0x2E,
77  KEY_SLASH = 0x2F,
78  KEY_COLON = 0x3A,
79  KEY_SEMICOLON = 0x3B,
80  KEY_LESS = 0x3C,
81  KEY_EQUALS = 0x3D,
82  KEY_GREATER = 0x3E,
83  KEY_QUESTION = 0x3F,
84  KEY_AT = 0x40,
86  KEY_BACKSLASH = 0x5C,
88  KEY_CARET = 0x5E,
90  KEY_BACKQUOTE = 0x60,
91  KEY_BACKSPACE = 0xFF08, /* back space, back char */
92  KEY_TAB = 0xFF09,
93  KEY_LINEFEED = 0xFF0A, /* Linefeed, LF */
94  KEY_CLEAR = 0xFF0B,
95  KEY_RETURN = 0xFF0D, /* Return, enter */
96  KEY_PAUSE = 0xFF13, /* Pause, hold */
97  KEY_SCROLL_LOCK = 0xFF14,
98  KEY_SYS_REQ = 0xFF15,
99  KEY_ESCAPE = 0xFF1B,
100  KEY_DELETE = 0xFFFF, /* Delete, rubout */
101  KEY_HOME = 0xFF50,
102  KEY_LEFT = 0xFF51, /* Move left, left arrow */
103  KEY_UP = 0xFF52, /* Move up, up arrow */
104  KEY_RIGHT = 0xFF53, /* Move right, right arrow */
105  KEY_DOWN = 0xFF54, /* Move down, down arrow */
106  KEY_PRIOR = 0xFF55, /* Prior, previous */
107  KEY_PAGE_UP = 0xFF55,
108  KEY_NEXT = 0xFF56, /* Next */
109  KEY_PAGE_DOWN = 0xFF56,
110  KEY_END = 0xFF57, /* EOL */
111  KEY_BEGIN = 0xFF58, /* BOL */
112  KEY_SELECT = 0xFF60, /* Select, mark */
113  KEY_PRINT = 0xFF61,
114  KEY_EXECUTE = 0xFF62, /* Execute, run, do */
115  KEY_INSERT = 0xFF63, /* Insert, insert here */
116  KEY_UNDO = 0xFF65, /* Undo, oops */
117  KEY_REDO = 0xFF66, /* redo, again */
118  KEY_MENU = 0xFF67, /* On Windows, this is VK_APPS, the context-menu key */
119  KEY_FIND = 0xFF68, /* Find, search */
120  KEY_CANCEL = 0xFF69, /* Cancel, stop, abort, exit */
121  KEY_HELP = 0xFF6A, /* Help */
122  KEY_BREAK = 0xFF6B,
123  KEY_MODE_SWITCH = 0xFF7E, /* Character set switch */
124  KEY_SCRIPT_SWITCH = 0xFF7E, /* Alias for mode_switch */
125  KEY_NUM_LOCK = 0xFF7F,
126  KEY_KP_SPACE = 0xFF80, /* space */
127  KEY_KP_TAB = 0xFF89,
128  KEY_KP_ENTER = 0xFF8D, /* enter */
129  KEY_KP_F1 = 0xFF91, /* PF1, KP_A, ... */
130  KEY_KP_F2 = 0xFF92,
131  KEY_KP_F3 = 0xFF93,
132  KEY_KP_F4 = 0xFF94,
133  KEY_KP_HOME = 0xFF95,
134  KEY_KP_LEFT = 0xFF96,
135  KEY_KP_UP = 0xFF97,
136  KEY_KP_RIGHT = 0xFF98,
137  KEY_KP_DOWN = 0xFF99,
138  KEY_KP_PRIOR = 0xFF9A,
139  KEY_KP_PAGE_UP = 0xFF9A,
140  KEY_KP_NEXT = 0xFF9B,
142  KEY_KP_END = 0xFF9C,
143  KEY_KP_BEGIN = 0xFF9D,
144  KEY_KP_INSERT = 0xFF9E,
145  KEY_KP_DELETE = 0xFF9F,
146  KEY_KP_EQUAL = 0xFFBD, /* equals */
147  KEY_KP_MULTIPLY = 0xFFAA,
148  KEY_KP_ADD = 0xFFAB,
149  KEY_KP_SEPARATOR = 0xFFAC, /* separator, often comma */
150  KEY_KP_SUBTRACT = 0xFFAD,
151  KEY_KP_DECIMAL = 0xFFAE,
152  KEY_KP_DIVIDE = 0xFFAF,
153  KEY_KP_0 = 0xFFB0,
154  KEY_KP_1 = 0xFFB1,
155  KEY_KP_2 = 0xFFB2,
156  KEY_KP_3 = 0xFFB3,
157  KEY_KP_4 = 0xFFB4,
158  KEY_KP_5 = 0xFFB5,
159  KEY_KP_6 = 0xFFB6,
160  KEY_KP_7 = 0xFFB7,
161  KEY_KP_8 = 0xFFB8,
162  KEY_KP_9 = 0xFFB9,
163  KEY_F1 = 0xFFBE,
164  KEY_F2 = 0xFFBF,
165  KEY_F3 = 0xFFC0,
166  KEY_F4 = 0xFFC1,
167  KEY_F5 = 0xFFC2,
168  KEY_F6 = 0xFFC3,
169  KEY_F7 = 0xFFC4,
170  KEY_F8 = 0xFFC5,
171  KEY_F9 = 0xFFC6,
172  KEY_F10 = 0xFFC7,
173  KEY_F11 = 0xFFC8,
174  KEY_F12 = 0xFFC9,
175  KEY_F13 = 0xFFCA,
176  KEY_F14 = 0xFFCB,
177  KEY_F15 = 0xFFCC,
178  KEY_F16 = 0xFFCD,
179  KEY_F17 = 0xFFCE,
180  KEY_F18 = 0xFFCF,
181  KEY_F19 = 0xFFD0,
182  KEY_F20 = 0xFFD1,
183  KEY_F21 = 0xFFD2,
184  KEY_F22 = 0xFFD3,
185  KEY_F23 = 0xFFD4,
186  KEY_F24 = 0xFFD5,
187  KEY_F25 = 0xFFD6,
188  KEY_F26 = 0xFFD7,
189  KEY_F27 = 0xFFD8,
190  KEY_F28 = 0xFFD9,
191  KEY_F29 = 0xFFDA,
192  KEY_F30 = 0xFFDB,
193  KEY_F31 = 0xFFDC,
194  KEY_F32 = 0xFFDD,
195  KEY_F33 = 0xFFDE,
196  KEY_F34 = 0xFFDF,
197  KEY_F35 = 0xFFE0,
198  /* Modifiers */
199  KEY_SHIFT_L = 0xFFE1, /* Left shift */
200  KEY_SHIFT_R = 0xFFE2, /* Right shift */
201  KEY_CONTROL_L = 0xFFE3, /* Left control */
202  KEY_CONTROL_R = 0xFFE4, /* Right control */
203  KEY_CAPS_LOCK = 0xFFE5, /* Caps lock */
204  KEY_SHIFT_LOCK = 0xFFE6, /* Shift lock */
205  KEY_META_L = 0xFFE7, /* Left meta */
206  KEY_META_R = 0xFFE8, /* Right meta */
207  KEY_ALT_L = 0xFFE9, /* Left alt */
208  KEY_ALT_R = 0xFFEA, /* Right alt */
209  KEY_SUPER_L = 0xFFEB, /* Left super */
210  KEY_SUPER_R = 0xFFEC, /* Right super */
211  KEY_HYPER_L = 0xFFED, /* Left hyper */
212  KEY_HYPER_R = 0xFFEE /* Right hyper */
213  };
214 
215  // Masks pulled out from osgGA/GUIEventAdapter
217  {
223  MODKEY_LEFT_ALT = 0x0010,
231  MODKEY_NUM_LOCK = 0x1000,
245  };
246 }; // namespace Devices
247 }; // namespace SurgSim
248 
249 #endif // SURGSIM_DEVICES_KEYBOARD_KEYCODE_H
Definition: KeyCode.h:27
Definition: KeyCode.h:163
Definition: KeyCode.h:49
Definition: KeyCode.h:114
Definition: KeyCode.h:157
Definition: KeyCode.h:235
Definition: KeyCode.h:165
Definition: KeyCode.h:47
Definition: KeyCode.h:140
Definition: CompoundShapeToGraphics.cpp:29
Definition: KeyCode.h:26
Definition: KeyCode.h:204
Definition: KeyCode.h:169
Definition: KeyCode.h:201
Definition: KeyCode.h:186
Definition: KeyCode.h:30
Definition: KeyCode.h:79
Definition: KeyCode.h:211
Definition: KeyCode.h:32
Definition: KeyCode.h:127
Definition: KeyCode.h:188
Definition: KeyCode.h:80
Definition: KeyCode.h:225
Definition: KeyCode.h:133
Definition: KeyCode.h:181
Definition: KeyCode.h:87
Definition: KeyCode.h:192
Definition: KeyCode.h:50
Definition: KeyCode.h:212
Definition: KeyCode.h:43
Definition: KeyCode.h:142
Definition: KeyCode.h:239
Definition: KeyCode.h:177
Definition: KeyCode.h:160
Definition: KeyCode.h:210
Definition: KeyCode.h:66
Definition: KeyCode.h:220
Definition: KeyCode.h:83
Definition: KeyCode.h:179
Definition: KeyCode.h:109
Definition: KeyCode.h:196
Definition: KeyCode.h:153
Definition: KeyCode.h:45
Definition: KeyCode.h:93
Definition: KeyCode.h:76
Definition: KeyCode.h:121
Definition: KeyCode.h:221
Definition: KeyCode.h:91
Definition: KeyCode.h:68
Definition: KeyCode.h:122
Definition: KeyCode.h:176
Definition: KeyCode.h:78
Definition: KeyCode.h:124
Definition: KeyCode.h:141
Definition: KeyCode.h:106
Definition: KeyCode.h:115
Definition: KeyCode.h:183
Definition: KeyCode.h:132
Definition: KeyCode.h:194
Definition: KeyCode.h:182
Definition: KeyCode.h:119
Definition: KeyCode.h:174
Definition: KeyCode.h:207
Definition: KeyCode.h:187
Definition: KeyCode.h:92
Definition: KeyCode.h:129
Definition: KeyCode.h:240
Definition: KeyCode.h:226
Definition: KeyCode.h:143
Definition: KeyCode.h:108
Definition: KeyCode.h:56
Definition: KeyCode.h:85
Definition: KeyCode.h:107
Definition: KeyCode.h:39
Definition: KeyCode.h:75
Definition: KeyCode.h:100
Definition: KeyCode.h:62
Definition: KeyCode.h:63
Definition: KeyCode.h:202
Definition: KeyCode.h:97
Definition: KeyCode.h:191
Definition: KeyCode.h:73
Definition: KeyCode.h:131
Definition: KeyCode.h:161
Definition: KeyCode.h:189
Definition: KeyCode.h:222
Definition: KeyCode.h:98
Definition: KeyCode.h:113
Definition: KeyCode.h:172
Definition: KeyCode.h:51
Definition: KeyCode.h:74
Definition: KeyCode.h:77
Definition: KeyCode.h:167
Definition: KeyCode.h:67
Definition: KeyCode.h:86
Definition: KeyCode.h:144
Definition: KeyCode.h:88
Definition: KeyCode.h:29
Definition: KeyCode.h:101
Definition: KeyCode.h:40
Definition: KeyCode.h:230
Definition: KeyCode.h:171
ModKeyMask
Definition: KeyCode.h:216
Definition: KeyCode.h:151
Definition: KeyCode.h:138
Definition: KeyCode.h:208
Definition: KeyCode.h:148
Definition: KeyCode.h:70
Definition: KeyCode.h:193
Definition: KeyCode.h:60
Definition: KeyCode.h:200
Definition: KeyCode.h:136
Definition: KeyCode.h:104
Definition: KeyCode.h:128
Definition: KeyCode.h:82
Definition: KeyCode.h:130
Definition: KeyCode.h:64
Definition: KeyCode.h:57
Definition: KeyCode.h:205
Definition: KeyCode.h:52
Definition: KeyCode.h:244
Definition: KeyCode.h:99
Definition: KeyCode.h:120
Definition: KeyCode.h:154
Definition: KeyCode.h:53
Definition: KeyCode.h:237
Definition: KeyCode.h:178
Definition: KeyCode.h:55
Definition: KeyCode.h:34
Definition: KeyCode.h:233
Definition: KeyCode.h:199
Definition: KeyCode.h:224
Definition: KeyCode.h:228
Definition: KeyCode.h:44
Definition: KeyCode.h:59
Definition: KeyCode.h:170
Definition: KeyCode.h:206
Definition: KeyCode.h:71
Definition: KeyCode.h:89
Definition: KeyCode.h:125
Definition: KeyCode.h:42
Definition: KeyCode.h:146
Definition: KeyCode.h:111
Definition: KeyCode.h:54
Definition: KeyCode.h:94
Definition: KeyCode.h:139
Definition: KeyCode.h:238
Definition: KeyCode.h:149
Definition: KeyCode.h:152
Definition: KeyCode.h:81
Definition: KeyCode.h:231
Definition: KeyCode.h:164
Definition: KeyCode.h:117
Definition: KeyCode.h:229
Definition: KeyCode.h:195
Definition: KeyCode.h:36
Definition: KeyCode.h:37
Definition: KeyCode.h:35
Definition: KeyCode.h:218
KeyCode
Definition: KeyCode.h:24
Definition: KeyCode.h:190
Definition: KeyCode.h:126
Definition: KeyCode.h:236
Definition: KeyCode.h:61
Definition: KeyCode.h:227
Definition: KeyCode.h:243
Definition: KeyCode.h:158
Definition: KeyCode.h:65
Definition: KeyCode.h:147
Definition: KeyCode.h:84
Definition: KeyCode.h:112
Definition: KeyCode.h:180
Definition: KeyCode.h:102
Definition: KeyCode.h:31
Definition: KeyCode.h:159
Definition: KeyCode.h:46
Definition: KeyCode.h:197
Definition: KeyCode.h:95
Definition: KeyCode.h:135
Definition: KeyCode.h:90
Definition: KeyCode.h:103
Definition: KeyCode.h:232
Definition: KeyCode.h:110
Definition: KeyCode.h:155
Definition: KeyCode.h:145
Definition: KeyCode.h:105
Definition: KeyCode.h:162
Definition: KeyCode.h:41
Definition: KeyCode.h:234
Definition: KeyCode.h:203
Definition: KeyCode.h:96
Definition: KeyCode.h:219
Definition: KeyCode.h:209
Definition: KeyCode.h:28
Definition: KeyCode.h:48
Definition: KeyCode.h:118
Definition: KeyCode.h:134
Definition: KeyCode.h:166
Definition: KeyCode.h:223
Definition: KeyCode.h:38
Definition: KeyCode.h:168
Definition: KeyCode.h:184
Definition: KeyCode.h:123
Definition: KeyCode.h:156
Definition: KeyCode.h:116
Definition: KeyCode.h:185
Definition: KeyCode.h:175
Definition: KeyCode.h:58
Definition: KeyCode.h:69
Definition: KeyCode.h:173
Definition: KeyCode.h:150
Definition: KeyCode.h:72
Definition: KeyCode.h:33
Definition: KeyCode.h:137