|
|
|
@ -184,84 +184,162 @@ extern "C" { |
|
|
|
|
#define GLFW_RELEASE 0 |
|
|
|
|
#define GLFW_PRESS 1 |
|
|
|
|
|
|
|
|
|
/* Keyboard key definitions: 8-bit ISO-8859-1 (Latin 1) encoding is used
|
|
|
|
|
* for printable keys (such as A-Z, 0-9 etc), and values above 256 |
|
|
|
|
* represent special (non-printable) keys (e.g. F1, Page Up etc). |
|
|
|
|
/* Keyboard raw key codes.
|
|
|
|
|
* These key codes are inspired by the USB HID Usage Tables v1.12 (p. 53-60), |
|
|
|
|
* but re-arranged to map to 7-bit ASCII for printable keys (function keys are |
|
|
|
|
* put in the 256+ range). |
|
|
|
|
* The naming of the key codes follow these rules: |
|
|
|
|
* - The US keyboard layout is used. |
|
|
|
|
* - Names of printable alpha-numeric characters are used (e.g. "A", "R", |
|
|
|
|
* "3", etc). |
|
|
|
|
* - For non-alphanumeric characters, Unicode:ish names are used (e.g. |
|
|
|
|
* "COMMA", "LEFT_SQUARE_BRACKET", etc). Note that some names do not |
|
|
|
|
* correspond to the Unicode standard (usually for brevity). |
|
|
|
|
* - Keys that lack a clear US mapping are named "WORLD_x". |
|
|
|
|
* - For non-printable keys, custom names are used (e.g. "F4", |
|
|
|
|
* "BACKSPACE", etc). |
|
|
|
|
*/ |
|
|
|
|
#define GLFW_KEY_UNKNOWN -1 |
|
|
|
|
|
|
|
|
|
/* Printable keys */ |
|
|
|
|
#define GLFW_KEY_SPACE 32 |
|
|
|
|
#define GLFW_KEY_SPECIAL 256 |
|
|
|
|
#define GLFW_KEY_ESC (GLFW_KEY_SPECIAL+1) |
|
|
|
|
#define GLFW_KEY_F1 (GLFW_KEY_SPECIAL+2) |
|
|
|
|
#define GLFW_KEY_F2 (GLFW_KEY_SPECIAL+3) |
|
|
|
|
#define GLFW_KEY_F3 (GLFW_KEY_SPECIAL+4) |
|
|
|
|
#define GLFW_KEY_F4 (GLFW_KEY_SPECIAL+5) |
|
|
|
|
#define GLFW_KEY_F5 (GLFW_KEY_SPECIAL+6) |
|
|
|
|
#define GLFW_KEY_F6 (GLFW_KEY_SPECIAL+7) |
|
|
|
|
#define GLFW_KEY_F7 (GLFW_KEY_SPECIAL+8) |
|
|
|
|
#define GLFW_KEY_F8 (GLFW_KEY_SPECIAL+9) |
|
|
|
|
#define GLFW_KEY_F9 (GLFW_KEY_SPECIAL+10) |
|
|
|
|
#define GLFW_KEY_F10 (GLFW_KEY_SPECIAL+11) |
|
|
|
|
#define GLFW_KEY_F11 (GLFW_KEY_SPECIAL+12) |
|
|
|
|
#define GLFW_KEY_F12 (GLFW_KEY_SPECIAL+13) |
|
|
|
|
#define GLFW_KEY_F13 (GLFW_KEY_SPECIAL+14) |
|
|
|
|
#define GLFW_KEY_F14 (GLFW_KEY_SPECIAL+15) |
|
|
|
|
#define GLFW_KEY_F15 (GLFW_KEY_SPECIAL+16) |
|
|
|
|
#define GLFW_KEY_F16 (GLFW_KEY_SPECIAL+17) |
|
|
|
|
#define GLFW_KEY_F17 (GLFW_KEY_SPECIAL+18) |
|
|
|
|
#define GLFW_KEY_F18 (GLFW_KEY_SPECIAL+19) |
|
|
|
|
#define GLFW_KEY_F19 (GLFW_KEY_SPECIAL+20) |
|
|
|
|
#define GLFW_KEY_F20 (GLFW_KEY_SPECIAL+21) |
|
|
|
|
#define GLFW_KEY_F21 (GLFW_KEY_SPECIAL+22) |
|
|
|
|
#define GLFW_KEY_F22 (GLFW_KEY_SPECIAL+23) |
|
|
|
|
#define GLFW_KEY_F23 (GLFW_KEY_SPECIAL+24) |
|
|
|
|
#define GLFW_KEY_F24 (GLFW_KEY_SPECIAL+25) |
|
|
|
|
#define GLFW_KEY_F25 (GLFW_KEY_SPECIAL+26) |
|
|
|
|
#define GLFW_KEY_UP (GLFW_KEY_SPECIAL+27) |
|
|
|
|
#define GLFW_KEY_DOWN (GLFW_KEY_SPECIAL+28) |
|
|
|
|
#define GLFW_KEY_LEFT (GLFW_KEY_SPECIAL+29) |
|
|
|
|
#define GLFW_KEY_RIGHT (GLFW_KEY_SPECIAL+30) |
|
|
|
|
#define GLFW_KEY_LSHIFT (GLFW_KEY_SPECIAL+31) |
|
|
|
|
#define GLFW_KEY_RSHIFT (GLFW_KEY_SPECIAL+32) |
|
|
|
|
#define GLFW_KEY_LCTRL (GLFW_KEY_SPECIAL+33) |
|
|
|
|
#define GLFW_KEY_RCTRL (GLFW_KEY_SPECIAL+34) |
|
|
|
|
#define GLFW_KEY_LALT (GLFW_KEY_SPECIAL+35) |
|
|
|
|
#define GLFW_KEY_RALT (GLFW_KEY_SPECIAL+36) |
|
|
|
|
#define GLFW_KEY_TAB (GLFW_KEY_SPECIAL+37) |
|
|
|
|
#define GLFW_KEY_ENTER (GLFW_KEY_SPECIAL+38) |
|
|
|
|
#define GLFW_KEY_BACKSPACE (GLFW_KEY_SPECIAL+39) |
|
|
|
|
#define GLFW_KEY_INSERT (GLFW_KEY_SPECIAL+40) |
|
|
|
|
#define GLFW_KEY_DEL (GLFW_KEY_SPECIAL+41) |
|
|
|
|
#define GLFW_KEY_PAGEUP (GLFW_KEY_SPECIAL+42) |
|
|
|
|
#define GLFW_KEY_PAGEDOWN (GLFW_KEY_SPECIAL+43) |
|
|
|
|
#define GLFW_KEY_HOME (GLFW_KEY_SPECIAL+44) |
|
|
|
|
#define GLFW_KEY_END (GLFW_KEY_SPECIAL+45) |
|
|
|
|
#define GLFW_KEY_KP_0 (GLFW_KEY_SPECIAL+46) |
|
|
|
|
#define GLFW_KEY_KP_1 (GLFW_KEY_SPECIAL+47) |
|
|
|
|
#define GLFW_KEY_KP_2 (GLFW_KEY_SPECIAL+48) |
|
|
|
|
#define GLFW_KEY_KP_3 (GLFW_KEY_SPECIAL+49) |
|
|
|
|
#define GLFW_KEY_KP_4 (GLFW_KEY_SPECIAL+50) |
|
|
|
|
#define GLFW_KEY_KP_5 (GLFW_KEY_SPECIAL+51) |
|
|
|
|
#define GLFW_KEY_KP_6 (GLFW_KEY_SPECIAL+52) |
|
|
|
|
#define GLFW_KEY_KP_7 (GLFW_KEY_SPECIAL+53) |
|
|
|
|
#define GLFW_KEY_KP_8 (GLFW_KEY_SPECIAL+54) |
|
|
|
|
#define GLFW_KEY_KP_9 (GLFW_KEY_SPECIAL+55) |
|
|
|
|
#define GLFW_KEY_KP_DIVIDE (GLFW_KEY_SPECIAL+56) |
|
|
|
|
#define GLFW_KEY_KP_MULTIPLY (GLFW_KEY_SPECIAL+57) |
|
|
|
|
#define GLFW_KEY_KP_SUBTRACT (GLFW_KEY_SPECIAL+58) |
|
|
|
|
#define GLFW_KEY_KP_ADD (GLFW_KEY_SPECIAL+59) |
|
|
|
|
#define GLFW_KEY_KP_DECIMAL (GLFW_KEY_SPECIAL+60) |
|
|
|
|
#define GLFW_KEY_KP_EQUAL (GLFW_KEY_SPECIAL+61) |
|
|
|
|
#define GLFW_KEY_KP_ENTER (GLFW_KEY_SPECIAL+62) |
|
|
|
|
#define GLFW_KEY_KP_NUM_LOCK (GLFW_KEY_SPECIAL+63) |
|
|
|
|
#define GLFW_KEY_CAPS_LOCK (GLFW_KEY_SPECIAL+64) |
|
|
|
|
#define GLFW_KEY_SCROLL_LOCK (GLFW_KEY_SPECIAL+65) |
|
|
|
|
#define GLFW_KEY_PAUSE (GLFW_KEY_SPECIAL+66) |
|
|
|
|
#define GLFW_KEY_LSUPER (GLFW_KEY_SPECIAL+67) |
|
|
|
|
#define GLFW_KEY_RSUPER (GLFW_KEY_SPECIAL+68) |
|
|
|
|
#define GLFW_KEY_MENU (GLFW_KEY_SPECIAL+69) |
|
|
|
|
#define GLFW_KEY_APOSTROPHE 39 /* ' */ |
|
|
|
|
#define GLFW_KEY_COMMA 44 /* , */ |
|
|
|
|
#define GLFW_KEY_MINUS 45 /* - */ |
|
|
|
|
#define GLFW_KEY_PERIOD 46 /* . */ |
|
|
|
|
#define GLFW_KEY_SLASH 47 /* / */ |
|
|
|
|
#define GLFW_KEY_0 48 |
|
|
|
|
#define GLFW_KEY_1 49 |
|
|
|
|
#define GLFW_KEY_2 50 |
|
|
|
|
#define GLFW_KEY_3 51 |
|
|
|
|
#define GLFW_KEY_4 52 |
|
|
|
|
#define GLFW_KEY_5 53 |
|
|
|
|
#define GLFW_KEY_6 54 |
|
|
|
|
#define GLFW_KEY_7 55 |
|
|
|
|
#define GLFW_KEY_8 56 |
|
|
|
|
#define GLFW_KEY_9 57 |
|
|
|
|
#define GLFW_KEY_SEMICOLON 59 /* ; */ |
|
|
|
|
#define GLFW_KEY_EQUAL 61 /* = */ |
|
|
|
|
#define GLFW_KEY_A 65 |
|
|
|
|
#define GLFW_KEY_B 66 |
|
|
|
|
#define GLFW_KEY_C 67 |
|
|
|
|
#define GLFW_KEY_D 68 |
|
|
|
|
#define GLFW_KEY_E 69 |
|
|
|
|
#define GLFW_KEY_F 70 |
|
|
|
|
#define GLFW_KEY_G 71 |
|
|
|
|
#define GLFW_KEY_H 72 |
|
|
|
|
#define GLFW_KEY_I 73 |
|
|
|
|
#define GLFW_KEY_J 74 |
|
|
|
|
#define GLFW_KEY_K 75 |
|
|
|
|
#define GLFW_KEY_L 76 |
|
|
|
|
#define GLFW_KEY_M 77 |
|
|
|
|
#define GLFW_KEY_N 78 |
|
|
|
|
#define GLFW_KEY_O 79 |
|
|
|
|
#define GLFW_KEY_P 80 |
|
|
|
|
#define GLFW_KEY_Q 81 |
|
|
|
|
#define GLFW_KEY_R 82 |
|
|
|
|
#define GLFW_KEY_S 83 |
|
|
|
|
#define GLFW_KEY_T 84 |
|
|
|
|
#define GLFW_KEY_U 85 |
|
|
|
|
#define GLFW_KEY_V 86 |
|
|
|
|
#define GLFW_KEY_W 87 |
|
|
|
|
#define GLFW_KEY_X 88 |
|
|
|
|
#define GLFW_KEY_Y 89 |
|
|
|
|
#define GLFW_KEY_Z 90 |
|
|
|
|
#define GLFW_KEY_LEFT_SQUARE_BRACKET 91 /* [ */ |
|
|
|
|
#define GLFW_KEY_BACKSLASH 92 /* \ */ |
|
|
|
|
#define GLFW_KEY_RIGHT_SQUARE_BRACKET 93 /* ] */ |
|
|
|
|
#define GLFW_KEY_GRAVE_ACCENT 96 /* ` */ |
|
|
|
|
#define GLFW_KEY_WORLD_1 161 /* non-US #1 */ |
|
|
|
|
#define GLFW_KEY_WORLD_2 162 /* non-US #2 */ |
|
|
|
|
|
|
|
|
|
/* Function keys */ |
|
|
|
|
#define GLFW_KEY_ESCAPE 256 |
|
|
|
|
#define GLFW_KEY_ENTER 257 |
|
|
|
|
#define GLFW_KEY_TAB 258 |
|
|
|
|
#define GLFW_KEY_BACKSPACE 259 |
|
|
|
|
#define GLFW_KEY_INSERT 260 |
|
|
|
|
#define GLFW_KEY_DELETE 261 |
|
|
|
|
#define GLFW_KEY_RIGHT 262 |
|
|
|
|
#define GLFW_KEY_LEFT 263 |
|
|
|
|
#define GLFW_KEY_DOWN 264 |
|
|
|
|
#define GLFW_KEY_UP 265 |
|
|
|
|
#define GLFW_KEY_PAGE_UP 266 |
|
|
|
|
#define GLFW_KEY_PAGE_DOWN 267 |
|
|
|
|
#define GLFW_KEY_HOME 268 |
|
|
|
|
#define GLFW_KEY_END 269 |
|
|
|
|
#define GLFW_KEY_CAPS_LOCK 280 |
|
|
|
|
#define GLFW_KEY_SCROLL_LOCK 281 |
|
|
|
|
#define GLFW_KEY_NUM_LOCK 282 |
|
|
|
|
#define GLFW_KEY_PRINT_SCREEN 283 |
|
|
|
|
#define GLFW_KEY_PAUSE 284 |
|
|
|
|
#define GLFW_KEY_F1 290 |
|
|
|
|
#define GLFW_KEY_F2 291 |
|
|
|
|
#define GLFW_KEY_F3 292 |
|
|
|
|
#define GLFW_KEY_F4 293 |
|
|
|
|
#define GLFW_KEY_F5 294 |
|
|
|
|
#define GLFW_KEY_F6 295 |
|
|
|
|
#define GLFW_KEY_F7 296 |
|
|
|
|
#define GLFW_KEY_F8 297 |
|
|
|
|
#define GLFW_KEY_F9 298 |
|
|
|
|
#define GLFW_KEY_F10 299 |
|
|
|
|
#define GLFW_KEY_F11 300 |
|
|
|
|
#define GLFW_KEY_F12 301 |
|
|
|
|
#define GLFW_KEY_F13 302 |
|
|
|
|
#define GLFW_KEY_F14 303 |
|
|
|
|
#define GLFW_KEY_F15 304 |
|
|
|
|
#define GLFW_KEY_F16 305 |
|
|
|
|
#define GLFW_KEY_F17 306 |
|
|
|
|
#define GLFW_KEY_F18 307 |
|
|
|
|
#define GLFW_KEY_F19 308 |
|
|
|
|
#define GLFW_KEY_F20 309 |
|
|
|
|
#define GLFW_KEY_F21 310 |
|
|
|
|
#define GLFW_KEY_F22 311 |
|
|
|
|
#define GLFW_KEY_F23 312 |
|
|
|
|
#define GLFW_KEY_F24 313 |
|
|
|
|
#define GLFW_KEY_F25 314 |
|
|
|
|
#define GLFW_KEY_KP_0 320 |
|
|
|
|
#define GLFW_KEY_KP_1 321 |
|
|
|
|
#define GLFW_KEY_KP_2 322 |
|
|
|
|
#define GLFW_KEY_KP_3 323 |
|
|
|
|
#define GLFW_KEY_KP_4 324 |
|
|
|
|
#define GLFW_KEY_KP_5 325 |
|
|
|
|
#define GLFW_KEY_KP_6 326 |
|
|
|
|
#define GLFW_KEY_KP_7 327 |
|
|
|
|
#define GLFW_KEY_KP_8 328 |
|
|
|
|
#define GLFW_KEY_KP_9 329 |
|
|
|
|
#define GLFW_KEY_KP_DECIMAL 330 |
|
|
|
|
#define GLFW_KEY_KP_DIVIDE 331 |
|
|
|
|
#define GLFW_KEY_KP_MULTIPLY 332 |
|
|
|
|
#define GLFW_KEY_KP_SUBTRACT 333 |
|
|
|
|
#define GLFW_KEY_KP_ADD 334 |
|
|
|
|
#define GLFW_KEY_KP_ENTER 335 |
|
|
|
|
#define GLFW_KEY_KP_EQUAL 336 |
|
|
|
|
#define GLFW_KEY_LEFT_SHIFT 340 |
|
|
|
|
#define GLFW_KEY_LEFT_CONTROL 341 |
|
|
|
|
#define GLFW_KEY_LEFT_ALT 342 |
|
|
|
|
#define GLFW_KEY_LEFT_SUPER 343 |
|
|
|
|
#define GLFW_KEY_RIGHT_SHIFT 344 |
|
|
|
|
#define GLFW_KEY_RIGHT_CONTROL 345 |
|
|
|
|
#define GLFW_KEY_RIGHT_ALT 346 |
|
|
|
|
#define GLFW_KEY_RIGHT_SUPER 347 |
|
|
|
|
#define GLFW_KEY_MENU 348 |
|
|
|
|
#define GLFW_KEY_LAST GLFW_KEY_MENU |
|
|
|
|
|
|
|
|
|
/* GLFW 2.x key name aliases (deprecated) */ |
|
|
|
|
#define GLFW_KEY_ESC GLFW_KEY_ESCAPE |
|
|
|
|
#define GLFW_KEY_DEL GLFW_KEY_DELETE |
|
|
|
|
#define GLFW_KEY_PAGEUP GLFW_KEY_PAGE_UP |
|
|
|
|
#define GLFW_KEY_PAGEDOWN GLFW_KEY_PAGE_DOWN |
|
|
|
|
#define GLFW_KEY_KP_NUM_LOCK GLFW_KEY_NUM_LOCK |
|
|
|
|
#define GLFW_KEY_LCTRL GLFW_KEY_LEFT_CONTROL |
|
|
|
|
#define GLFW_KEY_LSHIFT GLFW_KEY_LEFT_SHIFT |
|
|
|
|
#define GLFW_KEY_LALT GLFW_KEY_LEFT_ALT |
|
|
|
|
#define GLFW_KEY_LSUPER GLFW_KEY_LEFT_SUPER |
|
|
|
|
#define GLFW_KEY_RCTRL GLFW_KEY_RIGHT_CONTROL |
|
|
|
|
#define GLFW_KEY_RSHIFT GLFW_KEY_RIGHT_SHIFT |
|
|
|
|
#define GLFW_KEY_RALT GLFW_KEY_RIGHT_ALT |
|
|
|
|
#define GLFW_KEY_RSUPER GLFW_KEY_RIGHT_SUPER |
|
|
|
|
|
|
|
|
|
/* Mouse button definitions */ |
|
|
|
|
#define GLFW_MOUSE_BUTTON_1 0 |
|
|
|
|
#define GLFW_MOUSE_BUTTON_2 1 |
|
|
|
|