diff options
author | Cameron Cawley | 2019-12-14 12:48:47 +0000 |
---|---|---|
committer | Antoniou Athanasios | 2019-12-14 14:48:47 +0200 |
commit | d584df6a0e0b56e5cdd29ad8f3a57f7e7d4d69df (patch) | |
tree | f38468ba7986011183cb3cf0668b762cecf68012 /backends/platform/android/org | |
parent | 9a2371ddfbe061cd75fe6a174c52319b7bab362f (diff) | |
download | scummvm-rg350-d584df6a0e0b56e5cdd29ad8f3a57f7e7d4d69df.tar.gz scummvm-rg350-d584df6a0e0b56e5cdd29ad8f3a57f7e7d4d69df.tar.bz2 scummvm-rg350-d584df6a0e0b56e5cdd29ad8f3a57f7e7d4d69df.zip |
ANDROID: Improve keyboard support (#1857)
Diffstat (limited to 'backends/platform/android/org')
-rw-r--r-- | backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java index 67609e0026..4baadba54d 100644 --- a/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java +++ b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java @@ -178,16 +178,19 @@ public class ScummVMEvents implements return true; } + int type; switch (keyCode) { case KeyEvent.KEYCODE_DPAD_UP: case KeyEvent.KEYCODE_DPAD_DOWN: case KeyEvent.KEYCODE_DPAD_LEFT: case KeyEvent.KEYCODE_DPAD_RIGHT: case KeyEvent.KEYCODE_DPAD_CENTER: - _scummvm.pushEvent(JE_DPAD, action, keyCode, - (int)(e.getEventTime() - e.getDownTime()), - e.getRepeatCount(), 0, 0); - return true; + if (e.getSource() == InputDevice.SOURCE_DPAD) { + type = JE_DPAD; + } else { + type = JE_KEY; + } + break; case KeyEvent.KEYCODE_BUTTON_A: case KeyEvent.KEYCODE_BUTTON_B: case KeyEvent.KEYCODE_BUTTON_C: @@ -203,15 +206,17 @@ public class ScummVMEvents implements case KeyEvent.KEYCODE_BUTTON_START: case KeyEvent.KEYCODE_BUTTON_SELECT: case KeyEvent.KEYCODE_BUTTON_MODE: - _scummvm.pushEvent(JE_GAMEPAD, action, keyCode, - (int)(e.getEventTime() - e.getDownTime()), - e.getRepeatCount(), 0, 0); - return true; + type = JE_GAMEPAD; + break; + default: + type = JE_KEY; + break; } - _scummvm.pushEvent(JE_KEY, action, keyCode, + _scummvm.pushEvent(type, action, keyCode, e.getUnicodeChar() & KeyCharacterMap.COMBINING_ACCENT_MASK, - e.getMetaState(), e.getRepeatCount(), 0); + e.getMetaState(), e.getRepeatCount(), + (int)(e.getEventTime() - e.getDownTime())); return true; } |