MyGUI 3.2.0

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files
- Examples

- File List
- Globals

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__
MyGUI::FontCodeType::Enum
Enum
Definition: MyGUI_FontData.h:33
MyGUI_Prerequest.h
MyGUI::KeyCode
Definition: MyGUI_KeyCode.h:30
MyGUI::operator!=
bool operator!=(const UString::_const_fwd_iterator &left, const UString::_const_fwd_iterator &right)
Definition: MyGUI_UString.h:1049
MyGUI::operator==
bool operator==(const UString::_const_fwd_iterator &left, const UString::_const_fwd_iterator &right)
Definition: MyGUI_UString.h:1046
MyGUI::operator<=
bool operator<=(const UString::_const_fwd_iterator &left, const UString::_const_fwd_iterator &right)
Definition: MyGUI_UString.h:1055
MyGUI::KeyCode::toValue
int toValue() const
Definition: MyGUI_KeyCode.h:217
MyGUI::operator>
bool operator>(const UString::_const_fwd_iterator &left, const UString::_const_fwd_iterator &right)
Definition: MyGUI_UString.h:1058
MYGUI_EXPORT
#define MYGUI_EXPORT
Definition: MyGUI_Platform.h:120
MyGUI::FontCodeType::Space
Definition: MyGUI_FontData.h:38
MyGUI::KeyCode::KeyCode
KeyCode(Enum _value=None)
Definition: MyGUI_KeyCode.h:182
MyGUI::KeyCode::Enum
Enum
Definition: MyGUI_KeyCode.h:32
MyGUI::operator>=
bool operator>=(const UString::_const_fwd_iterator &left, const UString::_const_fwd_iterator &right)
Definition: MyGUI_UString.h:1061
MyGUI::TabControl
Definition: MyGUI_TabControl.h:38
MyGUI::operator<
bool operator<(const UString::_const_fwd_iterator &left, const UString::_const_fwd_iterator &right)
Definition: MyGUI_UString.h:1052