Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __PLGUI_KEYS_H__
00024 #define __PLGUI_KEYS_H__
00025 #pragma once
00026
00027
00028
00029
00030
00031 namespace PLGui {
00032
00033
00034
00035
00036
00037 #ifdef WIN32
00038
00039
00040 #define PLGUIMOD_ALT 0x0001
00041 #define PLGUIMOD_CONTROL 0x0002
00042 #define PLGUIMOD_ALTGR 0x0003
00043 #define PLGUIMOD_SHIFT 0x0004
00044 #define PLGUIMOD_WIN 0x0008
00045
00046 #define PLGUIKEY_LBUTTON 0x01
00047 #define PLGUIKEY_RBUTTON 0x02
00048 #define PLGUIKEY_CANCEL 0x03
00049 #define PLGUIKEY_MBUTTON 0x04
00050
00051 #define PLGUIKEY_BACK 0x08
00052 #define PLGUIKEY_TAB 0x09
00053
00054 #define PLGUIKEY_CLEAR 0x0C
00055 #define PLGUIKEY_RETURN 0x0D
00056
00057 #define PLGUIKEY_SHIFT 0x10
00058 #define PLGUIKEY_CONTROL 0x11
00059 #define PLGUIKEY_MENU 0x12
00060 #define PLGUIKEY_PAUSE 0x13
00061 #define PLGUIKEY_CAPITAL 0x14
00062
00063 #define PLGUIKEY_ESCAPE 0x1B
00064 #define PLGUIKEY_SPACE 0x20
00065 #define PLGUIKEY_PRIOR 0x21
00066 #define PLGUIKEY_NEXT 0x22
00067 #define PLGUIKEY_END 0x23
00068 #define PLGUIKEY_HOME 0x24
00069 #define PLGUIKEY_LEFT 0x25
00070 #define PLGUIKEY_UP 0x26
00071 #define PLGUIKEY_RIGHT 0x27
00072 #define PLGUIKEY_DOWN 0x28
00073 #define PLGUIKEY_SELECT 0x29
00074
00075 #define PLGUIKEY_EXECUTE 0x2B
00076 #define PLGUIKEY_SNAPSHOT 0x2C
00077 #define PLGUIKEY_INSERT 0x2D
00078 #define PLGUIKEY_DELETE 0x2E
00079 #define PLGUIKEY_HELP 0x2F
00080 #define PLGUIKEY_0 0x30
00081 #define PLGUIKEY_1 0x31
00082 #define PLGUIKEY_2 0x32
00083 #define PLGUIKEY_3 0x33
00084 #define PLGUIKEY_4 0x34
00085 #define PLGUIKEY_5 0x35
00086 #define PLGUIKEY_6 0x36
00087 #define PLGUIKEY_7 0x37
00088 #define PLGUIKEY_8 0x38
00089 #define PLGUIKEY_9 0x39
00090
00091 #define PLGUIKEY_A 0x41
00092 #define PLGUIKEY_B 0x42
00093 #define PLGUIKEY_C 0x43
00094 #define PLGUIKEY_D 0x44
00095 #define PLGUIKEY_E 0x45
00096 #define PLGUIKEY_F 0x46
00097 #define PLGUIKEY_G 0x47
00098 #define PLGUIKEY_H 0x48
00099 #define PLGUIKEY_I 0x49
00100 #define PLGUIKEY_J 0x4A
00101 #define PLGUIKEY_K 0x4B
00102 #define PLGUIKEY_L 0x4C
00103 #define PLGUIKEY_M 0x4D
00104 #define PLGUIKEY_N 0x4E
00105 #define PLGUIKEY_O 0x4F
00106 #define PLGUIKEY_P 0x50
00107 #define PLGUIKEY_Q 0x51
00108 #define PLGUIKEY_R 0x52
00109 #define PLGUIKEY_S 0x53
00110 #define PLGUIKEY_T 0x54
00111 #define PLGUIKEY_U 0x55
00112 #define PLGUIKEY_V 0x56
00113 #define PLGUIKEY_W 0x57
00114 #define PLGUIKEY_X 0x58
00115 #define PLGUIKEY_Y 0x59
00116 #define PLGUIKEY_Z 0x5A
00117 #define PLGUIKEY_NUMPAD0 0x60
00118 #define PLGUIKEY_NUMPAD1 0x61
00119 #define PLGUIKEY_NUMPAD2 0x62
00120 #define PLGUIKEY_NUMPAD3 0x63
00121 #define PLGUIKEY_NUMPAD4 0x64
00122 #define PLGUIKEY_NUMPAD5 0x65
00123 #define PLGUIKEY_NUMPAD6 0x66
00124 #define PLGUIKEY_NUMPAD7 0x67
00125 #define PLGUIKEY_NUMPAD8 0x68
00126 #define PLGUIKEY_NUMPAD9 0x69
00127 #define PLGUIKEY_MULTIPLY 0x6A
00128 #define PLGUIKEY_ADD 0x6B
00129 #define PLGUIKEY_SEPARATOR 0x6C
00130 #define PLGUIKEY_SUBTRACT 0x6D
00131 #define PLGUIKEY_DECIMAL 0x6E
00132 #define PLGUIKEY_DIVIDE 0x6F
00133 #define PLGUIKEY_F1 0x70
00134 #define PLGUIKEY_F2 0x71
00135 #define PLGUIKEY_F3 0x72
00136 #define PLGUIKEY_F4 0x73
00137 #define PLGUIKEY_F5 0x74
00138 #define PLGUIKEY_F6 0x75
00139 #define PLGUIKEY_F7 0x76
00140 #define PLGUIKEY_F8 0x77
00141 #define PLGUIKEY_F9 0x78
00142 #define PLGUIKEY_F10 0x79
00143 #define PLGUIKEY_F11 0x7A
00144 #define PLGUIKEY_F12 0x7B
00145
00146 #define PLGUIKEY_NUMLOCK 0x90 // num lock key */
00147 #define PLGUIKEY_SCROLL 0x91 // scroll lock key */
00148
00149 #define PLGUIKEY_CIRCUMFLEX 0xDC // ^ circumflex */
00150
00151
00152
00153
00154
00155 #elif defined(ANDROID)
00156
00157
00158
00159
00160
00161 #define PLGUIMOD_ALT 57 // alt - AKEYCODE_ALT_LEFT
00162 #define PLGUIMOD_CONTROL 0xF000 // control - not supported
00163 #define PLGUIMOD_ALTGR 58 // alt-gr - AKEYCODE_ALT_RIGHT
00164 #define PLGUIMOD_SHIFT 59 // shift - AKEYCODE_SHIFT_LEFT
00165 #define PLGUIMOD_WIN 0xF001 // Windows key - not supported
00166
00167 #define PLGUIKEY_LBUTTON 0xF002 // left mouse button - not supported
00168 #define PLGUIKEY_RBUTTON 0xF003 // right mouse button - not supported
00169 #define PLGUIKEY_CANCEL 0xF004 // control-break processing - not supported
00170 #define PLGUIKEY_MBUTTON 0xF005 // middle mouse button (three-button mouse) - not supported
00171 #define PLGUIKEY_BACK 4 // backspace - AKEYCODE_BACK
00172 #define PLGUIKEY_TAB 61 // tab - AKEYCODE_TAB
00173 #define PLGUIKEY_CLEAR 28 // clear - AKEYCODE_CLEAR
00174 #define PLGUIKEY_RETURN 66 // return (often the same as "enter") - AKEYCODE_ENTER
00175 #define PLGUIKEY_SHIFT 59 // shift - AKEYCODE_SHIFT_LEFT
00176 #define PLGUIKEY_CONTROL 0xF006 // ctrl - not supported
00177 #define PLGUIKEY_MENU 82 // alt - AKEYCODE_MENU
00178 #define PLGUIKEY_PAUSE 85 // pause - AKEYCODE_MEDIA_PLAY_PAUSE
00179 #define PLGUIKEY_CAPITAL 0xF007 // caps lock - not supported
00180 #define PLGUIKEY_ESCAPE 0xF008 // esc - not supported
00181 #define PLGUIKEY_SPACE 62 // spacebar - AKEYCODE_SPACE
00182 #define PLGUIKEY_PRIOR 88 // page up - AKEYCODE_MEDIA_PREVIOUS
00183 #define PLGUIKEY_NEXT 87 // page down - AKEYCODE_MEDIA_NEXT
00184 #define PLGUIKEY_END 0xF009 // end key - not supported
00185 #define PLGUIKEY_HOME 3 // home key - AKEYCODE_HOME
00186 #define PLGUIKEY_LEFT 21 // left arrow - AKEYCODE_DPAD_LEFT
00187 #define PLGUIKEY_UP 19 // up arrow - AKEYCODE_DPAD_UP
00188 #define PLGUIKEY_RIGHT 22 // right arrow - AKEYCODE_DPAD_RIGHT
00189 #define PLGUIKEY_DOWN 20 // down arrow - AKEYCODE_DPAD_DOWN
00190 #define PLGUIKEY_SELECT 109 // select key - AKEYCODE_BUTTON_SELECT
00191 #define PLGUIKEY_EXECUTE 0xF00A // execute key - not supported
00192 #define PLGUIKEY_SNAPSHOT 0xF00B // print screen key - not supported
00193 #define PLGUIKEY_INSERT 0xF00C // insert key - not supported
00194 #define PLGUIKEY_DELETE 67 // delete key - AKEYCODE_DEL
00195 #define PLGUIKEY_HELP 0xF00D // help key - not supported
00196 #define PLGUIKEY_0 7 // 0 - AKEYCODE_0
00197 #define PLGUIKEY_1 8 // 1 - AKEYCODE_1
00198 #define PLGUIKEY_2 9 // 2 - AKEYCODE_2
00199 #define PLGUIKEY_3 10 // 3 - AKEYCODE_3
00200 #define PLGUIKEY_4 11 // 4 - AKEYCODE_4
00201 #define PLGUIKEY_5 12 // 5 - AKEYCODE_5
00202 #define PLGUIKEY_6 13 // 6 - AKEYCODE_6
00203 #define PLGUIKEY_7 14 // 7 - AKEYCODE_7
00204 #define PLGUIKEY_8 15 // 8 - AKEYCODE_8
00205 #define PLGUIKEY_9 16 // 9 - AKEYCODE_9
00206 #define PLGUIKEY_A 29 // a - AKEYCODE_A
00207 #define PLGUIKEY_B 30 // b - AKEYCODE_B
00208 #define PLGUIKEY_C 31 // c - AKEYCODE_C
00209 #define PLGUIKEY_D 32 // d - AKEYCODE_D
00210 #define PLGUIKEY_E 33 // e - AKEYCODE_E
00211 #define PLGUIKEY_F 34 // f - AKEYCODE_F
00212 #define PLGUIKEY_G 35 // g - AKEYCODE_G
00213 #define PLGUIKEY_H 36 // h - AKEYCODE_H
00214 #define PLGUIKEY_I 37 // i - AKEYCODE_I
00215 #define PLGUIKEY_J 38 // j - AKEYCODE_J
00216 #define PLGUIKEY_K 39 // k - AKEYCODE_K
00217 #define PLGUIKEY_L 40 // l - AKEYCODE_L
00218 #define PLGUIKEY_M 41 // m - AKEYCODE_M
00219 #define PLGUIKEY_N 42 // n - AKEYCODE_N
00220 #define PLGUIKEY_O 43 // o - AKEYCODE_O
00221 #define PLGUIKEY_P 44 // p - AKEYCODE_P
00222 #define PLGUIKEY_Q 45 // q - AKEYCODE_Q
00223 #define PLGUIKEY_R 46 // r - AKEYCODE_R
00224 #define PLGUIKEY_S 47 // s - AKEYCODE_S
00225 #define PLGUIKEY_T 48 // t - AKEYCODE_T
00226 #define PLGUIKEY_U 49 // u - AKEYCODE_U
00227 #define PLGUIKEY_V 50 // v - AKEYCODE_V
00228 #define PLGUIKEY_W 51 // w - AKEYCODE_W
00229 #define PLGUIKEY_X 52 // x - AKEYCODE_X
00230 #define PLGUIKEY_Y 53 // y - AKEYCODE_Y
00231 #define PLGUIKEY_Z 54 // z - AKEYCODE_Z
00232 #define PLGUIKEY_NUMPAD0 0xF00E // Numeric keypad 0 key - not supported
00233 #define PLGUIKEY_NUMPAD1 0xF00F // Numeric keypad 1 key - not supported
00234 #define PLGUIKEY_NUMPAD2 0xF010 // Numeric keypad 2 key - not supported
00235 #define PLGUIKEY_NUMPAD3 0xF011 // Numeric keypad 3 key - not supported
00236 #define PLGUIKEY_NUMPAD4 0xF012 // Numeric keypad 4 key - not supported
00237 #define PLGUIKEY_NUMPAD5 0xF013 // Numeric keypad 5 key - not supported
00238 #define PLGUIKEY_NUMPAD6 0xF014 // Numeric keypad 6 key - not supported
00239 #define PLGUIKEY_NUMPAD7 0xF015 // Numeric keypad 7 key - not supported
00240 #define PLGUIKEY_NUMPAD8 0xF016 // Numeric keypad 8 key - not supported
00241 #define PLGUIKEY_NUMPAD9 0xF017 // Numeric keypad 9 key - not supported
00242 #define PLGUIKEY_MULTIPLY 0xF018 // Multiply key - not supported
00243 #define PLGUIKEY_ADD 0xF019 // Add key - not supported
00244 #define PLGUIKEY_SEPARATOR 0xF01A // Separator key - not supported
00245 #define PLGUIKEY_SUBTRACT 69 // Subtract key - AKEYCODE_MINUS
00246 #define PLGUIKEY_DECIMAL 0xF01B // Decimal key - not supported
00247 #define PLGUIKEY_DIVIDE 0xF01C // Divide key - not supported
00248 #define PLGUIKEY_F1 0xF01D // F1 key - not supported
00249 #define PLGUIKEY_F2 0xF01E // F2 key - not supported
00250 #define PLGUIKEY_F3 0xF01F // F3 key - not supported
00251 #define PLGUIKEY_F4 0xF020 // F4 key - not supported
00252 #define PLGUIKEY_F5 0xF021 // F5 key - not supported
00253 #define PLGUIKEY_F6 0xF022 // F6 key - not supported
00254 #define PLGUIKEY_F7 0xF023 // F7 key - not supported
00255 #define PLGUIKEY_F8 0xF024 // F8 key - not supported
00256 #define PLGUIKEY_F9 0xF025 // F9 key - not supported
00257 #define PLGUIKEY_F10 0xF026 // F10 key - not supported
00258 #define PLGUIKEY_F11 0xF027 // F11 key - not supported
00259 #define PLGUIKEY_F12 0xF028 // F12 key - not supported
00260 #define PLGUIKEY_NUMLOCK 0xF029 // num lock key - not supported
00261 #define PLGUIKEY_SCROLL 0xF030 // scroll lock key - not supported
00262 #define PLGUIKEY_CIRCUMFLEX 0xF031 // ^ circumflex - not supported
00263
00264
00265
00266
00267
00268 #elif defined(LINUX)
00269
00270 #include <X11/keysym.h>
00271 #ifdef None
00272 #undef None
00273 #endif
00274
00275
00276
00277 #define PLGUIMOD_ALT 0x0001 // alt
00278 #define PLGUIMOD_CONTROL 0x0002 // control
00279 #define PLGUIMOD_ALTGR 0x0003 // alt-gr
00280 #define PLGUIMOD_SHIFT 0x0004 // shift
00281 #define PLGUIMOD_WIN 0x0008 // Windows key
00282
00283 #define PLGUIKEY_LBUTTON 0x01 // left mouse button
00284 #define PLGUIKEY_RBUTTON 0x02 // right mouse button
00285 #define PLGUIKEY_CANCEL XK_Cancel // control-break processing (0x03?)
00286 #define PLGUIKEY_MBUTTON 0x04 // middle mouse button (three-button mouse)
00287 #define PLGUIKEY_BACK XK_BackSpace // backspace
00288 #define PLGUIKEY_TAB XK_Tab // tab
00289 #define PLGUIKEY_CLEAR XK_Clear // clear
00290 #define PLGUIKEY_RETURN XK_Return // return (often the same as "enter")
00291 #define PLGUIKEY_SHIFT XK_Shift_L // shift
00292 #define PLGUIKEY_CONTROL XK_Control_L // ctrl
00293 #define PLGUIKEY_MENU XK_Menu // alt
00294 #define PLGUIKEY_PAUSE XK_Pause // pause
00295 #define PLGUIKEY_CAPITAL XK_Caps_Lock // caps lock
00296 #define PLGUIKEY_ESCAPE XK_Escape // esc
00297 #define PLGUIKEY_SPACE XK_space // spacebar
00298 #define PLGUIKEY_PRIOR XK_Prior // page up
00299 #define PLGUIKEY_NEXT XK_Next // page down
00300 #define PLGUIKEY_END XK_End // end key
00301 #define PLGUIKEY_HOME XK_Home // home key
00302 #define PLGUIKEY_LEFT XK_Left // left arrow
00303 #define PLGUIKEY_UP XK_Up // up arrow
00304 #define PLGUIKEY_RIGHT XK_Right // right arrow
00305 #define PLGUIKEY_DOWN XK_Down // down arrow
00306 #define PLGUIKEY_SELECT XK_Select // select key
00307 #define PLGUIKEY_EXECUTE XK_Execute // execute key
00308 #define PLGUIKEY_SNAPSHOT XK_Print // print screen key
00309 #define PLGUIKEY_INSERT XK_Insert // insert key
00310 #define PLGUIKEY_DELETE XK_Delete // delete key
00311 #define PLGUIKEY_HELP XK_Help // help key
00312 #define PLGUIKEY_0 XK_0 // 0
00313 #define PLGUIKEY_1 XK_1 // 1
00314 #define PLGUIKEY_2 XK_2 // 2
00315 #define PLGUIKEY_3 XK_3 // 3
00316 #define PLGUIKEY_4 XK_4 // 4
00317 #define PLGUIKEY_5 XK_5 // 5
00318 #define PLGUIKEY_6 XK_6 // 6
00319 #define PLGUIKEY_7 XK_7 // 7
00320 #define PLGUIKEY_8 XK_8 // 8
00321 #define PLGUIKEY_9 XK_9 // 9
00322 #define PLGUIKEY_A XK_a // a
00323 #define PLGUIKEY_B XK_b // b
00324 #define PLGUIKEY_C XK_c // c
00325 #define PLGUIKEY_D XK_d // d
00326 #define PLGUIKEY_E XK_e // e
00327 #define PLGUIKEY_F XK_f // f
00328 #define PLGUIKEY_G XK_g // g
00329 #define PLGUIKEY_H XK_h // h
00330 #define PLGUIKEY_I XK_i // i
00331 #define PLGUIKEY_J XK_j // j
00332 #define PLGUIKEY_K XK_k // k
00333 #define PLGUIKEY_L XK_l // l
00334 #define PLGUIKEY_M XK_m // m
00335 #define PLGUIKEY_N XK_n // n
00336 #define PLGUIKEY_O XK_o // o
00337 #define PLGUIKEY_P XK_p // p
00338 #define PLGUIKEY_Q XK_q // q
00339 #define PLGUIKEY_R XK_r // r
00340 #define PLGUIKEY_S XK_s // s
00341 #define PLGUIKEY_T XK_t // t
00342 #define PLGUIKEY_U XK_u // u
00343 #define PLGUIKEY_V XK_v // v
00344 #define PLGUIKEY_W XK_w // w
00345 #define PLGUIKEY_X XK_x // x
00346 #define PLGUIKEY_Y XK_y // y
00347 #define PLGUIKEY_Z XK_z // z
00348 #define PLGUIKEY_NUMPAD0 XK_KP_0 // Numeric keypad 0 key
00349 #define PLGUIKEY_NUMPAD1 XK_KP_1 // Numeric keypad 1 key
00350 #define PLGUIKEY_NUMPAD2 XK_KP_2 // Numeric keypad 2 key
00351 #define PLGUIKEY_NUMPAD3 XK_KP_3 // Numeric keypad 3 key
00352 #define PLGUIKEY_NUMPAD4 XK_KP_4 // Numeric keypad 4 key
00353 #define PLGUIKEY_NUMPAD5 XK_KP_5 // Numeric keypad 5 key
00354 #define PLGUIKEY_NUMPAD6 XK_KP_6 // Numeric keypad 6 key
00355 #define PLGUIKEY_NUMPAD7 XK_KP_7 // Numeric keypad 7 key
00356 #define PLGUIKEY_NUMPAD8 XK_KP_8 // Numeric keypad 8 key
00357 #define PLGUIKEY_NUMPAD9 XK_KP_9 // Numeric keypad 9 key
00358 #define PLGUIKEY_MULTIPLY XK_KP_Multiply // Multiply key
00359 #define PLGUIKEY_ADD XK_KP_Add // Add key
00360 #define PLGUIKEY_SEPARATOR XK_KP_Separator // Separator key
00361 #define PLGUIKEY_SUBTRACT XK_KP_Subtract // Subtract key
00362 #define PLGUIKEY_DECIMAL XK_KP_Decimal // Decimal key
00363 #define PLGUIKEY_DIVIDE XK_KP_Divide // Divide key
00364 #define PLGUIKEY_F1 XK_F1 // F1 key
00365 #define PLGUIKEY_F2 XK_F2 // F2 key
00366 #define PLGUIKEY_F3 XK_F3 // F3 key
00367 #define PLGUIKEY_F4 XK_F4 // F4 key
00368 #define PLGUIKEY_F5 XK_F5 // F5 key
00369 #define PLGUIKEY_F6 XK_F6 // F6 key
00370 #define PLGUIKEY_F7 XK_F7 // F7 key
00371 #define PLGUIKEY_F8 XK_F8 // F8 key
00372 #define PLGUIKEY_F9 XK_F9 // F9 key
00373 #define PLGUIKEY_F10 XK_F10 // F10 key
00374 #define PLGUIKEY_F11 XK_F11 // F11 key
00375 #define PLGUIKEY_F12 XK_F12 // F12 key
00376 #define PLGUIKEY_NUMLOCK XK_Num_Lock // num lock key
00377 #define PLGUIKEY_SCROLL XK_Scroll_Lock // scroll lock key
00378 #define PLGUIKEY_CIRCUMFLEX XK_asciicircum // ^ circumflex
00379
00380 #endif
00381
00382
00383
00384
00385
00386 }
00387
00388
00389 #endif // __PLGUI_KEYS_H__