#pragma once #include namespace deerith { glm::vec2 get_joystick_axes(int controller_id, int axe_id); glm::vec2 get_mouse_delta(); bool get_key_down(int key_id); void set_mouse_locked(bool locked); bool get_mouse_button(int id); } /* Printable keys */ #define DEERITH_KEY_SPACE 32 #define DEERITH_KEY_APOSTROPHE 39 /* ' */ #define DEERITH_KEY_COMMA 44 /* , */ #define DEERITH_KEY_MINUS 45 /* - */ #define DEERITH_KEY_PERIOD 46 /* . */ #define DEERITH_KEY_SLASH 47 /* / */ #define DEERITH_KEY_0 48 #define DEERITH_KEY_1 49 #define DEERITH_KEY_2 50 #define DEERITH_KEY_3 51 #define DEERITH_KEY_4 52 #define DEERITH_KEY_5 53 #define DEERITH_KEY_6 54 #define DEERITH_KEY_7 55 #define DEERITH_KEY_8 56 #define DEERITH_KEY_9 57 #define DEERITH_KEY_SEMICOLON 59 /* ; */ #define DEERITH_KEY_EQUAL 61 /* = */ #define DEERITH_KEY_A 65 #define DEERITH_KEY_B 66 #define DEERITH_KEY_C 67 #define DEERITH_KEY_D 68 #define DEERITH_KEY_E 69 #define DEERITH_KEY_F 70 #define DEERITH_KEY_G 71 #define DEERITH_KEY_H 72 #define DEERITH_KEY_I 73 #define DEERITH_KEY_J 74 #define DEERITH_KEY_K 75 #define DEERITH_KEY_L 76 #define DEERITH_KEY_M 77 #define DEERITH_KEY_N 78 #define DEERITH_KEY_O 79 #define DEERITH_KEY_P 80 #define DEERITH_KEY_Q 81 #define DEERITH_KEY_R 82 #define DEERITH_KEY_S 83 #define DEERITH_KEY_T 84 #define DEERITH_KEY_U 85 #define DEERITH_KEY_V 86 #define DEERITH_KEY_W 87 #define DEERITH_KEY_X 88 #define DEERITH_KEY_Y 89 #define DEERITH_KEY_Z 90 #define DEERITH_KEY_LEFT_BRACKET 91 /* [ */ #define DEERITH_KEY_BACKSLASH 92 /* \ */ #define DEERITH_KEY_RIGHT_BRACKET 93 /* ] */ #define DEERITH_KEY_GRAVE_ACCENT 96 /* ` */ #define DEERITH_KEY_WORLD_1 161 /* non-US #1 */ #define DEERITH_KEY_WORLD_2 162 /* non-US #2 */ /* Function keys */ #define DEERITH_KEY_ESCAPE 256 #define DEERITH_KEY_ENTER 257 #define DEERITH_KEY_TAB 258 #define DEERITH_KEY_BACKSPACE 259 #define DEERITH_KEY_INSERT 260 #define DEERITH_KEY_DELETE 261 #define DEERITH_KEY_RIGHT 262 #define DEERITH_KEY_LEFT 263 #define DEERITH_KEY_DOWN 264 #define DEERITH_KEY_UP 265 #define DEERITH_KEY_PAGE_UP 266 #define DEERITH_KEY_PAGE_DOWN 267 #define DEERITH_KEY_HOME 268 #define DEERITH_KEY_END 269 #define DEERITH_KEY_CAPS_LOCK 280 #define DEERITH_KEY_SCROLL_LOCK 281 #define DEERITH_KEY_NUM_LOCK 282 #define DEERITH_KEY_PRINT_SCREEN 283 #define DEERITH_KEY_PAUSE 284 #define DEERITH_KEY_F1 290 #define DEERITH_KEY_F2 291 #define DEERITH_KEY_F3 292 #define DEERITH_KEY_F4 293 #define DEERITH_KEY_F5 294 #define DEERITH_KEY_F6 295 #define DEERITH_KEY_F7 296 #define DEERITH_KEY_F8 297 #define DEERITH_KEY_F9 298 #define DEERITH_KEY_F10 299 #define DEERITH_KEY_F11 300 #define DEERITH_KEY_F12 301 #define DEERITH_KEY_F13 302 #define DEERITH_KEY_F14 303 #define DEERITH_KEY_F15 304 #define DEERITH_KEY_F16 305 #define DEERITH_KEY_F17 306 #define DEERITH_KEY_F18 307 #define DEERITH_KEY_F19 308 #define DEERITH_KEY_F20 309 #define DEERITH_KEY_F21 310 #define DEERITH_KEY_F22 311 #define DEERITH_KEY_F23 312 #define DEERITH_KEY_F24 313 #define DEERITH_KEY_F25 314 #define DEERITH_KEY_KP_0 320 #define DEERITH_KEY_KP_1 321 #define DEERITH_KEY_KP_2 322 #define DEERITH_KEY_KP_3 323 #define DEERITH_KEY_KP_4 324 #define DEERITH_KEY_KP_5 325 #define DEERITH_KEY_KP_6 326 #define DEERITH_KEY_KP_7 327 #define DEERITH_KEY_KP_8 328 #define DEERITH_KEY_KP_9 329 #define DEERITH_KEY_KP_DECIMAL 330 #define DEERITH_KEY_KP_DIVIDE 331 #define DEERITH_KEY_KP_MULTIPLY 332 #define DEERITH_KEY_KP_SUBTRACT 333 #define DEERITH_KEY_KP_ADD 334 #define DEERITH_KEY_KP_ENTER 335 #define DEERITH_KEY_KP_EQUAL 336 #define DEERITH_KEY_LEFT_SHIFT 340 #define DEERITH_KEY_LEFT_CONTROL 341 #define DEERITH_KEY_LEFT_ALT 342 #define DEERITH_KEY_LEFT_SUPER 343 #define DEERITH_KEY_RIGHT_SHIFT 344 #define DEERITH_KEY_RIGHT_CONTROL 345 #define DEERITH_KEY_RIGHT_ALT 346 #define DEERITH_KEY_RIGHT_SUPER 347 #define DEERITH_KEY_MENU 348