OSDN Git Service

[added] a couple of new key codes
authorbadlogicgames <badlogicgames@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Tue, 25 Jan 2011 10:56:24 +0000 (10:56 +0000)
committerbadlogicgames <badlogicgames@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Tue, 25 Jan 2011 10:56:24 +0000 (10:56 +0000)
[fixed] angle input backend

backends/gdx-backend-jogl/src/com/badlogic/gdx/backends/jogl/JoglInput.java
backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglInput.java
backends/gdx-backends-angle/src/com/badlogic/gdx/backends/angle/AngleInput.java
gdx/src/com/badlogic/gdx/Input.java
tests/gdx-tests-angle/src/com/badlogic/gdx/tests/angle/AngleDebugStarter.java
tests/gdx-tests-angle/src/com/badlogic/gdx/tests/angle/AngleTestStarter.java
tests/gdx-tests/src/com/badlogic/gdx/tests/InputTest.java

index fb2d6fa..b3f55a9 100644 (file)
@@ -418,6 +418,10 @@ public class JoglInput implements Input, MouseMotionListener, MouseListener, Mou
                if (keyCode == java.awt.event.KeyEvent.VK_SPACE) return Input.Keys.KEYCODE_SPACE;\r
                if (keyCode == java.awt.event.KeyEvent.VK_TAB) return Input.Keys.KEYCODE_TAB;\r
                if (keyCode == java.awt.event.KeyEvent.VK_BACK_SPACE) return Input.Keys.KEYCODE_DEL;\r
+               if (keyCode == java.awt.event.KeyEvent.VK_CONTROL) return Input.Keys.KEYCODE_CONTROL_LEFT;\r
+               if (keyCode == java.awt.event.KeyEvent.VK_ESCAPE) return Input.Keys.KEYCODE_ESCAPE;\r
+               if (keyCode == java.awt.event.KeyEvent.VK_END) return Input.Keys.KEYCODE_END;\r
+               if (keyCode == java.awt.event.KeyEvent.VK_INSERT) return Input.Keys.KEYCODE_INSERT;\r
 \r
                return Input.Keys.KEYCODE_UNKNOWN;\r
        }\r
index 42c319b..14a46de 100644 (file)
@@ -338,6 +338,16 @@ final class LwjglInput implements Input {
                        return Input.Keys.KEYCODE_SPACE;\r
                case Keyboard.KEY_TAB:\r
                        return Input.Keys.KEYCODE_TAB;\r
+               case Keyboard.KEY_LCONTROL:\r
+                       return Input.Keys.KEYCODE_CONTROL_LEFT;\r
+               case Keyboard.KEY_RCONTROL:\r
+                       return Input.Keys.KEYCODE_CONTROL_RIGHT;\r
+               case Keyboard.KEY_ESCAPE:\r
+                       return Input.Keys.KEYCODE_ESCAPE;\r
+               case Keyboard.KEY_END:\r
+                       return Input.Keys.KEYCODE_END;\r
+               case Keyboard.KEY_INSERT:\r
+                       return Input.Keys.KEYCODE_INSERT;\r
                default:\r
                        return Input.Keys.KEYCODE_UNKNOWN;\r
                }\r
index 0d241e7..c592431 100644 (file)
@@ -233,14 +233,16 @@ public class AngleInput implements Input {
                synchronized (this) {\r
                        KeyEvent event = usedKeyEvents.obtain();\r
                        event.keyChar = (char)uniCode;\r
-                       event.keyCode = translateKey(key);\r
+                       event.keyCode = toGdxKeyCode(key);\r
 \r
                        switch (action) {\r
                        case ESLoop.ES_KEY_DOWN:\r
                                event.type = KeyEvent.KEY_DOWN;\r
+                               pressedKeys.add(event.keyCode);\r
                                break;\r
                        case ESLoop.ES_KEY_UP:\r
                                event.type = KeyEvent.KEY_UP;\r
+                               pressedKeys.remove(event.keyCode);\r
                                break;\r
                        case ESLoop.ES_KEY_TYPED:\r
                                event.type = KeyEvent.KEY_TYPED;\r
@@ -308,8 +310,86 @@ public class AngleInput implements Input {
                }\r
        }\r
 \r
-       int translateKey (int keyCode) {\r
-               return keyCode;\r
+       int toGdxKeyCode (int keyCode) {\r
+               switch(keyCode) {\r
+               case 0x08: return Keys.KEYCODE_BACK;\r
+               case 0x09: return Keys.KEYCODE_TAB;\r
+               case 0x0d: return Keys.KEYCODE_ENTER;\r
+               case 0x10: return Keys.KEYCODE_SHIFT_LEFT;\r
+               case 0x11: return Keys.KEYCODE_CONTROL_LEFT;\r
+               case 0x12: return Keys.KEYCODE_ALT_LEFT;\r
+//             case 0x13: return Keys.KEYCODE_PAUSE;\r
+//             case 0x14: return Keys.KEYCODE_CAPS;\r
+               case 0x18: return Keys.KEYCODE_ESCAPE;\r
+               case 0x20: return Keys.KEYCODE_SPACE;\r
+               case 0x23: return Keys.KEYCODE_END;\r
+               case 0x24: return Keys.KEYCODE_HOME;\r
+               case 0x25: return Keys.KEYCODE_DPAD_LEFT;\r
+               case 0x26: return Keys.KEYCODE_DPAD_UP;\r
+               case 0x27: return Keys.KEYCODE_DPAD_RIGHT;\r
+               case 0x28: return Keys.KEYCODE_DPAD_DOWN;\r
+               case 0x2d: return Keys.KEYCODE_INSERT;\r
+               case 0x2e: return Keys.KEYCODE_DEL;\r
+               case 0x30: return Keys.KEYCODE_0;\r
+               case 0x31: return Keys.KEYCODE_1;\r
+               case 0x32: return Keys.KEYCODE_2;\r
+               case 0x33: return Keys.KEYCODE_3;\r
+               case 0x34: return Keys.KEYCODE_4;\r
+               case 0x35: return Keys.KEYCODE_5;\r
+               case 0x36: return Keys.KEYCODE_6;\r
+               case 0x37: return Keys.KEYCODE_7;\r
+               case 0x38: return Keys.KEYCODE_8;\r
+               case 0x39: return Keys.KEYCODE_9;\r
+               case 0x41: return Keys.KEYCODE_A;\r
+               case 0x42: return Keys.KEYCODE_B;\r
+               case 0x43: return Keys.KEYCODE_C;\r
+               case 0x44: return Keys.KEYCODE_D;\r
+               case 0x45: return Keys.KEYCODE_E;\r
+               case 0x46: return Keys.KEYCODE_F;\r
+               case 0x47: return Keys.KEYCODE_G;\r
+               case 0x48: return Keys.KEYCODE_H;\r
+               case 0x49: return Keys.KEYCODE_I;\r
+               case 0x4a: return Keys.KEYCODE_J;\r
+               case 0x4b: return Keys.KEYCODE_K;\r
+               case 0x4c: return Keys.KEYCODE_L;\r
+               case 0x4d: return Keys.KEYCODE_M;\r
+               case 0x4e: return Keys.KEYCODE_N;\r
+               case 0x4f: return Keys.KEYCODE_O;\r
+               case 0x50: return Keys.KEYCODE_P;\r
+               case 0x51: return Keys.KEYCODE_Q;\r
+               case 0x52: return Keys.KEYCODE_R;\r
+               case 0x53: return Keys.KEYCODE_S;\r
+               case 0x54: return Keys.KEYCODE_T;\r
+               case 0x55: return Keys.KEYCODE_U;\r
+               case 0x56: return Keys.KEYCODE_V;\r
+               case 0x57: return Keys.KEYCODE_W;\r
+               case 0x58: return Keys.KEYCODE_X;\r
+               case 0x59: return Keys.KEYCODE_Y;\r
+               case 0x5a: return Keys.KEYCODE_Z;       \r
+               case 0x60: return Keys.KEYCODE_0;               \r
+               case 0x61: return Keys.KEYCODE_1;\r
+               case 0x62: return Keys.KEYCODE_2;\r
+               case 0x63: return Keys.KEYCODE_3;\r
+               case 0x64: return Keys.KEYCODE_4;\r
+               case 0x65: return Keys.KEYCODE_5;\r
+               case 0x66: return Keys.KEYCODE_6;\r
+               case 0x67: return Keys.KEYCODE_7;\r
+               case 0x68: return Keys.KEYCODE_8;\r
+               case 0x69: return Keys.KEYCODE_9;               \r
+               case 0x6a: return Keys.KEYCODE_STAR;\r
+               case 0x6b: return Keys.KEYCODE_PLUS;\r
+               case 0x6d: return Keys.KEYCODE_MINUS;\r
+               case 0x6e: return Keys.KEYCODE_PERIOD;\r
+               case 0x6f: return Keys.KEYCODE_SLASH;\r
+               case 0xa0: return Keys.KEYCODE_SHIFT_LEFT;\r
+               case 0xa1: return Keys.KEYCODE_SHIFT_RIGHT;\r
+               case 0xa2: return Keys.KEYCODE_CONTROL_LEFT;\r
+               case 0xa3: return Keys.KEYCODE_CONTROL_RIGHT;\r
+               case 0xae: return Keys.KEYCODE_VOLUME_DOWN;\r
+               case 0xaf: return Keys.KEYCODE_VOLUME_UP;               \r
+                       default: \r
+                               return Keys.KEYCODE_UNKNOWN;\r
+               }               \r
        }\r
 \r
        @Override public boolean supportsVibrator () {\r
index 6a87654..b9038d1 100644 (file)
@@ -166,6 +166,11 @@ public interface Input {
                public static final int META_SHIFT_ON = 1;\r
                public static final int META_SHIFT_RIGHT_ON = 128;\r
                public static final int META_SYM_ON = 4;\r
+               public static final int KEYCODE_CONTROL_LEFT = 129;\r
+               public static final int KEYCODE_CONTROL_RIGHT = 130;\r
+               public static final int KEYCODE_ESCAPE = 131;\r
+               public static final int KEYCODE_END = 132;\r
+               public static final int KEYCODE_INSERT = 133;           \r
        }\r
 \r
        /**\r
index 981c92f..14d63c5 100644 (file)
@@ -17,6 +17,6 @@ import com.badlogic.gdx.backends.angle.AngleApplication;
 \r
 public class AngleDebugStarter {\r
        public static void main (String[] argv) {\r
-               new AngleApplication(new com.badlogic.gdx.tests.gles2.SimpleVertexShader(), "Angle Test", 480, 320, true);\r
+               new AngleApplication(new com.badlogic.gdx.tests.InputTest(), "Angle Test", 480, 320, false);\r
        }\r
 }\r
index 62d5222..f3c7f28 100644 (file)
@@ -42,7 +42,10 @@ public class AngleTestStarter {
 \r
                        for (String name : GdxTests.getNames()) {\r
                                GdxTest test = GdxTests.newTest(name);\r
-                               if (test != null && test.needsGL20()) tests.add(name);\r
+                               if (test != null && (test.needsGL20()||\r
+                                   name.contains("InputTest"))) { \r
+                                       tests.add(name);\r
+                               }\r
                        }\r
 \r
                        final JList list = new JList(tests.toArray());\r
index f0e7dc1..8f16ab3 100644 (file)
@@ -22,8 +22,8 @@ public class InputTest extends GdxTest implements InputProcessor {
 \r
        @Override public void create () {\r
                Gdx.input.setInputProcessor(this);\r
-       }\r
-\r
+       }       \r
+       \r
        @Override public void render () {\r
                if(Gdx.input.justTouched()) {\r
                        Gdx.app.log("Input Test", "just touched, button: " + (Gdx.input.isButtonPressed(Buttons.LEFT)?"left ":"")\r
@@ -31,9 +31,9 @@ public class InputTest extends GdxTest implements InputProcessor {
                                                                                                                                 + (Gdx.input.isButtonPressed(Buttons.RIGHT)?"right":""));\r
                }\r
                \r
-               if(Gdx.input.isTouched()) {\r
-                       Gdx.app.log("Input Test", "is touched");\r
-               }\r
+//             if(Gdx.input.isTouched()) {\r
+//                     Gdx.app.log("Input Test", "is touched");\r
+//             }               \r
        }\r
 \r
        @Override public boolean keyDown (int keycode) {\r