private void keyCallback(GLFWWindow window1, GLFWKeyCode key, int scancode, GLFWInputState state, GLFWKeyMods mods) { switch (state) { case GLFW.GLFW.InputState.Press: var gdxkey = getGdxKeyCode(key); eventQueue.keyDown(gdxkey); pressedKeys++; keyJustPressed = true; justPressedKeys[(int)gdxkey] = true; window.getGraphics().requestRendering(); lastCharacter = (char)0; char character = characterForKeyCode(gdxkey); if (character != 0) { charCallback(window1, (uint)character); } break; case GLFW.GLFW.InputState.Release: pressedKeys--; window.getGraphics().requestRendering(); eventQueue.keyUp(getGdxKeyCode(key)); break; case GLFW.GLFW.InputState.Repeat: pressedKeys--; window.getGraphics().requestRendering(); eventQueue.keyUp(getGdxKeyCode(key)); break; } }
public static Keys getGdxKeyCode(GLFWKeyCode lwjglKeyCode) { switch (lwjglKeyCode) { case GLFW.GLFW.KeyCode.Space: return(Keys.SPACE); case GLFW.GLFW.KeyCode.Apostrophe: return(Keys.APOSTROPHE); case GLFW.GLFW.KeyCode.Comma: return(Keys.COMMA); case GLFW.GLFW.KeyCode.Minus: return(Keys.MINUS); case GLFW.GLFW.KeyCode.Period: return(Keys.PERIOD); case GLFW.GLFW.KeyCode.Slash: return(Keys.SLASH); case GLFW.GLFW.KeyCode.Alpha0: return(Keys.NUM_0); case GLFW.GLFW.KeyCode.Alpha1: return(Keys.NUM_1); case GLFW.GLFW.KeyCode.Alpha2: return(Keys.NUM_2); case GLFW.GLFW.KeyCode.Alpha3: return(Keys.NUM_3); case GLFW.GLFW.KeyCode.Alpha4: return(Keys.NUM_4); case GLFW.GLFW.KeyCode.Alpha5: return(Keys.NUM_5); case GLFW.GLFW.KeyCode.Alpha6: return(Keys.NUM_6); case GLFW.GLFW.KeyCode.Alpha7: return(Keys.NUM_7); case GLFW.GLFW.KeyCode.Alpha8: return(Keys.NUM_8); case GLFW.GLFW.KeyCode.Alpha9: return(Keys.NUM_9); case GLFW.GLFW.KeyCode.SemiColon: return(Keys.SEMICOLON); case GLFW.GLFW.KeyCode.Equal: return(Keys.EQUALS); case GLFW.GLFW.KeyCode.A: return(Keys.A); case GLFW.GLFW.KeyCode.B: return(Keys.B); case GLFW.GLFW.KeyCode.C: return(Keys.C); case GLFW.GLFW.KeyCode.D: return(Keys.D); case GLFW.GLFW.KeyCode.E: return(Keys.E); case GLFW.GLFW.KeyCode.F: return(Keys.F); case GLFW.GLFW.KeyCode.G: return(Keys.G); case GLFW.GLFW.KeyCode.H: return(Keys.H); case GLFW.GLFW.KeyCode.I: return(Keys.I); case GLFW.GLFW.KeyCode.J: return(Keys.J); case GLFW.GLFW.KeyCode.K: return(Keys.K); case GLFW.GLFW.KeyCode.L: return(Keys.L); case GLFW.GLFW.KeyCode.M: return(Keys.M); case GLFW.GLFW.KeyCode.N: return(Keys.N); case GLFW.GLFW.KeyCode.O: return(Keys.O); case GLFW.GLFW.KeyCode.P: return(Keys.P); case GLFW.GLFW.KeyCode.Q: return(Keys.Q); case GLFW.GLFW.KeyCode.R: return(Keys.R); case GLFW.GLFW.KeyCode.S: return(Keys.S); case GLFW.GLFW.KeyCode.T: return(Keys.T); case GLFW.GLFW.KeyCode.U: return(Keys.U); case GLFW.GLFW.KeyCode.V: return(Keys.V); case GLFW.GLFW.KeyCode.W: return(Keys.W); case GLFW.GLFW.KeyCode.X: return(Keys.X); case GLFW.GLFW.KeyCode.Y: return(Keys.Y); case GLFW.GLFW.KeyCode.Z: return(Keys.Z); case GLFW.GLFW.KeyCode.LeftBracket: return(Keys.LEFT_BRACKET); case GLFW.GLFW.KeyCode.Backslash: return(Keys.BACKSLASH); case GLFW.GLFW.KeyCode.RightBracket: return(Keys.RIGHT_BRACKET); case GLFW.GLFW.KeyCode.GraveAccent: return(Keys.GRAVE); case GLFW.GLFW.KeyCode.World1: case GLFW.GLFW.KeyCode.World2: return(Keys.UNKNOWN); case GLFW.GLFW.KeyCode.Escape: return(Keys.ESCAPE); case GLFW.GLFW.KeyCode.Enter: return(Keys.ENTER); case GLFW.GLFW.KeyCode.Tab: return(Keys.TAB); case GLFW.GLFW.KeyCode.Backspace: return(Keys.BACKSPACE); case GLFW.GLFW.KeyCode.Insert: return(Keys.INSERT); case GLFW.GLFW.KeyCode.Delete: return(Keys.FORWARD_DEL); case GLFW.GLFW.KeyCode.Right: return(Keys.RIGHT); case GLFW.GLFW.KeyCode.Left: return(Keys.LEFT); case GLFW.GLFW.KeyCode.Down: return(Keys.DOWN); case GLFW.GLFW.KeyCode.Up: return(Keys.UP); case GLFW.GLFW.KeyCode.PageUp: return(Keys.PAGE_UP); case GLFW.GLFW.KeyCode.PageDown: return(Keys.PAGE_DOWN); case GLFW.GLFW.KeyCode.Home: return(Keys.HOME); case GLFW.GLFW.KeyCode.End: return(Keys.END); case GLFW.GLFW.KeyCode.CapsLock: case GLFW.GLFW.KeyCode.ScrollLock: case GLFW.GLFW.KeyCode.NumLock: case GLFW.GLFW.KeyCode.PrintScreen: case GLFW.GLFW.KeyCode.Pause: return(Keys.UNKNOWN); case GLFW.GLFW.KeyCode.F1: return(Keys.F1); case GLFW.GLFW.KeyCode.F2: return(Keys.F2); case GLFW.GLFW.KeyCode.F3: return(Keys.F3); case GLFW.GLFW.KeyCode.F4: return(Keys.F4); case GLFW.GLFW.KeyCode.F5: return(Keys.F5); case GLFW.GLFW.KeyCode.F6: return(Keys.F6); case GLFW.GLFW.KeyCode.F7: return(Keys.F7); case GLFW.GLFW.KeyCode.F8: return(Keys.F8); case GLFW.GLFW.KeyCode.F9: return(Keys.F9); case GLFW.GLFW.KeyCode.F10: return(Keys.F10); case GLFW.GLFW.KeyCode.F11: return(Keys.F11); case GLFW.GLFW.KeyCode.F12: return(Keys.F12); case GLFW.GLFW.KeyCode.F13: case GLFW.GLFW.KeyCode.F14: case GLFW.GLFW.KeyCode.F15: case GLFW.GLFW.KeyCode.F16: case GLFW.GLFW.KeyCode.F17: case GLFW.GLFW.KeyCode.F18: case GLFW.GLFW.KeyCode.F19: case GLFW.GLFW.KeyCode.F20: case GLFW.GLFW.KeyCode.F21: case GLFW.GLFW.KeyCode.F22: case GLFW.GLFW.KeyCode.F23: case GLFW.GLFW.KeyCode.F24: case GLFW.GLFW.KeyCode.F25: return(Keys.UNKNOWN); case GLFW.GLFW.KeyCode.Numpad0: return(Keys.NUMPAD_0); case GLFW.GLFW.KeyCode.Numpad1: return(Keys.NUMPAD_1); case GLFW.GLFW.KeyCode.Numpad2: return(Keys.NUMPAD_2); case GLFW.GLFW.KeyCode.Numpad3: return(Keys.NUMPAD_3); case GLFW.GLFW.KeyCode.Numpad4: return(Keys.NUMPAD_4); case GLFW.GLFW.KeyCode.Numpad5: return(Keys.NUMPAD_5); case GLFW.GLFW.KeyCode.Numpad6: return(Keys.NUMPAD_6); case GLFW.GLFW.KeyCode.Numpad7: return(Keys.NUMPAD_7); case GLFW.GLFW.KeyCode.Numpad8: return(Keys.NUMPAD_8); case GLFW.GLFW.KeyCode.Numpad9: return(Keys.NUMPAD_9); case GLFW.GLFW.KeyCode.NumpadDecimal: return(Keys.PERIOD); case GLFW.GLFW.KeyCode.NumpadDivide: return(Keys.SLASH); case GLFW.GLFW.KeyCode.NumpadMultiply: return(Keys.STAR); case GLFW.GLFW.KeyCode.NumpadSubtract: return(Keys.MINUS); case GLFW.GLFW.KeyCode.NumpadAdd: return(Keys.PLUS); case GLFW.GLFW.KeyCode.NumpadEnter: return(Keys.ENTER); case GLFW.GLFW.KeyCode.NumpadEqual: return(Keys.EQUALS); case GLFW.GLFW.KeyCode.LeftShift: return(Keys.SHIFT_LEFT); case GLFW.GLFW.KeyCode.LeftControl: return(Keys.CONTROL_LEFT); case GLFW.GLFW.KeyCode.LeftAlt: return(Keys.ALT_LEFT); case GLFW.GLFW.KeyCode.LeftSuper: return(Keys.SYM); case GLFW.GLFW.KeyCode.RightShift: return(Keys.SHIFT_RIGHT); case GLFW.GLFW.KeyCode.RightControl: return(Keys.CONTROL_RIGHT); case GLFW.GLFW.KeyCode.RightAlt: return(Keys.ALT_RIGHT); case GLFW.GLFW.KeyCode.RightSuper: return(Keys.SYM); case GLFW.GLFW.KeyCode.Menu: return(Keys.MENU); default: return(Keys.UNKNOWN); } }