MyGUI
3.2.0
Main Page
Related Pages
Namespaces
Data Structures
Files
Examples
File List
Globals
MyGUIEngine
include
MyGUI_KeyCode.h
Go to the documentation of this file.
1
6
/*
7
This file is part of MyGUI.
8
9
MyGUI is free software: you can redistribute it and/or modify
10
it under the terms of the GNU Lesser General Public License as published by
11
the Free Software Foundation, either version 3 of the License, or
12
(at your option) any later version.
13
14
MyGUI is distributed in the hope that it will be useful,
15
but WITHOUT ANY WARRANTY; without even the implied warranty of
16
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
GNU Lesser General Public License for more details.
18
19
You should have received a copy of the GNU Lesser General Public License
20
along with MyGUI. If not, see <http://www.gnu.org/licenses/>.
21
*/
22
#ifndef __MYGUI_KEY_CODE_H__
23
#define __MYGUI_KEY_CODE_H__
24
25
#include "
MyGUI_Prerequest.h
"
26
27
namespace
MyGUI
28
{
29
30
struct
MYGUI_EXPORT
KeyCode
31
{
32
enum
Enum
33
{
34
None = 0x00,
35
Escape = 0x01,
36
One = 0x02,
37
Two = 0x03,
38
Three = 0x04,
39
Four = 0x05,
40
Five = 0x06,
41
Six = 0x07,
42
Seven = 0x08,
43
Eight = 0x09,
44
Nine = 0x0A,
45
Zero = 0x0B,
46
Minus = 0x0C,
/* - on main keyboard */
47
Equals = 0x0D,
48
Backspace = 0x0E,
/* Backspace */
49
Tab
= 0x0F,
50
Q = 0x10,
51
W = 0x11,
52
E = 0x12,
53
R = 0x13,
54
T = 0x14,
55
Y = 0x15,
56
U = 0x16,
57
I = 0x17,
58
O = 0x18,
59
P = 0x19,
60
LeftBracket = 0x1A,
61
RightBracket = 0x1B,
62
Return = 0x1C,
/* Enter on main keyboard */
63
LeftControl = 0x1D,
64
A = 0x1E,
65
S = 0x1F,
66
D = 0x20,
67
F = 0x21,
68
G = 0x22,
69
H = 0x23,
70
J = 0x24,
71
K = 0x25,
72
L = 0x26,
73
Semicolon = 0x27,
74
Apostrophe = 0x28,
75
Grave = 0x29,
/* Accent grave ( ~ ) */
76
LeftShift = 0x2A,
77
Backslash = 0x2B,
78
Z = 0x2C,
79
X = 0x2D,
80
C = 0x2E,
81
V = 0x2F,
82
B = 0x30,
83
N = 0x31,
84
M = 0x32,
85
Comma = 0x33,
86
Period = 0x34,
/* . on main keyboard */
87
Slash = 0x35,
/* '/' on main keyboard */
88
RightShift = 0x36,
89
Multiply = 0x37,
/* * on numeric keypad */
90
LeftAlt = 0x38,
/* Left Alt */
91
Space
= 0x39,
92
Capital = 0x3A,
93
F1 = 0x3B,
94
F2 = 0x3C,
95
F3 = 0x3D,
96
F4 = 0x3E,
97
F5 = 0x3F,
98
F6 = 0x40,
99
F7 = 0x41,
100
F8 = 0x42,
101
F9 = 0x43,
102
F10 = 0x44,
103
NumLock = 0x45,
104
ScrollLock = 0x46,
/* Scroll Lock */
105
Numpad7 = 0x47,
106
Numpad8 = 0x48,
107
Numpad9 = 0x49,
108
Subtract = 0x4A,
/* - on numeric keypad */
109
Numpad4 = 0x4B,
110
Numpad5 = 0x4C,
111
Numpad6 = 0x4D,
112
Add = 0x4E,
/* + on numeric keypad */
113
Numpad1 = 0x4F,
114
Numpad2 = 0x50,
115
Numpad3 = 0x51,
116
Numpad0 = 0x52,
117
Decimal = 0x53,
/* . on numeric keypad */
118
OEM_102 = 0x56,
/* < > | on UK/Germany keyboards */
119
F11 = 0x57,
120
F12 = 0x58,
121
F13 = 0x64,
/* (NEC PC98) */
122
F14 = 0x65,
/* (NEC PC98) */
123
F15 = 0x66,
/* (NEC PC98) */
124
Kana = 0x70,
/* (Japanese keyboard) */
125
ABNT_C1 = 0x73,
/* / ? on Portugese (Brazilian) keyboards */
126
Convert = 0x79,
/* (Japanese keyboard) */
127
NoConvert = 0x7B,
/* (Japanese keyboard) */
128
Yen = 0x7D,
/* (Japanese keyboard) */
129
ABNT_C2 = 0x7E,
/* Numpad . on Portugese (Brazilian) keyboards */
130
NumpadEquals = 0x8D,
/* = on numeric keypad (NEC PC98) */
131
PrevTrack = 0x90,
/* Previous Track (KC_CIRCUMFLEX on Japanese keyboard) */
132
At = 0x91,
/* (NEC PC98) */
133
Colon = 0x92,
/* (NEC PC98) */
134
Underline = 0x93,
/* (NEC PC98) */
135
Kanji = 0x94,
/* (Japanese keyboard) */
136
Stop = 0x95,
/* (NEC PC98) */
137
AX = 0x96,
/* (Japan AX) */
138
Unlabeled = 0x97,
/* (J3100) */
139
NextTrack = 0x99,
/* Next Track */
140
NumpadEnter = 0x9C,
/* Enter on numeric keypad */
141
RightControl = 0x9D,
142
Mute = 0xA0,
143
Calculator = 0xA1,
144
PlayPause = 0xA2,
/* Play / Pause */
145
MediaStop = 0xA4,
/* Media Stop */
146
VolumeDown = 0xAE,
/* Volume - */
147
VolumeUp = 0xB0,
/* Volume + */
148
WebHome = 0xB2,
/* Web home */
149
NumpadComma = 0xB3,
/* , on numeric keypad (NEC PC98) */
150
Divide = 0xB5,
/* / on numeric keypad */
151
SysRq = 0xB7,
152
RightAlt = 0xB8,
/* Right Alt */
153
Pause = 0xC5,
154
Home = 0xC7,
/* Home on arrow keypad */
155
ArrowUp = 0xC8,
/* UpArrow on arrow keypad */
156
PageUp = 0xC9,
/* PgUp on arrow keypad */
157
ArrowLeft = 0xCB,
/* LeftArrow on arrow keypad */
158
ArrowRight = 0xCD,
/* RightArrow on arrow keypad */
159
End = 0xCF,
/* End on arrow keypad */
160
ArrowDown = 0xD0,
/* DownArrow on arrow keypad */
161
PageDown = 0xD1,
/* PgDn on arrow keypad */
162
Insert = 0xD2,
/* Insert on arrow keypad */
163
Delete = 0xD3,
/* Delete on arrow keypad */
164
LeftWindows = 0xDB,
/* Left Windows key */
165
RightWindow = 0xDC,
/* Right Windows key */
166
RightWindows = 0xDC,
/* Right Windows key - Correct spelling :) */
167
AppMenu = 0xDD,
/* AppMenu key */
168
Power = 0xDE,
/* System Power */
169
Sleep = 0xDF,
/* System Sleep */
170
Wake = 0xE3,
/* System Wake */
171
WebSearch = 0xE5,
172
WebFavorites = 0xE6,
173
WebRefresh = 0xE7,
174
WebStop = 0xE8,
175
WebForward = 0xE9,
176
WebBack = 0xEA,
177
MyComputer = 0xEB,
178
Mail = 0xEC,
179
MediaSelect = 0xED
180
};
181
182
KeyCode
(
Enum
_value = None) :
183
value(_value)
184
{
185
}
186
187
friend
bool
operator <
(
KeyCode
const
& a,
KeyCode
const
& b)
188
{
189
return
(a.value < b.value);
190
}
191
192
friend
bool
operator >=
(
KeyCode
const
& a,
KeyCode
const
& b)
193
{
194
return
!(a < b);
195
}
196
197
friend
bool
operator >
(
KeyCode
const
& a,
KeyCode
const
& b)
198
{
199
return
(b < a);
200
}
201
202
friend
bool
operator <=
(
KeyCode
const
& a,
KeyCode
const
& b)
203
{
204
return
!(a > b);
205
}
206
207
friend
bool
operator ==
(
KeyCode
const
& a,
KeyCode
const
& b)
208
{
209
return
!(a < b) && !(a > b);
210
}
211
212
friend
bool
operator !=
(
KeyCode
const
& a,
KeyCode
const
& b)
213
{
214
return
!(a == b);
215
}
216
217
int
toValue
()
const
218
{
219
return
(
int
)value;
220
}
221
222
private
:
223
Enum
value;
224
};
225
226
}
// namespace MyGUI
227
228
#endif // __MYGUI_KEY_CODE_H__
Generated by
1.8.4