|
CGVIS Utils
|
Cross‑platform key/mouse translation layer for GLFW vs. Emscripten. More...
Go to the source code of this file.
Macros | |
Action constants (keyboard/mouse) | |
| #define | GLENV_RELEASE GLFW_RELEASE |
| #define | GLENV_PRESS GLFW_PRESS |
Mouse action constants | |
| #define | GLENV_MOUSE_RELEASE GLFW_RELEASE |
| #define | GLENV_MOUSE_PRESS GLFW_PRESS |
Printable keys | |
| #define | GLENV_KEY_SPACE GLFW_KEY_SPACE |
| #define | GLENV_KEY_APOSTROPHE GLFW_KEY_APOSTROPHE |
| #define | GLENV_KEY_COMMA GLFW_KEY_COMMA |
| #define | GLENV_KEY_MINUS GLFW_KEY_MINUS |
| #define | GLENV_KEY_PERIOD GLFW_KEY_PERIOD |
| #define | GLENV_KEY_SLASH GLFW_KEY_SLASH |
| #define | GLENV_KEY_0 GLFW_KEY_0 |
| #define | GLENV_KEY_1 GLFW_KEY_1 |
| #define | GLENV_KEY_2 GLFW_KEY_2 |
| #define | GLENV_KEY_3 GLFW_KEY_3 |
| #define | GLENV_KEY_4 GLFW_KEY_4 |
| #define | GLENV_KEY_5 GLFW_KEY_5 |
| #define | GLENV_KEY_6 GLFW_KEY_6 |
| #define | GLENV_KEY_7 GLFW_KEY_7 |
| #define | GLENV_KEY_8 GLFW_KEY_8 |
| #define | GLENV_KEY_9 GLFW_KEY_9 |
| #define | GLENV_KEY_SEMICOLON GLFW_KEY_SEMICOLON |
| #define | GLENV_KEY_EQUAL GLFW_KEY_EQUAL |
| #define | GLENV_KEY_A GLFW_KEY_A |
| #define | GLENV_KEY_B GLFW_KEY_B |
| #define | GLENV_KEY_C GLFW_KEY_C |
| #define | GLENV_KEY_D GLFW_KEY_D |
| #define | GLENV_KEY_E GLFW_KEY_E |
| #define | GLENV_KEY_F GLFW_KEY_F |
| #define | GLENV_KEY_G GLFW_KEY_G |
| #define | GLENV_KEY_H GLFW_KEY_H |
| #define | GLENV_KEY_I GLFW_KEY_I |
| #define | GLENV_KEY_J GLFW_KEY_J |
| #define | GLENV_KEY_K GLFW_KEY_K |
| #define | GLENV_KEY_L GLFW_KEY_L |
| #define | GLENV_KEY_M GLFW_KEY_M |
| #define | GLENV_KEY_N GLFW_KEY_N |
| #define | GLENV_KEY_O GLFW_KEY_O |
| #define | GLENV_KEY_P GLFW_KEY_P |
| #define | GLENV_KEY_Q GLFW_KEY_Q |
| #define | GLENV_KEY_R GLFW_KEY_R |
| #define | GLENV_KEY_S GLFW_KEY_S |
| #define | GLENV_KEY_T GLFW_KEY_T |
| #define | GLENV_KEY_U GLFW_KEY_U |
| #define | GLENV_KEY_V GLFW_KEY_V |
| #define | GLENV_KEY_W GLFW_KEY_W |
| #define | GLENV_KEY_X GLFW_KEY_X |
| #define | GLENV_KEY_Y GLFW_KEY_Y |
| #define | GLENV_KEY_Z GLFW_KEY_Z |
| #define | GLENV_KEY_LEFT_BRACKET GLFW_KEY_LEFT_BRACKET |
| #define | GLENV_KEY_BACKSLASH GLFW_KEY_BACKSLASH |
| #define | GLENV_KEY_RIGHT_BRACKET GLFW_KEY_RIGHT_BRACKET |
| #define | GLENV_KEY_GRAVE_ACCENT GLFW_KEY_GRAVE_ACCENT |
| #define | GLENV_KEY_WORLD_1 GLFW_KEY_WORLD_1 |
| #define | GLENV_KEY_WORLD_2 GLFW_KEY_WORLD_2 |
Control/navigation keys | |
| #define | GLENV_KEY_ESCAPE GLFW_KEY_ESCAPE |
| #define | GLENV_KEY_ENTER GLFW_KEY_ENTER |
| #define | GLENV_KEY_TAB GLFW_KEY_TAB |
| #define | GLENV_KEY_BACKSPACE GLFW_KEY_BACKSPACE |
| #define | GLENV_KEY_INSERT GLFW_KEY_INSERT |
| #define | GLENV_KEY_DELETE GLFW_KEY_DELETE |
| #define | GLENV_KEY_RIGHT GLFW_KEY_RIGHT |
| #define | GLENV_KEY_LEFT GLFW_KEY_LEFT |
| #define | GLENV_KEY_DOWN GLFW_KEY_DOWN |
| #define | GLENV_KEY_UP GLFW_KEY_UP |
| #define | GLENV_KEY_PAGE_UP GLFW_KEY_PAGE_UP |
| #define | GLENV_KEY_PAGE_DOWN GLFW_KEY_PAGE_DOWN |
| #define | GLENV_KEY_HOME GLFW_KEY_HOME |
| #define | GLENV_KEY_END GLFW_KEY_END |
| #define | GLENV_KEY_CAPS_LOCK GLFW_KEY_CAPS_LOCK |
| #define | GLENV_KEY_SCROLL_LOCK GLFW_KEY_SCROLL_LOCK |
| #define | GLENV_KEY_NUM_LOCK GLFW_KEY_NUM_LOCK |
| #define | GLENV_KEY_PRINT_SCREEN GLFW_KEY_PRINT_SCREEN |
| #define | GLENV_KEY_PAUSE GLFW_KEY_PAUSE |
Function keys | |
| #define | GLENV_KEY_F1 GLFW_KEY_F1 |
| #define | GLENV_KEY_F2 GLFW_KEY_F2 |
| #define | GLENV_KEY_F3 GLFW_KEY_F3 |
| #define | GLENV_KEY_F4 GLFW_KEY_F4 |
| #define | GLENV_KEY_F5 GLFW_KEY_F5 |
| #define | GLENV_KEY_F6 GLFW_KEY_F6 |
| #define | GLENV_KEY_F7 GLFW_KEY_F7 |
| #define | GLENV_KEY_F8 GLFW_KEY_F8 |
| #define | GLENV_KEY_F9 GLFW_KEY_F9 |
| #define | GLENV_KEY_F10 GLFW_KEY_F10 |
| #define | GLENV_KEY_F11 GLFW_KEY_F11 |
| #define | GLENV_KEY_F12 GLFW_KEY_F12 |
| #define | GLENV_KEY_F13 GLFW_KEY_F13 |
| #define | GLENV_KEY_F14 GLFW_KEY_F14 |
| #define | GLENV_KEY_F15 GLFW_KEY_F15 |
| #define | GLENV_KEY_F16 GLFW_KEY_F16 |
| #define | GLENV_KEY_F17 GLFW_KEY_F17 |
| #define | GLENV_KEY_F18 GLFW_KEY_F18 |
| #define | GLENV_KEY_F19 GLFW_KEY_F19 |
| #define | GLENV_KEY_F20 GLFW_KEY_F20 |
| #define | GLENV_KEY_F21 GLFW_KEY_F21 |
| #define | GLENV_KEY_F22 GLFW_KEY_F22 |
| #define | GLENV_KEY_F23 GLFW_KEY_F23 |
| #define | GLENV_KEY_F24 GLFW_KEY_F24 |
| #define | GLENV_KEY_F25 GLFW_KEY_F25 |
Keypad | |
| #define | GLENV_KEY_KP_0 GLFW_KEY_KP_0 |
| #define | GLENV_KEY_KP_1 GLFW_KEY_KP_1 |
| #define | GLENV_KEY_KP_2 GLFW_KEY_KP_2 |
| #define | GLENV_KEY_KP_3 GLFW_KEY_KP_3 |
| #define | GLENV_KEY_KP_4 GLFW_KEY_KP_4 |
| #define | GLENV_KEY_KP_5 GLFW_KEY_KP_5 |
| #define | GLENV_KEY_KP_6 GLFW_KEY_KP_6 |
| #define | GLENV_KEY_KP_7 GLFW_KEY_KP_7 |
| #define | GLENV_KEY_KP_8 GLFW_KEY_KP_8 |
| #define | GLENV_KEY_KP_9 GLFW_KEY_KP_9 |
| #define | GLENV_KEY_KP_DECIMAL GLFW_KEY_KP_DECIMAL |
| #define | GLENV_KEY_KP_DIVIDE GLFW_KEY_KP_DIVIDE |
| #define | GLENV_KEY_KP_MULTIPLY GLFW_KEY_KP_MULTIPLY |
| #define | GLENV_KEY_KP_SUBTRACT GLFW_KEY_KP_SUBTRACT |
| #define | GLENV_KEY_KP_ADD GLFW_KEY_KP_ADD |
| #define | GLENV_KEY_KP_ENTER GLFW_KEY_KP_ENTER |
| #define | GLENV_KEY_KP_EQUAL GLFW_KEY_KP_EQUAL |
Modifiers and system keys | |
| #define | GLENV_KEY_LEFT_SHIFT GLFW_KEY_LEFT_SHIFT |
| #define | GLENV_KEY_LEFT_CONTROL GLFW_KEY_LEFT_CONTROL |
| #define | GLENV_KEY_LEFT_ALT GLFW_KEY_LEFT_ALT |
| #define | GLENV_KEY_LEFT_SUPER GLFW_KEY_LEFT_SUPER |
| #define | GLENV_KEY_RIGHT_SHIFT GLFW_KEY_RIGHT_SHIFT |
| #define | GLENV_KEY_RIGHT_CONTROL GLFW_KEY_RIGHT_CONTROL |
| #define | GLENV_KEY_RIGHT_ALT GLFW_KEY_RIGHT_ALT |
| #define | GLENV_KEY_RIGHT_SUPER GLFW_KEY_RIGHT_SUPER |
| #define | GLENV_KEY_MENU GLFW_KEY_MENU |
Mouse buttons | |
| #define | GLENV_MOUSE_BUTTON_LEFT GLFW_MOUSE_BUTTON_LEFT |
| #define | GLENV_MOUSE_BUTTON_RIGHT GLFW_MOUSE_BUTTON_RIGHT |
| #define | GLENV_MOUSE_BUTTON_MIDDLE GLFW_MOUSE_BUTTON_MIDDLE |
Modifier bitmask (GLFW) | |
| #define | GLENV_MOD_SHIFT GLFW_MOD_SHIFT |
| #define | GLENV_MOD_CONTROL GLFW_MOD_CONTROL |
| #define | GLENV_MOD_ALT GLFW_MOD_ALT |
Cross‑platform key/mouse translation layer for GLFW vs. Emscripten.
Defines a set of GLENV_* constants and macros that map to either GLFW (desktop) or Emscripten/HTML5 (web) key codes, mouse buttons, and input modifiers. This allows application code to use a single set of symbols regardless of the backend.
Usage example:
The mapping is chosen at compile time via the __EMSCRIPTEN__ define.
| #define GLENV_KEY_0 GLFW_KEY_0 |
| #define GLENV_KEY_1 GLFW_KEY_1 |
| #define GLENV_KEY_2 GLFW_KEY_2 |
| #define GLENV_KEY_3 GLFW_KEY_3 |
| #define GLENV_KEY_4 GLFW_KEY_4 |
| #define GLENV_KEY_5 GLFW_KEY_5 |
| #define GLENV_KEY_6 GLFW_KEY_6 |
| #define GLENV_KEY_7 GLFW_KEY_7 |
| #define GLENV_KEY_8 GLFW_KEY_8 |
| #define GLENV_KEY_9 GLFW_KEY_9 |
| #define GLENV_KEY_A GLFW_KEY_A |
| #define GLENV_KEY_APOSTROPHE GLFW_KEY_APOSTROPHE |
| #define GLENV_KEY_B GLFW_KEY_B |
| #define GLENV_KEY_BACKSLASH GLFW_KEY_BACKSLASH |
| #define GLENV_KEY_BACKSPACE GLFW_KEY_BACKSPACE |
| #define GLENV_KEY_C GLFW_KEY_C |
| #define GLENV_KEY_CAPS_LOCK GLFW_KEY_CAPS_LOCK |
| #define GLENV_KEY_COMMA GLFW_KEY_COMMA |
| #define GLENV_KEY_D GLFW_KEY_D |
| #define GLENV_KEY_DELETE GLFW_KEY_DELETE |
| #define GLENV_KEY_DOWN GLFW_KEY_DOWN |
| #define GLENV_KEY_E GLFW_KEY_E |
| #define GLENV_KEY_END GLFW_KEY_END |
| #define GLENV_KEY_ENTER GLFW_KEY_ENTER |
| #define GLENV_KEY_EQUAL GLFW_KEY_EQUAL |
| #define GLENV_KEY_ESCAPE GLFW_KEY_ESCAPE |
| #define GLENV_KEY_F GLFW_KEY_F |
| #define GLENV_KEY_F1 GLFW_KEY_F1 |
| #define GLENV_KEY_F10 GLFW_KEY_F10 |
| #define GLENV_KEY_F11 GLFW_KEY_F11 |
| #define GLENV_KEY_F12 GLFW_KEY_F12 |
| #define GLENV_KEY_F13 GLFW_KEY_F13 |
| #define GLENV_KEY_F14 GLFW_KEY_F14 |
| #define GLENV_KEY_F15 GLFW_KEY_F15 |
| #define GLENV_KEY_F16 GLFW_KEY_F16 |
| #define GLENV_KEY_F17 GLFW_KEY_F17 |
| #define GLENV_KEY_F18 GLFW_KEY_F18 |
| #define GLENV_KEY_F19 GLFW_KEY_F19 |
| #define GLENV_KEY_F2 GLFW_KEY_F2 |
| #define GLENV_KEY_F20 GLFW_KEY_F20 |
| #define GLENV_KEY_F21 GLFW_KEY_F21 |
| #define GLENV_KEY_F22 GLFW_KEY_F22 |
| #define GLENV_KEY_F23 GLFW_KEY_F23 |
| #define GLENV_KEY_F24 GLFW_KEY_F24 |
| #define GLENV_KEY_F25 GLFW_KEY_F25 |
| #define GLENV_KEY_F3 GLFW_KEY_F3 |
| #define GLENV_KEY_F4 GLFW_KEY_F4 |
| #define GLENV_KEY_F5 GLFW_KEY_F5 |
| #define GLENV_KEY_F6 GLFW_KEY_F6 |
| #define GLENV_KEY_F7 GLFW_KEY_F7 |
| #define GLENV_KEY_F8 GLFW_KEY_F8 |
| #define GLENV_KEY_F9 GLFW_KEY_F9 |
| #define GLENV_KEY_G GLFW_KEY_G |
| #define GLENV_KEY_GRAVE_ACCENT GLFW_KEY_GRAVE_ACCENT |
| #define GLENV_KEY_H GLFW_KEY_H |
| #define GLENV_KEY_HOME GLFW_KEY_HOME |
| #define GLENV_KEY_I GLFW_KEY_I |
| #define GLENV_KEY_INSERT GLFW_KEY_INSERT |
| #define GLENV_KEY_J GLFW_KEY_J |
| #define GLENV_KEY_K GLFW_KEY_K |
| #define GLENV_KEY_KP_0 GLFW_KEY_KP_0 |
| #define GLENV_KEY_KP_1 GLFW_KEY_KP_1 |
| #define GLENV_KEY_KP_2 GLFW_KEY_KP_2 |
| #define GLENV_KEY_KP_3 GLFW_KEY_KP_3 |
| #define GLENV_KEY_KP_4 GLFW_KEY_KP_4 |
| #define GLENV_KEY_KP_5 GLFW_KEY_KP_5 |
| #define GLENV_KEY_KP_6 GLFW_KEY_KP_6 |
| #define GLENV_KEY_KP_7 GLFW_KEY_KP_7 |
| #define GLENV_KEY_KP_8 GLFW_KEY_KP_8 |
| #define GLENV_KEY_KP_9 GLFW_KEY_KP_9 |
| #define GLENV_KEY_KP_ADD GLFW_KEY_KP_ADD |
| #define GLENV_KEY_KP_DECIMAL GLFW_KEY_KP_DECIMAL |
| #define GLENV_KEY_KP_DIVIDE GLFW_KEY_KP_DIVIDE |
| #define GLENV_KEY_KP_ENTER GLFW_KEY_KP_ENTER |
| #define GLENV_KEY_KP_EQUAL GLFW_KEY_KP_EQUAL |
| #define GLENV_KEY_KP_MULTIPLY GLFW_KEY_KP_MULTIPLY |
| #define GLENV_KEY_KP_SUBTRACT GLFW_KEY_KP_SUBTRACT |
| #define GLENV_KEY_L GLFW_KEY_L |
| #define GLENV_KEY_LEFT GLFW_KEY_LEFT |
| #define GLENV_KEY_LEFT_ALT GLFW_KEY_LEFT_ALT |
| #define GLENV_KEY_LEFT_BRACKET GLFW_KEY_LEFT_BRACKET |
| #define GLENV_KEY_LEFT_CONTROL GLFW_KEY_LEFT_CONTROL |
| #define GLENV_KEY_LEFT_SHIFT GLFW_KEY_LEFT_SHIFT |
| #define GLENV_KEY_LEFT_SUPER GLFW_KEY_LEFT_SUPER |
| #define GLENV_KEY_M GLFW_KEY_M |
| #define GLENV_KEY_MENU GLFW_KEY_MENU |
| #define GLENV_KEY_MINUS GLFW_KEY_MINUS |
| #define GLENV_KEY_N GLFW_KEY_N |
| #define GLENV_KEY_NUM_LOCK GLFW_KEY_NUM_LOCK |
| #define GLENV_KEY_O GLFW_KEY_O |
| #define GLENV_KEY_P GLFW_KEY_P |
| #define GLENV_KEY_PAGE_DOWN GLFW_KEY_PAGE_DOWN |
| #define GLENV_KEY_PAGE_UP GLFW_KEY_PAGE_UP |
| #define GLENV_KEY_PAUSE GLFW_KEY_PAUSE |
| #define GLENV_KEY_PERIOD GLFW_KEY_PERIOD |
| #define GLENV_KEY_PRINT_SCREEN GLFW_KEY_PRINT_SCREEN |
| #define GLENV_KEY_Q GLFW_KEY_Q |
| #define GLENV_KEY_R GLFW_KEY_R |
| #define GLENV_KEY_RIGHT GLFW_KEY_RIGHT |
| #define GLENV_KEY_RIGHT_ALT GLFW_KEY_RIGHT_ALT |
| #define GLENV_KEY_RIGHT_BRACKET GLFW_KEY_RIGHT_BRACKET |
| #define GLENV_KEY_RIGHT_CONTROL GLFW_KEY_RIGHT_CONTROL |
| #define GLENV_KEY_RIGHT_SHIFT GLFW_KEY_RIGHT_SHIFT |
| #define GLENV_KEY_RIGHT_SUPER GLFW_KEY_RIGHT_SUPER |
| #define GLENV_KEY_S GLFW_KEY_S |
| #define GLENV_KEY_SCROLL_LOCK GLFW_KEY_SCROLL_LOCK |
| #define GLENV_KEY_SEMICOLON GLFW_KEY_SEMICOLON |
| #define GLENV_KEY_SLASH GLFW_KEY_SLASH |
| #define GLENV_KEY_SPACE GLFW_KEY_SPACE |
| #define GLENV_KEY_T GLFW_KEY_T |
| #define GLENV_KEY_TAB GLFW_KEY_TAB |
| #define GLENV_KEY_U GLFW_KEY_U |
| #define GLENV_KEY_UP GLFW_KEY_UP |
| #define GLENV_KEY_V GLFW_KEY_V |
| #define GLENV_KEY_W GLFW_KEY_W |
| #define GLENV_KEY_WORLD_1 GLFW_KEY_WORLD_1 |
| #define GLENV_KEY_WORLD_2 GLFW_KEY_WORLD_2 |
| #define GLENV_KEY_X GLFW_KEY_X |
| #define GLENV_KEY_Y GLFW_KEY_Y |
| #define GLENV_KEY_Z GLFW_KEY_Z |
| #define GLENV_MOD_ALT GLFW_MOD_ALT |
| #define GLENV_MOD_CONTROL GLFW_MOD_CONTROL |
| #define GLENV_MOD_SHIFT GLFW_MOD_SHIFT |
| #define GLENV_MOUSE_BUTTON_LEFT GLFW_MOUSE_BUTTON_LEFT |
| #define GLENV_MOUSE_BUTTON_MIDDLE GLFW_MOUSE_BUTTON_MIDDLE |
| #define GLENV_MOUSE_BUTTON_RIGHT GLFW_MOUSE_BUTTON_RIGHT |
| #define GLENV_MOUSE_PRESS GLFW_PRESS |
| #define GLENV_MOUSE_RELEASE GLFW_RELEASE |
| #define GLENV_PRESS GLFW_PRESS |
| #define GLENV_RELEASE GLFW_RELEASE |