ANDROID: Move event types to a separate file

Originally from ResidualVM.
This commit is contained in:
Cameron Cawley 2019-04-12 21:39:07 +01:00
parent 00daee9112
commit d75a1355ba
2 changed files with 225 additions and 198 deletions

View File

@ -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) {

View File

@ -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