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