i6engine  1.0
KeyCodes.h
Go to the documentation of this file.
1 /*
2  * i6engine
3  * Copyright (2016) Daniel Bonrath, Michael Baer, All rights reserved.
4  *
5  * This file is part of i6engine; i6engine is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18  */
19 
25 #ifndef __I6ENGINE_API_KEYCODES_H__
26 #define __I6ENGINE_API_KEYCODES_H__
27 
28 #include <cstdint>
29 
31 
32 namespace i6e {
33 namespace api {
34 
38  enum class ISIXE_MODULES_API KeyCode : uint32_t {
39  KC_UNASSIGNED = 0x00,
40  KC_ESCAPE = 0x01,
41  KC_1 = 0x02,
42  KC_2 = 0x03,
43  KC_3 = 0x04,
44  KC_4 = 0x05,
45  KC_5 = 0x06,
46  KC_6 = 0x07,
47  KC_7 = 0x08,
48  KC_8 = 0x09,
49  KC_9 = 0x0A,
50  KC_0 = 0x0B,
51  KC_MINUS = 0x0C, // - on main keyboard
52  KC_EQUALS = 0x0D,
53  KC_BACK = 0x0E, // backspace
54  KC_TAB = 0x0F,
55  KC_Q = 0x10,
56  KC_W = 0x11,
57  KC_E = 0x12,
58  KC_R = 0x13,
59  KC_T = 0x14,
60  KC_Y = 0x15,
61  KC_U = 0x16,
62  KC_I = 0x17,
63  KC_O = 0x18,
64  KC_P = 0x19,
65  KC_LBRACKET = 0x1A,
66  KC_RBRACKET = 0x1B,
67  KC_RETURN = 0x1C, // Enter on main keyboard
68  KC_LCONTROL = 0x1D,
69  KC_A = 0x1E,
70  KC_S = 0x1F,
71  KC_D = 0x20,
72  KC_F = 0x21,
73  KC_G = 0x22,
74  KC_H = 0x23,
75  KC_J = 0x24,
76  KC_K = 0x25,
77  KC_L = 0x26,
78  KC_SEMICOLON = 0x27,
79  KC_APOSTROPHE = 0x28,
80  KC_GRAVE = 0x29, // accent
81  KC_LSHIFT = 0x2A,
82  KC_BACKSLASH = 0x2B,
83  KC_Z = 0x2C,
84  KC_X = 0x2D,
85  KC_C = 0x2E,
86  KC_V = 0x2F,
87  KC_B = 0x30,
88  KC_N = 0x31,
89  KC_M = 0x32,
90  KC_COMMA = 0x33,
91  KC_PERIOD = 0x34, // . on main keyboard
92  KC_SLASH = 0x35, // / on main keyboard
93  KC_RSHIFT = 0x36,
94  KC_MULTIPLY = 0x37, // * on numeric keypad
95  KC_LMENU = 0x38, // left Alt
96  KC_SPACE = 0x39,
97  KC_CAPITAL = 0x3A,
98  KC_F1 = 0x3B,
99  KC_F2 = 0x3C,
100  KC_F3 = 0x3D,
101  KC_F4 = 0x3E,
102  KC_F5 = 0x3F,
103  KC_F6 = 0x40,
104  KC_F7 = 0x41,
105  KC_F8 = 0x42,
106  KC_F9 = 0x43,
107  KC_F10 = 0x44,
108  KC_NUMLOCK = 0x45,
109  KC_SCROLL = 0x46, // Scroll Lock
110  KC_NUMPAD7 = 0x47,
111  KC_NUMPAD8 = 0x48,
112  KC_NUMPAD9 = 0x49,
113  KC_SUBTRACT = 0x4A, // - on numeric keypad
114  KC_NUMPAD4 = 0x4B,
115  KC_NUMPAD5 = 0x4C,
116  KC_NUMPAD6 = 0x4D,
117  KC_ADD = 0x4E, // + on numeric keypad
118  KC_NUMPAD1 = 0x4F,
119  KC_NUMPAD2 = 0x50,
120  KC_NUMPAD3 = 0x51,
121  KC_NUMPAD0 = 0x52,
122  KC_DECIMAL = 0x53, // . on numeric keypad
123  KC_OEM_102 = 0x56, // < > | on UK/Germany keyboards
124  KC_F11 = 0x57,
125  KC_F12 = 0x58,
126  KC_F13 = 0x64, // (NEC PC98)
127  KC_F14 = 0x65, // (NEC PC98)
128  KC_F15 = 0x66, // (NEC PC98)
129  KC_KANA = 0x70, // (Japanese keyboard)
130  KC_ABNT_C1 = 0x73, // / ? on Portugese (Brazilian) keyboards
131  KC_CONVERT = 0x79, // (Japanese keyboard)
132  KC_NOCONVERT = 0x7B, // (Japanese keyboard)
133  KC_YEN = 0x7D, // (Japanese keyboard)
134  KC_ABNT_C2 = 0x7E, // Numpad . on Portugese (Brazilian) keyboards
135  KC_NUMPADEQUALS= 0x8D, // = on numeric keypad (NEC PC98)
136  KC_PREVTRACK = 0x90, // Previous Track (KC_CIRCUMFLEX on Japanese keyboard)
137  KC_AT = 0x91, // (NEC PC98)
138  KC_COLON = 0x92, // (NEC PC98)
139  KC_UNDERLINE = 0x93, // (NEC PC98)
140  KC_KANJI = 0x94, // (Japanese keyboard)
141  KC_STOP = 0x95, // (NEC PC98)
142  KC_AX = 0x96, // (Japan AX)
143  KC_UNLABELED = 0x97, // (J3100)
144  KC_NEXTTRACK = 0x99, // Next Track
145  KC_NUMPADENTER = 0x9C, // Enter on numeric keypad
146  KC_RCONTROL = 0x9D,
147  KC_MUTE = 0xA0, // Mute
148  KC_CALCULATOR = 0xA1, // Calculator
149  KC_PLAYPAUSE = 0xA2, // Play / Pause
150  KC_MEDIASTOP = 0xA4, // Media Stop
151  KC_VOLUMEDOWN = 0xAE, // Volume -
152  KC_VOLUMEUP = 0xB0, // Volume +
153  KC_WEBHOME = 0xB2, // Web home
154  KC_NUMPADCOMMA = 0xB3, // , on numeric keypad (NEC PC98)
155  KC_DIVIDE = 0xB5, // / on numeric keypad
156  KC_SYSRQ = 0xB7,
157  KC_RMENU = 0xB8, // right Alt
158  KC_PAUSE = 0xC5, // Pause
159  KC_HOME = 0xC7, // Home on arrow keypad
160  KC_UP = 0xC8, // UpArrow on arrow keypad
161  KC_PGUP = 0xC9, // PgUp on arrow keypad
162  KC_LEFT = 0xCB, // LeftArrow on arrow keypad
163  KC_RIGHT = 0xCD, // RightArrow on arrow keypad
164  KC_END = 0xCF, // End on arrow keypad
165  KC_DOWN = 0xD0, // DownArrow on arrow keypad
166  KC_PGDOWN = 0xD1, // PgDn on arrow keypad
167  KC_INSERT = 0xD2, // Insert on arrow keypad
168  KC_DELETE = 0xD3, // Delete on arrow keypad
169  KC_LWIN = 0xDB, // Left Windows key
170  KC_RWIN = 0xDC, // Right Windows key
171  KC_APPS = 0xDD, // AppMenu key
172  KC_POWER = 0xDE, // System Power
173  KC_SLEEP = 0xDF, // System Sleep
174  KC_WAKE = 0xE3, // System Wake
175  KC_WEBSEARCH = 0xE5, // Web Search
176  KC_WEBFAVORITES= 0xE6, // Web Favorites
177  KC_WEBREFRESH = 0xE7, // Web Refresh
178  KC_WEBSTOP = 0xE8, // Web Stop
179  KC_WEBFORWARD = 0xE9, // Web Forward
180  KC_WEBBACK = 0xEA, // Web Back
181  KC_MYCOMPUTER = 0xEB, // My Computer
182  KC_MAIL = 0xEC, // Mail
183  KC_MEDIASELECT = 0xED, // Media Select
184 
185  MOUSEBUTTONS = 0xF00, // all following key are for mouse buttons
186  KC_MBLeft, // Left mouse button
187  KC_MBRight, // right mouse button
188  KC_MBMiddle, // middle mouse button (= mouse wheel)
189  KC_MBButton3,
190  KC_MBButton4,
191  KC_MBButton5,
192  KC_MBButton6,
193  KC_MBButton7,
194 
195  COUNT
196  };
197 
198 } /* namespace api */
199 } /* namespace i6e */
200 
201 #endif /* __I6ENGINE_API_KEYCODES_H__ */
202 
KC_4
Definition: KeyCodes.h:44
KC_F1
Definition: KeyCodes.h:98
KC_W
Definition: KeyCodes.h:56
KC_F10
Definition: KeyCodes.h:107
KC_O
Definition: KeyCodes.h:63
KC_LBRACKET
Definition: KeyCodes.h:65
KC_T
Definition: KeyCodes.h:59
KC_OEM_102
Definition: KeyCodes.h:123
KC_BACK
Definition: KeyCodes.h:53
KC_NUMPAD8
Definition: KeyCodes.h:111
KC_F13
Definition: KeyCodes.h:126
KC_UNLABELED
Definition: KeyCodes.h:143
KC_MEDIASTOP
Definition: KeyCodes.h:150
KC_WAKE
Definition: KeyCodes.h:174
KC_R
Definition: KeyCodes.h:58
KC_WEBFORWARD
Definition: KeyCodes.h:179
KC_DELETE
Definition: KeyCodes.h:168
KC_F5
Definition: KeyCodes.h:102
KC_WEBREFRESH
Definition: KeyCodes.h:177
KC_UP
Definition: KeyCodes.h:160
KC_VOLUMEUP
Definition: KeyCodes.h:152
KC_MBButton7
Definition: KeyCodes.h:185
KC_MEDIASELECT
Definition: KeyCodes.h:183
KC_9
Definition: KeyCodes.h:49
KC_WEBSEARCH
Definition: KeyCodes.h:175
KC_X
Definition: KeyCodes.h:84
KC_SLEEP
Definition: KeyCodes.h:173
KC_SEMICOLON
Definition: KeyCodes.h:78
KC_2
Definition: KeyCodes.h:42
KC_5
Definition: KeyCodes.h:45
#define ISIXE_MODULES_API
KC_F11
Definition: KeyCodes.h:124
KC_NUMPAD6
Definition: KeyCodes.h:116
KC_NUMPAD3
Definition: KeyCodes.h:120
KC_ABNT_C2
Definition: KeyCodes.h:134
KC_LCONTROL
Definition: KeyCodes.h:68
KC_RWIN
Definition: KeyCodes.h:170
Enables or disables ticking of a Component.
KC_SLASH
Definition: KeyCodes.h:92
KC_GRAVE
Definition: KeyCodes.h:80
KC_C
Definition: KeyCodes.h:85
KC_DOWN
Definition: KeyCodes.h:165
KC_0
Definition: KeyCodes.h:50
KC_LEFT
Definition: KeyCodes.h:162
KC_NUMPADENTER
Definition: KeyCodes.h:145
KC_F15
Definition: KeyCodes.h:128
KC_COLON
Definition: KeyCodes.h:138
KC_PGUP
Definition: KeyCodes.h:161
KC_AX
Definition: KeyCodes.h:142
KC_1
Definition: KeyCodes.h:41
KC_RMENU
Definition: KeyCodes.h:157
KC_MINUS
Definition: KeyCodes.h:51
KC_F2
Definition: KeyCodes.h:99
KC_NUMPAD5
Definition: KeyCodes.h:115
KC_P
Definition: KeyCodes.h:64
KC_MBButton5
Definition: KeyCodes.h:185
KC_WEBFAVORITES
Definition: KeyCodes.h:176
KC_F9
Definition: KeyCodes.h:106
KC_F7
Definition: KeyCodes.h:104
KC_NUMPAD0
Definition: KeyCodes.h:121
KC_CALCULATOR
Definition: KeyCodes.h:148
KC_A
Definition: KeyCodes.h:69
KC_SUBTRACT
Definition: KeyCodes.h:113
KC_F12
Definition: KeyCodes.h:125
KC_NUMPADCOMMA
Definition: KeyCodes.h:154
KC_MBLeft
Definition: KeyCodes.h:185
MOUSEBUTTONS
Definition: KeyCodes.h:185
KC_ABNT_C1
Definition: KeyCodes.h:130
KC_RCONTROL
Definition: KeyCodes.h:146
KC_V
Definition: KeyCodes.h:86
KC_TAB
Definition: KeyCodes.h:54
KC_F3
Definition: KeyCodes.h:100
KC_EQUALS
Definition: KeyCodes.h:52
KC_NUMPADEQUALS
Definition: KeyCodes.h:135
KC_ADD
Definition: KeyCodes.h:117
KC_WEBSTOP
Definition: KeyCodes.h:178
KC_M
Definition: KeyCodes.h:89
KC_G
Definition: KeyCodes.h:73
KC_D
Definition: KeyCodes.h:71
KC_COMMA
Definition: KeyCodes.h:90
KC_N
Definition: KeyCodes.h:88
KC_CAPITAL
Definition: KeyCodes.h:97
KC_SYSRQ
Definition: KeyCodes.h:156
KC_MULTIPLY
Definition: KeyCodes.h:94
KC_Q
Definition: KeyCodes.h:55
KC_LSHIFT
Definition: KeyCodes.h:81
KC_DIVIDE
Definition: KeyCodes.h:155
KC_F4
Definition: KeyCodes.h:101
KC_SPACE
Definition: KeyCodes.h:96
KC_3
Definition: KeyCodes.h:43
KC_RBRACKET
Definition: KeyCodes.h:66
KC_STOP
Definition: KeyCodes.h:141
KC_PREVTRACK
Definition: KeyCodes.h:136
KC_LWIN
Definition: KeyCodes.h:169
KC_UNASSIGNED
Definition: KeyCodes.h:39
KC_L
Definition: KeyCodes.h:77
KC_KANJI
Definition: KeyCodes.h:140
KC_NUMLOCK
Definition: KeyCodes.h:108
KC_MAIL
Definition: KeyCodes.h:182
KC_7
Definition: KeyCodes.h:47
KC_SCROLL
Definition: KeyCodes.h:109
KC_HOME
Definition: KeyCodes.h:159
KC_MBButton3
Definition: KeyCodes.h:185
KC_NUMPAD7
Definition: KeyCodes.h:110
KC_WEBBACK
Definition: KeyCodes.h:180
KC_LMENU
Definition: KeyCodes.h:95
KC_KANA
Definition: KeyCodes.h:129
KC_ESCAPE
Definition: KeyCodes.h:40
KC_MBButton4
Definition: KeyCodes.h:185
KC_6
Definition: KeyCodes.h:46
KC_RETURN
Definition: KeyCodes.h:67
KC_PLAYPAUSE
Definition: KeyCodes.h:149
KC_APOSTROPHE
Definition: KeyCodes.h:79
KC_F6
Definition: KeyCodes.h:103
KC_UNDERLINE
Definition: KeyCodes.h:139
KC_NEXTTRACK
Definition: KeyCodes.h:144
KC_MUTE
Definition: KeyCodes.h:147
KC_B
Definition: KeyCodes.h:87
KC_YEN
Definition: KeyCodes.h:133
KC_CONVERT
Definition: KeyCodes.h:131
KC_APPS
Definition: KeyCodes.h:171
KC_PAUSE
Definition: KeyCodes.h:158
KC_8
Definition: KeyCodes.h:48
KC_MYCOMPUTER
Definition: KeyCodes.h:181
KC_Z
Definition: KeyCodes.h:83
KC_PGDOWN
Definition: KeyCodes.h:166
KC_AT
Definition: KeyCodes.h:137
KC_E
Definition: KeyCodes.h:57
KC_I
Definition: KeyCodes.h:62
KC_K
Definition: KeyCodes.h:76
KC_MBButton6
Definition: KeyCodes.h:185
KC_H
Definition: KeyCodes.h:74
KC_DECIMAL
Definition: KeyCodes.h:122
KC_MBMiddle
Definition: KeyCodes.h:185
KC_F8
Definition: KeyCodes.h:105
KC_U
Definition: KeyCodes.h:61
KC_NUMPAD4
Definition: KeyCodes.h:114
KC_BACKSLASH
Definition: KeyCodes.h:82
KC_NUMPAD2
Definition: KeyCodes.h:119
KC_S
Definition: KeyCodes.h:70
KC_INSERT
Definition: KeyCodes.h:167
KC_J
Definition: KeyCodes.h:75
KC_PERIOD
Definition: KeyCodes.h:91
KC_RSHIFT
Definition: KeyCodes.h:93
KC_NUMPAD9
Definition: KeyCodes.h:112
KC_END
Definition: KeyCodes.h:164
KC_NOCONVERT
Definition: KeyCodes.h:132
KC_F
Definition: KeyCodes.h:72
KC_POWER
Definition: KeyCodes.h:172
KC_VOLUMEDOWN
Definition: KeyCodes.h:151
KC_MBRight
Definition: KeyCodes.h:185
KC_RIGHT
Definition: KeyCodes.h:163
KC_WEBHOME
Definition: KeyCodes.h:153
KC_NUMPAD1
Definition: KeyCodes.h:118
KC_F14
Definition: KeyCodes.h:127
KC_Y
Definition: KeyCodes.h:60