1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
2 // This file is part of the "Irrlicht Engine".
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
4 
5 #ifndef __IRR_KEY_CODES_H_INCLUDED__
6 #define __IRR_KEY_CODES_H_INCLUDED__
7 
8 namespace irr
9 {
10 
11 	enum EKEY_CODE
12 	{
13 		IRR_KEY_UNKNOWN          = 0x0,
14 		IRR_KEY_LBUTTON          = 0x01,  // Left mouse button
15 		IRR_KEY_RBUTTON          = 0x02,  // Right mouse button
16 		IRR_KEY_CANCEL           = 0x03,  // Control-break processing
17 		IRR_KEY_MBUTTON          = 0x04,  // Middle mouse button (three-button mouse)
18 		IRR_KEY_XBUTTON1         = 0x05,  // Windows 2000/XP: X1 mouse button
19 		IRR_KEY_XBUTTON2         = 0x06,  // Windows 2000/XP: X2 mouse button
20 		IRR_KEY_BACK             = 0x08,  // BACKSPACE key
21 		IRR_KEY_TAB              = 0x09,  // TAB key
22 		IRR_KEY_CLEAR            = 0x0C,  // CLEAR key
23 		IRR_KEY_RETURN           = 0x0D,  // ENTER key
24 		IRR_KEY_SHIFT            = 0x10,  // SHIFT key
25 		IRR_KEY_CONTROL          = 0x11,  // CTRL key
26 		IRR_KEY_MENU             = 0x12,  // ALT key
27 		IRR_KEY_PAUSE            = 0x13,  // PAUSE key
28 		IRR_KEY_CAPITAL          = 0x14,  // CAPS LOCK key
29 		IRR_KEY_KANA             = 0x15,  // IME Kana mode
30 		IRR_KEY_HANGUEL          = 0x15,  // IME Hanguel mode (maintained for compatibility use KEY_HANGUL)
31 		IRR_KEY_HANGUL           = 0x15,  // IME Hangul mode
32 		IRR_KEY_JUNJA            = 0x17,  // IME Junja mode
33 		IRR_KEY_FINAL            = 0x18,  // IME final mode
34 		IRR_KEY_HANJA            = 0x19,  // IME Hanja mode
35 		IRR_KEY_KANJI            = 0x19,  // IME Kanji mode
36 		IRR_KEY_ESCAPE           = 0x1B,  // ESC key
37 		IRR_KEY_CONVERT          = 0x1C,  // IME convert
38 		IRR_KEY_NONCONVERT       = 0x1D,  // IME nonconvert
39 		IRR_KEY_ACCEPT           = 0x1E,  // IME accept
40 		IRR_KEY_MODECHANGE       = 0x1F,  // IME mode change request
41 		IRR_KEY_SPACE            = 0x20,  // SPACEBAR
42 		IRR_KEY_PRIOR            = 0x21,  // PAGE UP key
43 		IRR_KEY_NEXT             = 0x22,  // PAGE DOWN key
44 		IRR_KEY_END              = 0x23,  // END key
45 		IRR_KEY_HOME             = 0x24,  // HOME key
46 		IRR_KEY_LEFT             = 0x25,  // LEFT ARROW key
47 		IRR_KEY_UP               = 0x26,  // UP ARROW key
48 		IRR_KEY_RIGHT            = 0x27,  // RIGHT ARROW key
49 		IRR_KEY_DOWN             = 0x28,  // DOWN ARROW key
50 		IRR_KEY_SELECT           = 0x29,  // SELECT key
51 		IRR_KEY_PRINT            = 0x2A,  // PRINT key
52 		IRR_KEY_EXECUT           = 0x2B,  // EXECUTE key
53 		IRR_KEY_SNAPSHOT         = 0x2C,  // PRINT SCREEN key
54 		IRR_KEY_INSERT           = 0x2D,  // INS key
55 		IRR_KEY_DELETE           = 0x2E,  // DEL key
56 		IRR_KEY_HELP             = 0x2F,  // HELP key
57 		IRR_KEY_0                = 0x30,  // 0 key
58 		IRR_KEY_1                = 0x31,  // 1 key
59 		IRR_KEY_2                = 0x32,  // 2 key
60 		IRR_KEY_3                = 0x33,  // 3 key
61 		IRR_KEY_4                = 0x34,  // 4 key
62 		IRR_KEY_5                = 0x35,  // 5 key
63 		IRR_KEY_6                = 0x36,  // 6 key
64 		IRR_KEY_7                = 0x37,  // 7 key
65 		IRR_KEY_8                = 0x38,  // 8 key
66 		IRR_KEY_9                = 0x39,  // 9 key
67 		IRR_KEY_A                = 0x41,  // A key
68 		IRR_KEY_B                = 0x42,  // B key
69 		IRR_KEY_C                = 0x43,  // C key
70 		IRR_KEY_D                = 0x44,  // D key
71 		IRR_KEY_E                = 0x45,  // E key
72 		IRR_KEY_F                = 0x46,  // F key
73 		IRR_KEY_G                = 0x47,  // G key
74 		IRR_KEY_H                = 0x48,  // H key
75 		IRR_KEY_I                = 0x49,  // I key
76 		IRR_KEY_J                = 0x4A,  // J key
77 		IRR_KEY_K                = 0x4B,  // K key
78 		IRR_KEY_L                = 0x4C,  // L key
79 		IRR_KEY_M                = 0x4D,  // M key
80 		IRR_KEY_N                = 0x4E,  // N key
81 		IRR_KEY_O                = 0x4F,  // O key
82 		IRR_KEY_P                = 0x50,  // P key
83 		IRR_KEY_Q                = 0x51,  // Q key
84 		IRR_KEY_R                = 0x52,  // R key
85 		IRR_KEY_S                = 0x53,  // S key
86 		IRR_KEY_T                = 0x54,  // T key
87 		IRR_KEY_U                = 0x55,  // U key
88 		IRR_KEY_V                = 0x56,  // V key
89 		IRR_KEY_W                = 0x57,  // W key
90 		IRR_KEY_X                = 0x58,  // X key
91 		IRR_KEY_Y                = 0x59,  // Y key
92 		IRR_KEY_Z                = 0x5A,  // Z key
93 		IRR_KEY_LWIN             = 0x5B,  // Left Windows key (Microsoft Natural keyboard)
94 		IRR_KEY_RWIN             = 0x5C,  // Right Windows key (Natural keyboard)
95 		IRR_KEY_APPS             = 0x5D,  // Applications key (Natural keyboard)
96 		IRR_KEY_SLEEP            = 0x5F,  // Computer Sleep key
97 		IRR_KEY_NUMPAD0          = 0x60,  // Numeric keypad 0 key
98 		IRR_KEY_NUMPAD1          = 0x61,  // Numeric keypad 1 key
99 		IRR_KEY_NUMPAD2          = 0x62,  // Numeric keypad 2 key
100 		IRR_KEY_NUMPAD3          = 0x63,  // Numeric keypad 3 key
101 		IRR_KEY_NUMPAD4          = 0x64,  // Numeric keypad 4 key
102 		IRR_KEY_NUMPAD5          = 0x65,  // Numeric keypad 5 key
103 		IRR_KEY_NUMPAD6          = 0x66,  // Numeric keypad 6 key
104 		IRR_KEY_NUMPAD7          = 0x67,  // Numeric keypad 7 key
105 		IRR_KEY_NUMPAD8          = 0x68,  // Numeric keypad 8 key
106 		IRR_KEY_NUMPAD9          = 0x69,  // Numeric keypad 9 key
107 		IRR_KEY_MULTIPLY         = 0x6A,  // Multiply key
108 		IRR_KEY_ADD              = 0x6B,  // Add key
109 		IRR_KEY_SEPARATOR        = 0x6C,  // Separator key
110 		IRR_KEY_SUBTRACT         = 0x6D,  // Subtract key
111 		IRR_KEY_DECIMAL          = 0x6E,  // Decimal key
112 		IRR_KEY_DIVIDE           = 0x6F,  // Divide key
113 		IRR_KEY_F1               = 0x70,  // F1 key
114 		IRR_KEY_F2               = 0x71,  // F2 key
115 		IRR_KEY_F3               = 0x72,  // F3 key
116 		IRR_KEY_F4               = 0x73,  // F4 key
117 		IRR_KEY_F5               = 0x74,  // F5 key
118 		IRR_KEY_F6               = 0x75,  // F6 key
119 		IRR_KEY_F7               = 0x76,  // F7 key
120 		IRR_KEY_F8               = 0x77,  // F8 key
121 		IRR_KEY_F9               = 0x78,  // F9 key
122 		IRR_KEY_F10              = 0x79,  // F10 key
123 		IRR_KEY_F11              = 0x7A,  // F11 key
124 		IRR_KEY_F12              = 0x7B,  // F12 key
125 		IRR_KEY_F13              = 0x7C,  // F13 key
126 		IRR_KEY_F14              = 0x7D,  // F14 key
127 		IRR_KEY_F15              = 0x7E,  // F15 key
128 		IRR_KEY_F16              = 0x7F,  // F16 key
129 		IRR_KEY_F17              = 0x80,  // F17 key
130 		IRR_KEY_F18              = 0x81,  // F18 key
131 		IRR_KEY_F19              = 0x82,  // F19 key
132 		IRR_KEY_F20              = 0x83,  // F20 key
133 		IRR_KEY_F21              = 0x84,  // F21 key
134 		IRR_KEY_F22              = 0x85,  // F22 key
135 		IRR_KEY_F23              = 0x86,  // F23 key
136 		IRR_KEY_F24              = 0x87,  // F24 key
137 		IRR_KEY_NUMLOCK          = 0x90,  // NUM LOCK key
138 		IRR_KEY_SCROLL           = 0x91,  // SCROLL LOCK key
139 		IRR_KEY_LSHIFT           = 0xA0,  // Left SHIFT key
140 		IRR_KEY_RSHIFT           = 0xA1,  // Right SHIFT key
141 		IRR_KEY_LCONTROL         = 0xA2,  // Left CONTROL key
142 		IRR_KEY_RCONTROL         = 0xA3,  // Right CONTROL key
143 		IRR_KEY_LMENU            = 0xA4,  // Left MENU key
144 		IRR_KEY_RMENU            = 0xA5,  // Right MENU key
145 		IRR_KEY_BROWSER_BACK     = 0xA6,  // Browser Back key
146 		IRR_KEY_BROWSER_FORWARD  = 0xA7,  // Browser Forward key
147 		IRR_KEY_BROWSER_REFRESH  = 0xA8,  // Browser Refresh key
148 		IRR_KEY_BROWSER_STOP     = 0xA9,  // Browser Stop key
149 		IRR_KEY_BROWSER_SEARCH   = 0xAA,  // Browser Search key
150 		IRR_KEY_BROWSER_FAVORITES =0xAB,  // Browser Favorites key
151 		IRR_KEY_BROWSER_HOME     = 0xAC,  // Browser Start and Home key
152 		IRR_KEY_VOLUME_MUTE      = 0xAD,  // Volume Mute key
153 		IRR_KEY_VOLUME_DOWN      = 0xAE,  // Volume Down key
154 		IRR_KEY_VOLUME_UP        = 0xAF,  // Volume Up key
155 		IRR_KEY_MEDIA_NEXT_TRACK = 0xB0,  // Next Track key
156 		IRR_KEY_MEDIA_PREV_TRACK = 0xB1,  // Previous Track key
157 		IRR_KEY_MEDIA_STOP       = 0xB2,  // Stop Media key
158 		IRR_KEY_MEDIA_PLAY_PAUSE = 0xB3,  // Play/Pause Media key
159 		IRR_KEY_OEM_1            = 0xBA,  // for US    ";:"
160 		IRR_KEY_PLUS             = 0xBB,  // Plus Key   "+"
161 		IRR_KEY_COMMA            = 0xBC,  // Comma Key  ","
162 		IRR_KEY_MINUS            = 0xBD,  // Minus Key  "-"
163 		IRR_KEY_PERIOD           = 0xBE,  // Period Key "."
164 		IRR_KEY_OEM_2            = 0xBF,  // for US    "/?"
165 		IRR_KEY_OEM_3            = 0xC0,  // for US    "`~"
166 		IRR_KEY_OEM_4            = 0xDB,  // for US    "[{"
167 		IRR_KEY_OEM_5            = 0xDC,  // for US    "\|"
168 		IRR_KEY_OEM_6            = 0xDD,  // for US    "]}"
169 		IRR_KEY_OEM_7            = 0xDE,  // for US    "'""
170 		IRR_KEY_OEM_8            = 0xDF,  // None
171 		IRR_KEY_OEM_AX           = 0xE1,  // for Japan "AX"
172 		IRR_KEY_OEM_102          = 0xE2,  // "<>" or "\|"
173 		IRR_KEY_ATTN             = 0xF6,  // Attn key
174 		IRR_KEY_CRSEL            = 0xF7,  // CrSel key
175 		IRR_KEY_EXSEL            = 0xF8,  // ExSel key
176 		IRR_KEY_EREOF            = 0xF9,  // Erase EOF key
177 		IRR_KEY_PLAY             = 0xFA,  // Play key
178 		IRR_KEY_ZOOM             = 0xFB,  // Zoom key
179 		IRR_KEY_PA1              = 0xFD,  // PA1 key
180 		IRR_KEY_OEM_CLEAR        = 0xFE,   // Clear key
181 
182 		IRR_KEY_BUTTON_LEFT      = 0x100,
183 		IRR_KEY_BUTTON_RIGHT     = 0x101,
184 		IRR_KEY_BUTTON_UP        = 0x102,
185 		IRR_KEY_BUTTON_DOWN      = 0x103,
186 		IRR_KEY_BUTTON_A         = 0x104,
187 		IRR_KEY_BUTTON_B         = 0x105,
188 		IRR_KEY_BUTTON_C         = 0x106,
189 		IRR_KEY_BUTTON_X         = 0x107,
190 		IRR_KEY_BUTTON_Y         = 0x108,
191 		IRR_KEY_BUTTON_Z         = 0x109,
192 		IRR_KEY_BUTTON_L1        = 0x10A,
193 		IRR_KEY_BUTTON_R1        = 0x10B,
194 		IRR_KEY_BUTTON_L2        = 0x10C,
195 		IRR_KEY_BUTTON_R2        = 0x10D,
196 		IRR_KEY_BUTTON_THUMBL    = 0x10E,
197 		IRR_KEY_BUTTON_THUMBR    = 0x10F,
198 		IRR_KEY_BUTTON_START     = 0x110,
199 		IRR_KEY_BUTTON_SELECT    = 0x111,
200 		IRR_KEY_BUTTON_MODE      = 0x112,
201 
202 		// For Azerty layout
203 		IRR_KEY_AMPERSAND        = 0x113,
204 		IRR_KEY_EACUTE           = 0x114,
205 		IRR_KEY_QUOTEDBL         = 0x115,
206 		IRR_KEY_PARENLEFT        = 0x116,
207 		IRR_KEY_EGRAVE           = 0x117,
208 		IRR_KEY_CCEDILLA         = 0x118,
209 		IRR_KEY_AGRAVE           = 0x119,
210 		IRR_KEY_PARENRIGHT       = 0x120,
211 		IRR_KEY_UGRAVE           = 0x121,
212 		IRR_KEY_COLON            = 0x122,
213 		IRR_KEY_DOLLAR           = 0x123,
214 		IRR_KEY_EXCLAM           = 0x124,
215 		IRR_KEY_TWOSUPERIOR      = 0x125,
216 		IRR_KEY_MU               = 0x126,
217 		IRR_KEY_SECTION          = 0x127,
218 
219 		IRR_KEY_CODES_COUNT      = 0x128 // this is not a key, but the amount of keycodes there are.
220 	};
221 
222 } // end namespace irr
223 
224 #endif
225 
226