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
00024
00025
00026
00027
00028
00031
00032 #pragma once
00033
00034
00035
00036 #ifdef WIN32
00037
00038 #include <windows.h>
00039
00040 #define CL_MOUSE_LEFT 0
00041 #define CL_MOUSE_RIGHT 1
00042 #define CL_MOUSE_MIDDLE 2
00043 #define CL_MOUSE_WHEEL_UP 3
00044 #define CL_MOUSE_WHEEL_DOWN 4
00045 #define CL_MOUSE_XBUTTON1 5
00046 #define CL_MOUSE_XBUTTON2 6
00047
00048 #define CL_KEY_BACKSPACE VK_BACK
00049 #define CL_KEY_TAB VK_TAB
00050 #define CL_KEY_CLEAR VK_CLEAR
00051 #define CL_KEY_RETURN VK_RETURN
00052 #define CL_KEY_SHIFT VK_SHIFT
00053 #define CL_KEY_CONTROL VK_CONTROL
00054 #define CL_KEY_MENU VK_MENU
00055 #define CL_KEY_PAUSE VK_PAUSE
00056 #define CL_KEY_ESCAPE VK_ESCAPE
00057
00058 #if !defined(__CYGWIN__) && !defined(__MINGW32__)
00059 # define CL_KEY_KANJI VK_KANJI
00060 # define CL_KEY_CONVERT VK_CONVERT
00061 # define CL_KEY_NONCONVERT VK_NONCONVERT
00062 #endif
00063
00064 #define CL_KEY_SPACE VK_SPACE
00065 #define CL_KEY_PRIOR VK_PRIOR
00066 #define CL_KEY_NEXT VK_NEXT
00067 #define CL_KEY_END VK_END
00068 #define CL_KEY_HOME VK_HOME
00069 #define CL_KEY_LEFT VK_LEFT
00070 #define CL_KEY_UP VK_UP
00071 #define CL_KEY_RIGHT VK_RIGHT
00072 #define CL_KEY_DOWN VK_DOWN
00073 #define CL_KEY_SELECT VK_SELECT
00074 #define CL_KEY_PRINT VK_PRINT
00075 #define CL_KEY_EXECUTE VK_EXECUTE
00076 #define CL_KEY_INSERT VK_INSERT
00077 #define CL_KEY_DELETE VK_DELETE
00078 #define CL_KEY_HELP VK_HELP
00079 #define CL_KEY_0 '0'
00080 #define CL_KEY_1 '1'
00081 #define CL_KEY_2 '2'
00082 #define CL_KEY_3 '3'
00083 #define CL_KEY_4 '4'
00084 #define CL_KEY_5 '5'
00085 #define CL_KEY_6 '6'
00086 #define CL_KEY_7 '7'
00087 #define CL_KEY_8 '8'
00088 #define CL_KEY_9 '9'
00089 #define CL_KEY_A 'A'
00090 #define CL_KEY_B 'B'
00091 #define CL_KEY_C 'C'
00092 #define CL_KEY_D 'D'
00093 #define CL_KEY_E 'E'
00094 #define CL_KEY_F 'F'
00095 #define CL_KEY_G 'G'
00096 #define CL_KEY_H 'H'
00097 #define CL_KEY_I 'I'
00098 #define CL_KEY_J 'J'
00099 #define CL_KEY_K 'K'
00100 #define CL_KEY_L 'L'
00101 #define CL_KEY_M 'M'
00102 #define CL_KEY_N 'N'
00103 #define CL_KEY_O 'O'
00104 #define CL_KEY_P 'P'
00105 #define CL_KEY_Q 'Q'
00106 #define CL_KEY_R 'R'
00107 #define CL_KEY_S 'S'
00108 #define CL_KEY_T 'T'
00109 #define CL_KEY_U 'U'
00110 #define CL_KEY_V 'V'
00111 #define CL_KEY_W 'W'
00112 #define CL_KEY_X 'X'
00113 #define CL_KEY_Y 'Y'
00114 #define CL_KEY_Z 'Z'
00115 #define CL_KEY_LWIN VK_LWIN
00116 #define CL_KEY_RWIN VK_RWIN
00117 #define CL_KEY_APPS VK_APPS
00118 #define CL_KEY_NUMPAD0 VK_NUMPAD0
00119 #define CL_KEY_NUMPAD1 VK_NUMPAD1
00120 #define CL_KEY_NUMPAD2 VK_NUMPAD2
00121 #define CL_KEY_NUMPAD3 VK_NUMPAD3
00122 #define CL_KEY_NUMPAD4 VK_NUMPAD4
00123 #define CL_KEY_NUMPAD5 VK_NUMPAD5
00124 #define CL_KEY_NUMPAD6 VK_NUMPAD6
00125 #define CL_KEY_NUMPAD7 VK_NUMPAD7
00126 #define CL_KEY_NUMPAD8 VK_NUMPAD8
00127 #define CL_KEY_NUMPAD9 VK_NUMPAD9
00128 #define CL_KEY_NUMPAD_ENTER CL_KEY_RETURN
00129 #define CL_KEY_MULTIPLY VK_MULTIPLY
00130 #define CL_KEY_ADD VK_ADD
00131 #define CL_KEY_SEPARATOR VK_SEPARATOR
00132 #define CL_KEY_SUBTRACT VK_SUBTRACT
00133 #define CL_KEY_DECIMAL VK_DECIMAL
00134 #define CL_KEY_DIVIDE VK_DIVIDE
00135 #define CL_KEY_F1 VK_F1
00136 #define CL_KEY_F2 VK_F2
00137 #define CL_KEY_F3 VK_F3
00138 #define CL_KEY_F4 VK_F4
00139 #define CL_KEY_F5 VK_F5
00140 #define CL_KEY_F6 VK_F6
00141 #define CL_KEY_F7 VK_F7
00142 #define CL_KEY_F8 VK_F8
00143 #define CL_KEY_F9 VK_F9
00144 #define CL_KEY_F10 VK_F10
00145 #define CL_KEY_F11 VK_F11
00146 #define CL_KEY_F12 VK_F12
00147 #define CL_KEY_F13 VK_F13
00148 #define CL_KEY_F14 VK_F14
00149 #define CL_KEY_F15 VK_F15
00150 #define CL_KEY_F16 VK_F16
00151 #define CL_KEY_F17 VK_F17
00152 #define CL_KEY_F18 VK_F18
00153 #define CL_KEY_F19 VK_F19
00154 #define CL_KEY_F20 VK_F20
00155 #define CL_KEY_F21 VK_F21
00156 #define CL_KEY_F22 VK_F22
00157 #define CL_KEY_F23 VK_F23
00158 #define CL_KEY_F24 VK_F24
00159 #define CL_KEY_NUMLOCK VK_NUMLOCK
00160 #define CL_KEY_SCROLL VK_SCROLL
00161 #define CL_KEY_LSHIFT VK_LSHIFT
00162 #define CL_KEY_RSHIFT VK_RSHIFT
00163 #define CL_KEY_LCONTROL VK_LCONTROL
00164 #define CL_KEY_RCONTROL VK_RCONTROL
00165 #define CL_KEY_LMENU VK_LMENU
00166 #define CL_KEY_RMENU VK_RMENU
00167
00168
00169 #define CL_KEY_TABLET1 0x10001
00170 #define CL_KEY_TABLET2 0x10002
00171 #define CL_KEY_TABLET3 0x10003
00172 #define CL_KEY_TABLET4 0x10004
00173 #define CL_KEY_TABLET5 0x10005
00174 #define CL_KEY_TABLET6 0x10006
00175 #define CL_KEY_TABLET7 0x10007
00176 #define CL_KEY_TABLET8 0x10008
00177 #define CL_KEY_TABLET9 0x10009
00178 #define CL_KEY_TABLET10 0x1000a
00179
00180 #else
00181 #ifdef __APPLE__
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200 #define CL_MOUSE_LEFT 0
00201 #define CL_MOUSE_RIGHT 1
00202 #define CL_MOUSE_MIDDLE 2
00203 #define CL_MOUSE_WHEEL_UP 3
00204 #define CL_MOUSE_WHEEL_DOWN 4
00205 #define CL_MOUSE_XBUTTON1 5
00206 #define CL_MOUSE_XBUTTON2 6
00207
00208 #define CL_KEY_BACKSPACE 10
00209 #define CL_KEY_TAB 11
00210 #define CL_KEY_CLEAR 12
00211 #define CL_KEY_RETURN 13
00212 #define CL_KEY_SHIFT 14
00213 #define CL_KEY_CONTROL 15
00214 #define CL_KEY_MENU 16
00215 #define CL_KEY_PAUSE 17
00216 #define CL_KEY_KANJI 18
00217 #define CL_KEY_ESCAPE 19
00218 #define CL_KEY_CONVERT 20
00219 #define CL_KEY_NONCONVERT 21
00220 #define CL_KEY_SPACE 22
00221 #define CL_KEY_PRIOR 23
00222 #define CL_KEY_NEXT 24
00223 #define CL_KEY_END 25
00224 #define CL_KEY_HOME 26
00225 #define CL_KEY_LEFT 27
00226 #define CL_KEY_UP 28
00227 #define CL_KEY_RIGHT 29
00228 #define CL_KEY_DOWN 30
00229 #define CL_KEY_SELECT 31
00230 #define CL_KEY_PRINT 32
00231 #define CL_KEY_EXECUTE 33
00232 #define CL_KEY_INSERT 34
00233 #define CL_KEY_DELETE 35
00234 #define CL_KEY_HELP 36
00235 #define CL_KEY_0 37
00236 #define CL_KEY_1 38
00237 #define CL_KEY_2 39
00238 #define CL_KEY_3 40
00239 #define CL_KEY_4 41
00240 #define CL_KEY_5 42
00241 #define CL_KEY_6 43
00242 #define CL_KEY_7 44
00243 #define CL_KEY_8 45
00244 #define CL_KEY_9 46
00245 #define CL_KEY_A 47
00246 #define CL_KEY_B 48
00247 #define CL_KEY_C 49
00248 #define CL_KEY_D 50
00249 #define CL_KEY_E 51
00250 #define CL_KEY_F 52
00251 #define CL_KEY_G 53
00252 #define CL_KEY_H 54
00253 #define CL_KEY_I 55
00254 #define CL_KEY_J 56
00255 #define CL_KEY_K 57
00256 #define CL_KEY_L 58
00257 #define CL_KEY_M 59
00258 #define CL_KEY_N 60
00259 #define CL_KEY_O 61
00260 #define CL_KEY_P 62
00261 #define CL_KEY_Q 63
00262 #define CL_KEY_R 64
00263 #define CL_KEY_S 65
00264 #define CL_KEY_T 66
00265 #define CL_KEY_U 67
00266 #define CL_KEY_V 68
00267 #define CL_KEY_W 69
00268 #define CL_KEY_X 70
00269 #define CL_KEY_Y 71
00270 #define CL_KEY_Z 72
00271 #define CL_KEY_LWIN 73
00272 #define CL_KEY_RWIN 74
00273 #define CL_KEY_APPS 75
00274 #define CL_KEY_NUMPAD0 76
00275 #define CL_KEY_NUMPAD1 77
00276 #define CL_KEY_NUMPAD2 78
00277 #define CL_KEY_NUMPAD3 79
00278 #define CL_KEY_NUMPAD4 80
00279 #define CL_KEY_NUMPAD5 81
00280 #define CL_KEY_NUMPAD6 82
00281 #define CL_KEY_NUMPAD7 83
00282 #define CL_KEY_NUMPAD8 84
00283 #define CL_KEY_NUMPAD9 85
00284 #define CL_KEY_NUMPAD_ENTER CL_KEY_RETURN
00285 #define CL_KEY_MULTIPLY 86
00286 #define CL_KEY_ADD 87
00287 #define CL_KEY_SEPARATOR 88
00288 #define CL_KEY_SUBTRACT 89
00289 #define CL_KEY_DECIMAL 90
00290 #define CL_KEY_DIVIDE 91
00291 #define CL_KEY_F1 92
00292 #define CL_KEY_F2 93
00293 #define CL_KEY_F3 94
00294 #define CL_KEY_F4 95
00295 #define CL_KEY_F5 96
00296 #define CL_KEY_F6 97
00297 #define CL_KEY_F7 98
00298 #define CL_KEY_F8 99
00299 #define CL_KEY_F9 100
00300 #define CL_KEY_F10 101
00301 #define CL_KEY_F11 102
00302 #define CL_KEY_F12 103
00303 #define CL_KEY_F13 104
00304 #define CL_KEY_F14 105
00305 #define CL_KEY_F15 106
00306 #define CL_KEY_F16 107
00307 #define CL_KEY_F17 108
00308 #define CL_KEY_F18 109
00309 #define CL_KEY_F19 110
00310 #define CL_KEY_F20 111
00311 #define CL_KEY_F21 112
00312 #define CL_KEY_F22 113
00313 #define CL_KEY_F23 114
00314 #define CL_KEY_F24 115
00315 #define CL_KEY_NUMLOCK 116
00316 #define CL_KEY_SCROLL 117
00317 #define CL_KEY_LSHIFT 118
00318 #define CL_KEY_RSHIFT 119
00319 #define CL_KEY_LCONTROL 120
00320 #define CL_KEY_RCONTROL 121
00321 #define CL_KEY_LMENU 122
00322 #define CL_KEY_RMENU 123
00323
00324 #else
00325
00326 #include <X11/keysym.h>
00327
00328 #define CL_MOUSE_LEFT 0
00329 #define CL_MOUSE_RIGHT 1
00330 #define CL_MOUSE_MIDDLE 2
00331 #define CL_MOUSE_WHEEL_UP 3
00332 #define CL_MOUSE_WHEEL_DOWN 4
00333 #define CL_MOUSE_XBUTTON1 5
00334 #define CL_MOUSE_XBUTTON2 6
00335
00336 #define CL_KEY_BACKSPACE XK_BackSpace
00337 #define CL_KEY_TAB XK_Tab
00338 #define CL_KEY_CLEAR XK_Clear
00339 #define CL_KEY_RETURN XK_Return
00340 #define CL_KEY_SHIFT XK_Shift_L
00341 #define CL_KEY_CONTROL XK_Control_L
00342 #define CL_KEY_MENU XK_Menu // there is no XK_Alt, only XK_Alt_L and XK_Alt_R. Maybe remove this key? -- mbn 30 sep 2003
00343 #define CL_KEY_PAUSE XK_Pause
00344 #define CL_KEY_KANJI XK_Kanji
00345 #define CL_KEY_ESCAPE XK_Escape
00346 #define CL_KEY_CONVERT XK_Henkan_Mode
00347 #define CL_KEY_NONCONVERT XK_Muhenkan
00348 #define CL_KEY_SPACE XK_space
00349 #define CL_KEY_PRIOR XK_Prior
00350 #define CL_KEY_NEXT XK_Next
00351 #define CL_KEY_END XK_End
00352 #define CL_KEY_HOME XK_Home
00353 #define CL_KEY_LEFT XK_Left
00354 #define CL_KEY_UP XK_Up
00355 #define CL_KEY_RIGHT XK_Right
00356 #define CL_KEY_DOWN XK_Down
00357 #define CL_KEY_SELECT XK_Select
00358 #define CL_KEY_PRINT XK_Print
00359 #define CL_KEY_EXECUTE XK_Execute
00360 #define CL_KEY_INSERT XK_Insert
00361 #define CL_KEY_DELETE XK_Delete
00362 #define CL_KEY_HELP XK_Help
00363 #define CL_KEY_0 XK_0
00364 #define CL_KEY_1 XK_1
00365 #define CL_KEY_2 XK_2
00366 #define CL_KEY_3 XK_3
00367 #define CL_KEY_4 XK_4
00368 #define CL_KEY_5 XK_5
00369 #define CL_KEY_6 XK_6
00370 #define CL_KEY_7 XK_7
00371 #define CL_KEY_8 XK_8
00372 #define CL_KEY_9 XK_9
00373 #define CL_KEY_A XK_a
00374 #define CL_KEY_B XK_b
00375 #define CL_KEY_C XK_c
00376 #define CL_KEY_D XK_d
00377 #define CL_KEY_E XK_e
00378 #define CL_KEY_F XK_f
00379 #define CL_KEY_G XK_g
00380 #define CL_KEY_H XK_h
00381 #define CL_KEY_I XK_i
00382 #define CL_KEY_J XK_j
00383 #define CL_KEY_K XK_k
00384 #define CL_KEY_L XK_l
00385 #define CL_KEY_M XK_m
00386 #define CL_KEY_N XK_n
00387 #define CL_KEY_O XK_o
00388 #define CL_KEY_P XK_p
00389 #define CL_KEY_Q XK_q
00390 #define CL_KEY_R XK_r
00391 #define CL_KEY_S XK_s
00392 #define CL_KEY_T XK_t
00393 #define CL_KEY_U XK_u
00394 #define CL_KEY_V XK_v
00395 #define CL_KEY_W XK_w
00396 #define CL_KEY_X XK_x
00397 #define CL_KEY_Y XK_y
00398 #define CL_KEY_Z XK_z
00399 #define CL_KEY_LWIN XK_Super_L
00400 #define CL_KEY_RWIN XK_Multi_key
00401 #define CL_KEY_APPS XK_Menu
00402 #define CL_KEY_NUMPAD0 XK_KP_0
00403 #define CL_KEY_NUMPAD1 XK_KP_1
00404 #define CL_KEY_NUMPAD2 XK_KP_2
00405 #define CL_KEY_NUMPAD3 XK_KP_3
00406 #define CL_KEY_NUMPAD4 XK_KP_4
00407 #define CL_KEY_NUMPAD5 XK_KP_5
00408 #define CL_KEY_NUMPAD6 XK_KP_6
00409 #define CL_KEY_NUMPAD7 XK_KP_7
00410 #define CL_KEY_NUMPAD8 XK_KP_8
00411 #define CL_KEY_NUMPAD9 XK_KP_9
00412 #define CL_KEY_NUMPAD_ENTER XK_KP_Enter
00413 #define CL_KEY_MULTIPLY XK_KP_Multiply
00414 #define CL_KEY_ADD XK_KP_Add
00415 #define CL_KEY_SEPARATOR XK_KP_Separator
00416 #define CL_KEY_SUBTRACT XK_KP_Subtract
00417 #define CL_KEY_DECIMAL XK_KP_Decimal
00418 #define CL_KEY_DIVIDE XK_KP_Divide
00419 #define CL_KEY_F1 XK_F1
00420 #define CL_KEY_F2 XK_F2
00421 #define CL_KEY_F3 XK_F3
00422 #define CL_KEY_F4 XK_F4
00423 #define CL_KEY_F5 XK_F5
00424 #define CL_KEY_F6 XK_F6
00425 #define CL_KEY_F7 XK_F7
00426 #define CL_KEY_F8 XK_F8
00427 #define CL_KEY_F9 XK_F9
00428 #define CL_KEY_F10 XK_F10
00429 #define CL_KEY_F11 XK_F11
00430 #define CL_KEY_F12 XK_F12
00431 #define CL_KEY_F13 XK_F13
00432 #define CL_KEY_F14 XK_F14
00433 #define CL_KEY_F15 XK_F15
00434 #define CL_KEY_F16 XK_F16
00435 #define CL_KEY_F17 XK_F17
00436 #define CL_KEY_F18 XK_F18
00437 #define CL_KEY_F19 XK_F19
00438 #define CL_KEY_F20 XK_F20
00439 #define CL_KEY_F21 XK_F21
00440 #define CL_KEY_F22 XK_F22
00441 #define CL_KEY_F23 XK_F23
00442 #define CL_KEY_F24 XK_F24
00443 #define CL_KEY_NUMLOCK XK_Num_Lock
00444 #define CL_KEY_SCROLL XK_Scroll_Lock
00445 #define CL_KEY_LSHIFT XK_Shift_L
00446 #define CL_KEY_RSHIFT XK_Shift_R
00447 #define CL_KEY_LCONTROL XK_Control_L
00448 #define CL_KEY_RCONTROL XK_Control_R
00449 #define CL_KEY_LMENU XK_Meta_L
00450 #define CL_KEY_RMENU XK_Meta_R
00451 #endif
00452 #endif
00453
00454 #define CL_KEY_ENTER CL_KEY_RETURN
00455 #define CL_KEY_LAPPLE CL_KEY_LWIN
00456 #define CL_KEY_RAPPLE CL_KEY_RWIN
00457