Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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);
            }
        }