aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/android
diff options
context:
space:
mode:
authorCameron Cawley2019-04-12 21:39:07 +0100
committerCameron Cawley2019-04-12 21:39:07 +0100
commitd75a1355ba38831c89cff2a34ffa47c1cdcf572b (patch)
treec621abce13524b6b1320b16b01424b74b5210cf8 /backends/platform/android
parent00daee91124a18a71b6fa57ef2c709e162747674 (diff)
downloadscummvm-rg350-d75a1355ba38831c89cff2a34ffa47c1cdcf572b.tar.gz
scummvm-rg350-d75a1355ba38831c89cff2a34ffa47c1cdcf572b.tar.bz2
scummvm-rg350-d75a1355ba38831c89cff2a34ffa47c1cdcf572b.zip
ANDROID: Move event types to a separate file
Originally from ResidualVM.
Diffstat (limited to 'backends/platform/android')
-rw-r--r--backends/platform/android/events.cpp199
-rw-r--r--backends/platform/android/events.h224
2 files changed, 225 insertions, 198 deletions
diff --git a/backends/platform/android/events.cpp b/backends/platform/android/events.cpp
index d13d381f95..a9cc556b9a 100644
--- a/backends/platform/android/events.cpp
+++ b/backends/platform/android/events.cpp
@@ -39,207 +39,10 @@
// for the Android port
#define FORBIDDEN_SYMBOL_EXCEPTION_printf
-#include "common/events.h"
-
#include "backends/platform/android/android.h"
+#include "backends/platform/android/events.h"
#include "backends/platform/android/jni.h"
-// $ANDROID_NDK/platforms/android-9/arch-arm/usr/include/android/keycodes.h
-// http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=libs/ui/Input.cpp
-// http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/java/android/view/KeyEvent.java
-
-// event type
-enum {
- JE_SYS_KEY = 0,
- JE_KEY = 1,
- JE_DPAD = 2,
- JE_DOWN = 3,
- JE_SCROLL = 4,
- JE_TAP = 5,
- JE_DOUBLE_TAP = 6,
- JE_MULTI = 7,
- JE_BALL = 8,
- JE_LMB_DOWN = 9,
- JE_LMB_UP = 10,
- JE_RMB_DOWN = 11,
- JE_RMB_UP = 12,
- JE_MOUSE_MOVE = 13,
- JE_GAMEPAD = 14,
- JE_JOYSTICK = 15,
- JE_MMB_DOWN = 16,
- JE_MMB_UP = 17,
- JE_QUIT = 0x1000
-};
-
-// action type
-enum {
- JACTION_DOWN = 0,
- JACTION_UP = 1,
- JACTION_MULTIPLE = 2,
- JACTION_POINTER_DOWN = 5,
- JACTION_POINTER_UP = 6
-};
-
-// system keys
-enum {
- JKEYCODE_SOFT_RIGHT = 2,
- JKEYCODE_HOME = 3,
- JKEYCODE_BACK = 4,
- JKEYCODE_CALL = 5,
- JKEYCODE_ENDCALL = 6,
- JKEYCODE_VOLUME_UP = 24,
- JKEYCODE_VOLUME_DOWN = 25,
- JKEYCODE_POWER = 26,
- JKEYCODE_CAMERA = 27,
- JKEYCODE_HEADSETHOOK = 79,
- JKEYCODE_FOCUS = 80,
- JKEYCODE_MENU = 82,
- JKEYCODE_SEARCH = 84,
- JKEYCODE_MUTE = 91,
- JKEYCODE_MEDIA_PLAY_PAUSE = 85,
- JKEYCODE_MEDIA_STOP = 86,
- JKEYCODE_MEDIA_NEXT = 87,
- JKEYCODE_MEDIA_PREVIOUS = 88,
- JKEYCODE_MEDIA_REWIND = 89,
- JKEYCODE_MEDIA_FAST_FORWARD = 90,
- JKEYCODE_MEDIA_PLAY = 126,
- JKEYCODE_MEDIA_PAUSE = 127
-};
-
-// five-way navigation control
-enum {
- JKEYCODE_DPAD_UP = 19,
- JKEYCODE_DPAD_DOWN = 20,
- JKEYCODE_DPAD_LEFT = 21,
- JKEYCODE_DPAD_RIGHT = 22,
- JKEYCODE_DPAD_CENTER = 23
-};
-
-// gamepad
-enum {
- JKEYCODE_BUTTON_A = 96,
- JKEYCODE_BUTTON_B = 97,
- JKEYCODE_BUTTON_C = 98,
- JKEYCODE_BUTTON_X = 99,
- JKEYCODE_BUTTON_Y = 100,
- JKEYCODE_BUTTON_Z = 101,
- JKEYCODE_BUTTON_L1 = 102,
- JKEYCODE_BUTTON_R1 = 103,
- JKEYCODE_BUTTON_L2 = 104,
- JKEYCODE_BUTTON_R2 = 105,
- JKEYCODE_BUTTON_THUMBL = 106,
- JKEYCODE_BUTTON_THUMBR = 107,
- JKEYCODE_BUTTON_START = 108,
- JKEYCODE_BUTTON_SELECT = 109,
- JKEYCODE_BUTTON_MODE = 110,
-};
-
-// meta modifier
-enum {
- JMETA_SHIFT = 0x01,
- JMETA_ALT = 0x02,
- JMETA_SYM = 0x04,
- JMETA_CTRL = 0x1000
-};
-
-// map android key codes to our kbd codes
-static const Common::KeyCode jkeymap[] = {
- Common::KEYCODE_INVALID, // KEYCODE_UNKNOWN
- Common::KEYCODE_INVALID, // KEYCODE_SOFT_LEFT
- Common::KEYCODE_INVALID, // KEYCODE_SOFT_RIGHT
- Common::KEYCODE_INVALID, // KEYCODE_HOME
- Common::KEYCODE_INVALID, // KEYCODE_BACK
- Common::KEYCODE_INVALID, // KEYCODE_CALL
- Common::KEYCODE_INVALID, // KEYCODE_ENDCALL
- Common::KEYCODE_0, // KEYCODE_0
- Common::KEYCODE_1, // KEYCODE_1
- Common::KEYCODE_2, // KEYCODE_2
- Common::KEYCODE_3, // KEYCODE_3
- Common::KEYCODE_4, // KEYCODE_4
- Common::KEYCODE_5, // KEYCODE_5
- Common::KEYCODE_6, // KEYCODE_6
- Common::KEYCODE_7, // KEYCODE_7
- Common::KEYCODE_8, // KEYCODE_8
- Common::KEYCODE_9, // KEYCODE_9
- Common::KEYCODE_ASTERISK, // KEYCODE_STAR
- Common::KEYCODE_HASH, // KEYCODE_POUND
- Common::KEYCODE_INVALID, // KEYCODE_DPAD_UP
- Common::KEYCODE_INVALID, // KEYCODE_DPAD_DOWN
- Common::KEYCODE_INVALID, // KEYCODE_DPAD_LEFT
- Common::KEYCODE_INVALID, // KEYCODE_DPAD_RIGHT
- Common::KEYCODE_INVALID, // KEYCODE_DPAD_CENTER
- Common::KEYCODE_INVALID, // KEYCODE_VOLUME_UP
- Common::KEYCODE_INVALID, // KEYCODE_VOLUME_DOWN
- Common::KEYCODE_INVALID, // KEYCODE_POWER
- Common::KEYCODE_INVALID, // KEYCODE_CAMERA
- Common::KEYCODE_INVALID, // KEYCODE_CLEAR
- Common::KEYCODE_a, // KEYCODE_A
- Common::KEYCODE_b, // KEYCODE_B
- Common::KEYCODE_c, // KEYCODE_C
- Common::KEYCODE_d, // KEYCODE_D
- Common::KEYCODE_e, // KEYCODE_E
- Common::KEYCODE_f, // KEYCODE_F
- Common::KEYCODE_g, // KEYCODE_G
- Common::KEYCODE_h, // KEYCODE_H
- Common::KEYCODE_i, // KEYCODE_I
- Common::KEYCODE_j, // KEYCODE_J
- Common::KEYCODE_k, // KEYCODE_K
- Common::KEYCODE_l, // KEYCODE_L
- Common::KEYCODE_m, // KEYCODE_M
- Common::KEYCODE_n, // KEYCODE_N
- Common::KEYCODE_o, // KEYCODE_O
- Common::KEYCODE_p, // KEYCODE_P
- Common::KEYCODE_q, // KEYCODE_Q
- Common::KEYCODE_r, // KEYCODE_R
- Common::KEYCODE_s, // KEYCODE_S
- Common::KEYCODE_t, // KEYCODE_T
- Common::KEYCODE_u, // KEYCODE_U
- Common::KEYCODE_v, // KEYCODE_V
- Common::KEYCODE_w, // KEYCODE_W
- Common::KEYCODE_x, // KEYCODE_X
- Common::KEYCODE_y, // KEYCODE_Y
- Common::KEYCODE_z, // KEYCODE_Z
- Common::KEYCODE_COMMA, // KEYCODE_COMMA
- Common::KEYCODE_PERIOD, // KEYCODE_PERIOD
- Common::KEYCODE_LALT, // KEYCODE_ALT_LEFT
- Common::KEYCODE_RALT, // KEYCODE_ALT_RIGHT
- Common::KEYCODE_LSHIFT, // KEYCODE_SHIFT_LEFT
- Common::KEYCODE_RSHIFT, // KEYCODE_SHIFT_RIGHT
- Common::KEYCODE_TAB, // KEYCODE_TAB
- Common::KEYCODE_SPACE, // KEYCODE_SPACE
- Common::KEYCODE_LCTRL, // KEYCODE_SYM
- Common::KEYCODE_INVALID, // KEYCODE_EXPLORER
- Common::KEYCODE_INVALID, // KEYCODE_ENVELOPE
- Common::KEYCODE_RETURN, // KEYCODE_ENTER
- Common::KEYCODE_BACKSPACE, // KEYCODE_DEL
- Common::KEYCODE_BACKQUOTE, // KEYCODE_GRAVE
- Common::KEYCODE_MINUS, // KEYCODE_MINUS
- Common::KEYCODE_EQUALS, // KEYCODE_EQUALS
- Common::KEYCODE_LEFTPAREN, // KEYCODE_LEFT_BRACKET
- Common::KEYCODE_RIGHTPAREN, // KEYCODE_RIGHT_BRACKET
- Common::KEYCODE_BACKSLASH, // KEYCODE_BACKSLASH
- Common::KEYCODE_SEMICOLON, // KEYCODE_SEMICOLON
- Common::KEYCODE_QUOTE, // KEYCODE_APOSTROPHE
- Common::KEYCODE_SLASH, // KEYCODE_SLASH
- Common::KEYCODE_AT, // KEYCODE_AT
- Common::KEYCODE_INVALID, // KEYCODE_NUM
- Common::KEYCODE_INVALID, // KEYCODE_HEADSETHOOK
- Common::KEYCODE_INVALID, // KEYCODE_FOCUS
- Common::KEYCODE_PLUS, // KEYCODE_PLUS
- Common::KEYCODE_INVALID, // KEYCODE_MENU
- Common::KEYCODE_INVALID, // KEYCODE_NOTIFICATION
- Common::KEYCODE_INVALID, // KEYCODE_SEARCH
- Common::KEYCODE_INVALID, // KEYCODE_MEDIA_PLAY_PAUSE
- Common::KEYCODE_INVALID, // KEYCODE_MEDIA_STOP
- Common::KEYCODE_INVALID, // KEYCODE_MEDIA_NEXT
- Common::KEYCODE_INVALID, // KEYCODE_MEDIA_PREVIOUS
- Common::KEYCODE_INVALID, // KEYCODE_MEDIA_REWIND
- Common::KEYCODE_INVALID, // KEYCODE_MEDIA_FAST_FORWARD
- Common::KEYCODE_INVALID, // KEYCODE_MUTE
- Common::KEYCODE_PAGEUP, // KEYCODE_PAGE_UP
- Common::KEYCODE_PAGEDOWN // KEYCODE_PAGE_DOWN
-};
-
// floating point. use sparingly
template<class T>
static inline T scalef(T in, float numerator, float denominator) {
diff --git a/backends/platform/android/events.h b/backends/platform/android/events.h
new file mode 100644
index 0000000000..1b0713cab5
--- /dev/null
+++ b/backends/platform/android/events.h
@@ -0,0 +1,224 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef ANDROID_EVENTS_H
+#define ANDROID_EVENTS_H
+
+#include "common/events.h"
+
+// $ANDROID_NDK/platforms/android-9/arch-arm/usr/include/android/keycodes.h
+// http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=libs/ui/Input.cpp
+// http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/java/android/view/KeyEvent.java
+
+// event type
+enum {
+ JE_SYS_KEY = 0,
+ JE_KEY = 1,
+ JE_DPAD = 2,
+ JE_DOWN = 3,
+ JE_SCROLL = 4,
+ JE_TAP = 5,
+ JE_DOUBLE_TAP = 6,
+ JE_MULTI = 7,
+ JE_BALL = 8,
+ JE_LMB_DOWN = 9,
+ JE_LMB_UP = 10,
+ JE_RMB_DOWN = 11,
+ JE_RMB_UP = 12,
+ JE_MOUSE_MOVE = 13,
+ JE_GAMEPAD = 14,
+ JE_JOYSTICK = 15,
+ JE_MMB_DOWN = 16,
+ JE_MMB_UP = 17,
+ JE_QUIT = 0x1000
+};
+
+// action type
+enum {
+ JACTION_DOWN = 0,
+ JACTION_UP = 1,
+ JACTION_MULTIPLE = 2,
+ JACTION_POINTER_DOWN = 5,
+ JACTION_POINTER_UP = 6
+};
+
+// system keys
+enum {
+ JKEYCODE_SOFT_RIGHT = 2,
+ JKEYCODE_HOME = 3,
+ JKEYCODE_BACK = 4,
+ JKEYCODE_CALL = 5,
+ JKEYCODE_ENDCALL = 6,
+ JKEYCODE_VOLUME_UP = 24,
+ JKEYCODE_VOLUME_DOWN = 25,
+ JKEYCODE_POWER = 26,
+ JKEYCODE_CAMERA = 27,
+ JKEYCODE_HEADSETHOOK = 79,
+ JKEYCODE_FOCUS = 80,
+ JKEYCODE_MENU = 82,
+ JKEYCODE_SEARCH = 84,
+ JKEYCODE_MUTE = 91,
+ JKEYCODE_MEDIA_PLAY_PAUSE = 85,
+ JKEYCODE_MEDIA_STOP = 86,
+ JKEYCODE_MEDIA_NEXT = 87,
+ JKEYCODE_MEDIA_PREVIOUS = 88,
+ JKEYCODE_MEDIA_REWIND = 89,
+ JKEYCODE_MEDIA_FAST_FORWARD = 90,
+ JKEYCODE_MEDIA_PLAY = 126,
+ JKEYCODE_MEDIA_PAUSE = 127
+};
+
+// five-way navigation control
+enum {
+ JKEYCODE_DPAD_UP = 19,
+ JKEYCODE_DPAD_DOWN = 20,
+ JKEYCODE_DPAD_LEFT = 21,
+ JKEYCODE_DPAD_RIGHT = 22,
+ JKEYCODE_DPAD_CENTER = 23
+};
+
+// gamepad
+enum {
+ JKEYCODE_BUTTON_A = 96,
+ JKEYCODE_BUTTON_B = 97,
+ JKEYCODE_BUTTON_C = 98,
+ JKEYCODE_BUTTON_X = 99,
+ JKEYCODE_BUTTON_Y = 100,
+ JKEYCODE_BUTTON_Z = 101,
+ JKEYCODE_BUTTON_L1 = 102,
+ JKEYCODE_BUTTON_R1 = 103,
+ JKEYCODE_BUTTON_L2 = 104,
+ JKEYCODE_BUTTON_R2 = 105,
+ JKEYCODE_BUTTON_THUMBL = 106,
+ JKEYCODE_BUTTON_THUMBR = 107,
+ JKEYCODE_BUTTON_START = 108,
+ JKEYCODE_BUTTON_SELECT = 109,
+ JKEYCODE_BUTTON_MODE = 110,
+};
+
+// meta modifier
+enum {
+ JMETA_SHIFT = 0x01,
+ JMETA_ALT = 0x02,
+ JMETA_SYM = 0x04,
+ JMETA_CTRL = 0x1000
+};
+
+// map android key codes to our kbd codes
+static const Common::KeyCode jkeymap[] = {
+ Common::KEYCODE_INVALID, // KEYCODE_UNKNOWN
+ Common::KEYCODE_INVALID, // KEYCODE_SOFT_LEFT
+ Common::KEYCODE_INVALID, // KEYCODE_SOFT_RIGHT
+ Common::KEYCODE_INVALID, // KEYCODE_HOME
+ Common::KEYCODE_INVALID, // KEYCODE_BACK
+ Common::KEYCODE_INVALID, // KEYCODE_CALL
+ Common::KEYCODE_INVALID, // KEYCODE_ENDCALL
+ Common::KEYCODE_0, // KEYCODE_0
+ Common::KEYCODE_1, // KEYCODE_1
+ Common::KEYCODE_2, // KEYCODE_2
+ Common::KEYCODE_3, // KEYCODE_3
+ Common::KEYCODE_4, // KEYCODE_4
+ Common::KEYCODE_5, // KEYCODE_5
+ Common::KEYCODE_6, // KEYCODE_6
+ Common::KEYCODE_7, // KEYCODE_7
+ Common::KEYCODE_8, // KEYCODE_8
+ Common::KEYCODE_9, // KEYCODE_9
+ Common::KEYCODE_ASTERISK, // KEYCODE_STAR
+ Common::KEYCODE_HASH, // KEYCODE_POUND
+ Common::KEYCODE_INVALID, // KEYCODE_DPAD_UP
+ Common::KEYCODE_INVALID, // KEYCODE_DPAD_DOWN
+ Common::KEYCODE_INVALID, // KEYCODE_DPAD_LEFT
+ Common::KEYCODE_INVALID, // KEYCODE_DPAD_RIGHT
+ Common::KEYCODE_INVALID, // KEYCODE_DPAD_CENTER
+ Common::KEYCODE_INVALID, // KEYCODE_VOLUME_UP
+ Common::KEYCODE_INVALID, // KEYCODE_VOLUME_DOWN
+ Common::KEYCODE_INVALID, // KEYCODE_POWER
+ Common::KEYCODE_INVALID, // KEYCODE_CAMERA
+ Common::KEYCODE_INVALID, // KEYCODE_CLEAR
+ Common::KEYCODE_a, // KEYCODE_A
+ Common::KEYCODE_b, // KEYCODE_B
+ Common::KEYCODE_c, // KEYCODE_C
+ Common::KEYCODE_d, // KEYCODE_D
+ Common::KEYCODE_e, // KEYCODE_E
+ Common::KEYCODE_f, // KEYCODE_F
+ Common::KEYCODE_g, // KEYCODE_G
+ Common::KEYCODE_h, // KEYCODE_H
+ Common::KEYCODE_i, // KEYCODE_I
+ Common::KEYCODE_j, // KEYCODE_J
+ Common::KEYCODE_k, // KEYCODE_K
+ Common::KEYCODE_l, // KEYCODE_L
+ Common::KEYCODE_m, // KEYCODE_M
+ Common::KEYCODE_n, // KEYCODE_N
+ Common::KEYCODE_o, // KEYCODE_O
+ Common::KEYCODE_p, // KEYCODE_P
+ Common::KEYCODE_q, // KEYCODE_Q
+ Common::KEYCODE_r, // KEYCODE_R
+ Common::KEYCODE_s, // KEYCODE_S
+ Common::KEYCODE_t, // KEYCODE_T
+ Common::KEYCODE_u, // KEYCODE_U
+ Common::KEYCODE_v, // KEYCODE_V
+ Common::KEYCODE_w, // KEYCODE_W
+ Common::KEYCODE_x, // KEYCODE_X
+ Common::KEYCODE_y, // KEYCODE_Y
+ Common::KEYCODE_z, // KEYCODE_Z
+ Common::KEYCODE_COMMA, // KEYCODE_COMMA
+ Common::KEYCODE_PERIOD, // KEYCODE_PERIOD
+ Common::KEYCODE_LALT, // KEYCODE_ALT_LEFT
+ Common::KEYCODE_RALT, // KEYCODE_ALT_RIGHT
+ Common::KEYCODE_LSHIFT, // KEYCODE_SHIFT_LEFT
+ Common::KEYCODE_RSHIFT, // KEYCODE_SHIFT_RIGHT
+ Common::KEYCODE_TAB, // KEYCODE_TAB
+ Common::KEYCODE_SPACE, // KEYCODE_SPACE
+ Common::KEYCODE_LCTRL, // KEYCODE_SYM
+ Common::KEYCODE_INVALID, // KEYCODE_EXPLORER
+ Common::KEYCODE_INVALID, // KEYCODE_ENVELOPE
+ Common::KEYCODE_RETURN, // KEYCODE_ENTER
+ Common::KEYCODE_BACKSPACE, // KEYCODE_DEL
+ Common::KEYCODE_BACKQUOTE, // KEYCODE_GRAVE
+ Common::KEYCODE_MINUS, // KEYCODE_MINUS
+ Common::KEYCODE_EQUALS, // KEYCODE_EQUALS
+ Common::KEYCODE_LEFTPAREN, // KEYCODE_LEFT_BRACKET
+ Common::KEYCODE_RIGHTPAREN, // KEYCODE_RIGHT_BRACKET
+ Common::KEYCODE_BACKSLASH, // KEYCODE_BACKSLASH
+ Common::KEYCODE_SEMICOLON, // KEYCODE_SEMICOLON
+ Common::KEYCODE_QUOTE, // KEYCODE_APOSTROPHE
+ Common::KEYCODE_SLASH, // KEYCODE_SLASH
+ Common::KEYCODE_AT, // KEYCODE_AT
+ Common::KEYCODE_INVALID, // KEYCODE_NUM
+ Common::KEYCODE_INVALID, // KEYCODE_HEADSETHOOK
+ Common::KEYCODE_INVALID, // KEYCODE_FOCUS
+ Common::KEYCODE_PLUS, // KEYCODE_PLUS
+ Common::KEYCODE_INVALID, // KEYCODE_MENU
+ Common::KEYCODE_INVALID, // KEYCODE_NOTIFICATION
+ Common::KEYCODE_INVALID, // KEYCODE_SEARCH
+ Common::KEYCODE_INVALID, // KEYCODE_MEDIA_PLAY_PAUSE
+ Common::KEYCODE_INVALID, // KEYCODE_MEDIA_STOP
+ Common::KEYCODE_INVALID, // KEYCODE_MEDIA_NEXT
+ Common::KEYCODE_INVALID, // KEYCODE_MEDIA_PREVIOUS
+ Common::KEYCODE_INVALID, // KEYCODE_MEDIA_REWIND
+ Common::KEYCODE_INVALID, // KEYCODE_MEDIA_FAST_FORWARD
+ Common::KEYCODE_INVALID, // KEYCODE_MUTE
+ Common::KEYCODE_PAGEUP, // KEYCODE_PAGE_UP
+ Common::KEYCODE_PAGEDOWN // KEYCODE_PAGE_DOWN
+};
+
+#endif