void handle_keyup(int keycode) { check_keycode(keycode); if (keysHeld[keycode]) keysReleasedFrame[keycode] = curKeyFrame; keysHeld[keycode] = false; }
void handle_keydown(int keycode) { check_keycode(keycode); if (!keysHeld[keycode]) keysPressedFrame[keycode] = curKeyFrame; keysHeld[keycode] = true; }
static int Lwin_key(lua_State *L) { GLFWwindow *win = (GLFWwindow*)lbind_check(L, 1, &lbT_Window); int keycode = check_keycode(L, 2); lua_pushboolean(L, glfwGetKey(win, keycode) == GLFW_PRESS); return 1; }
bool key_released(int keycode) { check_keycode(keycode); return keysReleasedFrame[keycode] == (curKeyFrame - 1); }
bool key_pressed(int keycode) { check_keycode(keycode); return keysPressedFrame[keycode] == (curKeyFrame - 1); }
bool key_held(int keycode) { check_keycode(keycode); return keysHeld[keycode]; }