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
}\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