diff --git a/config.def.h b/config.def.h index bbc4c351e7..5d8caa6afe 100644 --- a/config.def.h +++ b/config.def.h @@ -28,8 +28,6 @@ #include "config.h" #endif -#include "input/keysym.h" - enum { VIDEO_GL = 0, @@ -313,86 +311,86 @@ static const float axis_threshold = 0.5; // Player 1 static const struct retro_keybind retro_keybinds_1[] = { // SNES button | keyboard key | js btn | js axis | - { true, RETRO_DEVICE_ID_JOYPAD_B, SK_z, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_Y, SK_a, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_SELECT, SK_RSHIFT, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_START, SK_RETURN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_UP, SK_UP, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_DOWN, SK_DOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_LEFT, SK_LEFT, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_RIGHT, SK_RIGHT, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_A, SK_x, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_X, SK_s, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_L, SK_q, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_R, SK_w, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_L2, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_R2, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_L3, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_R3, SK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_B, RETROK_z, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_Y, RETROK_a, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_SELECT, RETROK_RSHIFT, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_START, RETROK_RETURN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_UP, RETROK_UP, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_DOWN, RETROK_DOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_LEFT, RETROK_LEFT, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_RIGHT, RETROK_RIGHT, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_A, RETROK_x, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_X, RETROK_s, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_L, RETROK_q, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_R, RETROK_w, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_L2, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_R2, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_L3, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_R3, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_LEFT_X_PLUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_LEFT_X_MINUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_LEFT_Y_PLUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_LEFT_Y_MINUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_RIGHT_X_PLUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_RIGHT_X_MINUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_RIGHT_Y_PLUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_RIGHT_Y_MINUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_LEFT_X_PLUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_LEFT_X_MINUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_LEFT_Y_PLUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_LEFT_Y_MINUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_RIGHT_X_PLUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_RIGHT_X_MINUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_RIGHT_Y_PLUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_RIGHT_Y_MINUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_FAST_FORWARD_KEY, SK_SPACE, NO_BTN, AXIS_NONE }, - { true, RARCH_FAST_FORWARD_HOLD_KEY, SK_l, NO_BTN, AXIS_NONE }, - { true, RARCH_LOAD_STATE_KEY, SK_F4, NO_BTN, AXIS_NONE }, - { true, RARCH_SAVE_STATE_KEY, SK_F2, NO_BTN, AXIS_NONE }, - { true, RARCH_FULLSCREEN_TOGGLE_KEY, SK_f, NO_BTN, AXIS_NONE }, - { true, RARCH_QUIT_KEY, SK_ESCAPE, NO_BTN, AXIS_NONE }, - { true, RARCH_STATE_SLOT_PLUS, SK_F7, NO_BTN, AXIS_NONE }, - { true, RARCH_STATE_SLOT_MINUS, SK_F6, NO_BTN, AXIS_NONE }, - { true, RARCH_AUDIO_INPUT_RATE_PLUS, SK_KP_PLUS, NO_BTN, AXIS_NONE }, - { true, RARCH_AUDIO_INPUT_RATE_MINUS, SK_KP_MINUS, NO_BTN, AXIS_NONE }, - { true, RARCH_REWIND, SK_r, NO_BTN, AXIS_NONE }, - { true, RARCH_MOVIE_RECORD_TOGGLE, SK_o, NO_BTN, AXIS_NONE }, - { true, RARCH_PAUSE_TOGGLE, SK_p, NO_BTN, AXIS_NONE }, - { true, RARCH_FRAMEADVANCE, SK_k, NO_BTN, AXIS_NONE }, - { true, RARCH_RESET, SK_h, NO_BTN, AXIS_NONE }, - { true, RARCH_SHADER_NEXT, SK_m, NO_BTN, AXIS_NONE }, - { true, RARCH_SHADER_PREV, SK_n, NO_BTN, AXIS_NONE }, - { true, RARCH_CHEAT_INDEX_PLUS, SK_y, NO_BTN, AXIS_NONE }, - { true, RARCH_CHEAT_INDEX_MINUS, SK_t, NO_BTN, AXIS_NONE }, - { true, RARCH_CHEAT_TOGGLE, SK_u, NO_BTN, AXIS_NONE }, - { true, RARCH_SCREENSHOT, SK_F8, NO_BTN, AXIS_NONE }, - { true, RARCH_DSP_CONFIG, SK_c, NO_BTN, AXIS_NONE }, - { true, RARCH_MUTE, SK_F9, NO_BTN, AXIS_NONE }, - { true, RARCH_NETPLAY_FLIP, SK_i, NO_BTN, AXIS_NONE }, - { true, RARCH_SLOWMOTION, SK_e, NO_BTN, AXIS_NONE }, + { true, RARCH_FAST_FORWARD_KEY, RETROK_SPACE, NO_BTN, AXIS_NONE }, + { true, RARCH_FAST_FORWARD_HOLD_KEY, RETROK_l, NO_BTN, AXIS_NONE }, + { true, RARCH_LOAD_STATE_KEY, RETROK_F4, NO_BTN, AXIS_NONE }, + { true, RARCH_SAVE_STATE_KEY, RETROK_F2, NO_BTN, AXIS_NONE }, + { true, RARCH_FULLSCREEN_TOGGLE_KEY, RETROK_f, NO_BTN, AXIS_NONE }, + { true, RARCH_QUIT_KEY, RETROK_ESCAPE, NO_BTN, AXIS_NONE }, + { true, RARCH_STATE_SLOT_PLUS, RETROK_F7, NO_BTN, AXIS_NONE }, + { true, RARCH_STATE_SLOT_MINUS, RETROK_F6, NO_BTN, AXIS_NONE }, + { true, RARCH_AUDIO_INPUT_RATE_PLUS, RETROK_KP_PLUS, NO_BTN, AXIS_NONE }, + { true, RARCH_AUDIO_INPUT_RATE_MINUS, RETROK_KP_MINUS, NO_BTN, AXIS_NONE }, + { true, RARCH_REWIND, RETROK_r, NO_BTN, AXIS_NONE }, + { true, RARCH_MOVIE_RECORD_TOGGLE, RETROK_o, NO_BTN, AXIS_NONE }, + { true, RARCH_PAUSE_TOGGLE, RETROK_p, NO_BTN, AXIS_NONE }, + { true, RARCH_FRAMEADVANCE, RETROK_k, NO_BTN, AXIS_NONE }, + { true, RARCH_RESET, RETROK_h, NO_BTN, AXIS_NONE }, + { true, RARCH_SHADER_NEXT, RETROK_m, NO_BTN, AXIS_NONE }, + { true, RARCH_SHADER_PREV, RETROK_n, NO_BTN, AXIS_NONE }, + { true, RARCH_CHEAT_INDEX_PLUS, RETROK_y, NO_BTN, AXIS_NONE }, + { true, RARCH_CHEAT_INDEX_MINUS, RETROK_t, NO_BTN, AXIS_NONE }, + { true, RARCH_CHEAT_TOGGLE, RETROK_u, NO_BTN, AXIS_NONE }, + { true, RARCH_SCREENSHOT, RETROK_F8, NO_BTN, AXIS_NONE }, + { true, RARCH_DSP_CONFIG, RETROK_c, NO_BTN, AXIS_NONE }, + { true, RARCH_MUTE, RETROK_F9, NO_BTN, AXIS_NONE }, + { true, RARCH_NETPLAY_FLIP, RETROK_i, NO_BTN, AXIS_NONE }, + { true, RARCH_SLOWMOTION, RETROK_e, NO_BTN, AXIS_NONE }, }; // Player 2-5 static const struct retro_keybind retro_keybinds_rest[] = { - { true, RETRO_DEVICE_ID_JOYPAD_B, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_Y, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_SELECT, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_START, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_UP, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_DOWN, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_LEFT, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_RIGHT, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_A, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_X, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_L, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_R, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_L2, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_R2, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_L3, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RETRO_DEVICE_ID_JOYPAD_R3, SK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_B, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_Y, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_SELECT, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_START, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_UP, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_DOWN, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_LEFT, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_RIGHT, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_A, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_X, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_L, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_R, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_L2, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_R2, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_L3, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RETRO_DEVICE_ID_JOYPAD_R3, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_LEFT_X_PLUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_LEFT_X_MINUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_LEFT_Y_PLUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_LEFT_Y_MINUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_RIGHT_X_PLUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_RIGHT_X_MINUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_RIGHT_Y_PLUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, - { true, RARCH_ANALOG_RIGHT_Y_MINUS, SK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_LEFT_X_PLUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_LEFT_X_MINUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_LEFT_Y_PLUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_LEFT_Y_MINUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_RIGHT_X_PLUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_RIGHT_X_MINUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_RIGHT_Y_PLUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, + { true, RARCH_ANALOG_RIGHT_Y_MINUS, RETROK_UNKNOWN, NO_BTN, AXIS_NONE }, }; #endif diff --git a/driver.h b/driver.h index b5deccd1cc..917f25623e 100644 --- a/driver.h +++ b/driver.h @@ -19,10 +19,10 @@ #include #include "boolean.h" +#include "libretro.h" #include #include #include "msvc/msvc_compat.h" -#include "input/keysym.h" #ifdef HAVE_CONFIG_H #include "config.h" @@ -96,7 +96,7 @@ struct retro_keybind { bool valid; int id; - enum rarch_key key; + enum retro_key key; // PC only uses lower 16-bits. // Full 64-bit can be used for port-specific purposes, like simplifying multiple binds, etc. diff --git a/gfx/ext/rarch_video.h b/gfx/ext/rarch_video.h index d56d0ba000..9f8f2a269c 100644 --- a/gfx/ext/rarch_video.h +++ b/gfx/ext/rarch_video.h @@ -183,7 +183,7 @@ struct rarch_keybind // Keyboard key. The key values use the SDL 1.2 keysyms, // which probably need to be transformed to the native format. - // The actual keysyms RetroArch uses are found in input/keysym.h. + // The actual keysyms RetroArch uses are found in libretro.h. unsigned short key; // Joypad key. Joypad POV (hats) are embedded into this key as well. diff --git a/input/keysym.h b/input/keysym.h deleted file mode 100644 index 68e232bf2e..0000000000 --- a/input/keysym.h +++ /dev/null @@ -1,171 +0,0 @@ -/* RetroArch - A frontend for libretro. - * Copyright (C) 2010-2012 - Hans-Kristian Arntzen - * - * RetroArch 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 Found- - * ation, either version 3 of the License, or (at your option) any later version. - * - * RetroArch 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 RetroArch. - * If not, see . - */ - -#ifndef __RARCH_KEYSYM_H -#define __RARCH_KEYSYM_H - -// Global keysym table for SSNES. -// As you may have noticed, it's the same as SDL 1.2 since I'm lazy. - -enum rarch_key -{ - SK_UNKNOWN = 0, - SK_FIRST = 0, - SK_BACKSPACE = 8, - SK_TAB = 9, - SK_CLEAR = 12, - SK_RETURN = 13, - SK_PAUSE = 19, - SK_ESCAPE = 27, - SK_SPACE = 32, - SK_EXCLAIM = 33, - SK_QUOTEDBL = 34, - SK_HASH = 35, - SK_DOLLAR = 36, - SK_AMPERSAND = 38, - SK_QUOTE = 39, - SK_LEFTPAREN = 40, - SK_RIGHTPAREN = 41, - SK_ASTERISK = 42, - SK_PLUS = 43, - SK_COMMA = 44, - SK_MINUS = 45, - SK_PERIOD = 46, - SK_SLASH = 47, - SK_0 = 48, - SK_1 = 49, - SK_2 = 50, - SK_3 = 51, - SK_4 = 52, - SK_5 = 53, - SK_6 = 54, - SK_7 = 55, - SK_8 = 56, - SK_9 = 57, - SK_COLON = 58, - SK_SEMICOLON = 59, - SK_LESS = 60, - SK_EQUALS = 61, - SK_GREATER = 62, - SK_QUESTION = 63, - SK_AT = 64, - SK_LEFTBRACKET = 91, - SK_BACKSLASH = 92, - SK_RIGHTBRACKET = 93, - SK_CARET = 94, - SK_UNDERSCORE = 95, - SK_BACKQUOTE = 96, - SK_a = 97, - SK_b = 98, - SK_c = 99, - SK_d = 100, - SK_e = 101, - SK_f = 102, - SK_g = 103, - SK_h = 104, - SK_i = 105, - SK_j = 106, - SK_k = 107, - SK_l = 108, - SK_m = 109, - SK_n = 110, - SK_o = 111, - SK_p = 112, - SK_q = 113, - SK_r = 114, - SK_s = 115, - SK_t = 116, - SK_u = 117, - SK_v = 118, - SK_w = 119, - SK_x = 120, - SK_y = 121, - SK_z = 122, - SK_DELETE = 127, - - SK_KP0 = 256, - SK_KP1 = 257, - SK_KP2 = 258, - SK_KP3 = 259, - SK_KP4 = 260, - SK_KP5 = 261, - SK_KP6 = 262, - SK_KP7 = 263, - SK_KP8 = 264, - SK_KP9 = 265, - SK_KP_PERIOD = 266, - SK_KP_DIVIDE = 267, - SK_KP_MULTIPLY = 268, - SK_KP_MINUS = 269, - SK_KP_PLUS = 270, - SK_KP_ENTER = 271, - SK_KP_EQUALS = 272, - - SK_UP = 273, - SK_DOWN = 274, - SK_RIGHT = 275, - SK_LEFT = 276, - SK_INSERT = 277, - SK_HOME = 278, - SK_END = 279, - SK_PAGEUP = 280, - SK_PAGEDOWN = 281, - - SK_F1 = 282, - SK_F2 = 283, - SK_F3 = 284, - SK_F4 = 285, - SK_F5 = 286, - SK_F6 = 287, - SK_F7 = 288, - SK_F8 = 289, - SK_F9 = 290, - SK_F10 = 291, - SK_F11 = 292, - SK_F12 = 293, - SK_F13 = 294, - SK_F14 = 295, - SK_F15 = 296, - - SK_NUMLOCK = 300, - SK_CAPSLOCK = 301, - SK_SCROLLOCK = 302, - SK_RSHIFT = 303, - SK_LSHIFT = 304, - SK_RCTRL = 305, - SK_LCTRL = 306, - SK_RALT = 307, - SK_LALT = 308, - SK_RMETA = 309, - SK_LMETA = 310, - SK_LSUPER = 311, - SK_RSUPER = 312, - SK_MODE = 313, - SK_COMPOSE = 314, - - SK_HELP = 315, - SK_PRINT = 316, - SK_SYSREQ = 317, - SK_BREAK = 318, - SK_MENU = 319, - SK_POWER = 320, - SK_EURO = 321, - SK_UNDO = 322, - - SK_LAST -}; - -#endif - diff --git a/input/linuxraw_input.c b/input/linuxraw_input.c index 52be4b9611..27ddb817d4 100644 --- a/input/linuxraw_input.c +++ b/input/linuxraw_input.c @@ -32,116 +32,116 @@ static struct termios oldTerm, newTerm; struct key_bind { uint8_t x; - enum rarch_key sk; + enum retro_key sk; }; -static unsigned keysym_lut[SK_LAST]; +static unsigned keysym_lut[RETROK_LAST]; static const struct key_bind lut_binds[] = { - { KEY_ESC, SK_ESCAPE }, - { KEY_1, SK_1 }, - { KEY_2, SK_2 }, - { KEY_3, SK_3}, - { KEY_4, SK_4 }, - { KEY_5, SK_5 }, - { KEY_6, SK_6 }, - { KEY_7, SK_7 }, - { KEY_8, SK_8 }, - { KEY_9, SK_9 }, - { KEY_0, SK_0 }, - { KEY_MINUS, SK_MINUS }, - { KEY_EQUAL, SK_EQUALS }, - { KEY_BACKSPACE, SK_BACKSPACE }, - { KEY_TAB, SK_TAB }, - { KEY_Q, SK_q }, - { KEY_W, SK_w }, - { KEY_E, SK_e }, - { KEY_R, SK_r }, - { KEY_T, SK_t }, - { KEY_Y, SK_y }, - { KEY_U, SK_u }, - { KEY_I, SK_i }, - { KEY_O, SK_o }, - { KEY_P, SK_p }, - { KEY_LEFTBRACE, SK_LEFTBRACKET }, - { KEY_RIGHTBRACE, SK_RIGHTBRACKET }, - { KEY_ENTER, SK_RETURN }, - { KEY_LEFTCTRL, SK_LCTRL }, - { KEY_A, SK_a }, - { KEY_S, SK_s }, - { KEY_D, SK_d }, - { KEY_F, SK_f }, - { KEY_G, SK_g }, - { KEY_H, SK_h }, - { KEY_J, SK_j }, - { KEY_K, SK_k }, - { KEY_L, SK_l }, - { KEY_SEMICOLON, SK_SEMICOLON }, - { KEY_APOSTROPHE, SK_QUOTE }, - { KEY_GRAVE, SK_BACKQUOTE }, - { KEY_LEFTSHIFT, SK_LSHIFT }, - { KEY_BACKSLASH, SK_BACKSLASH }, - { KEY_Z, SK_z }, - { KEY_X, SK_x }, - { KEY_C, SK_c }, - { KEY_V, SK_v }, - { KEY_B, SK_b }, - { KEY_N, SK_n }, - { KEY_M, SK_m }, - { KEY_COMMA, SK_COMMA }, - { KEY_DOT, SK_PERIOD }, - { KEY_SLASH, SK_SLASH }, - { KEY_RIGHTSHIFT, SK_RSHIFT }, - { KEY_KPASTERISK, SK_KP_MULTIPLY }, - { KEY_LEFTALT, SK_LALT }, - { KEY_SPACE, SK_SPACE }, - { KEY_CAPSLOCK, SK_CAPSLOCK }, - { KEY_F1, SK_F1 }, - { KEY_F2, SK_F2 }, - { KEY_F3, SK_F3 }, - { KEY_F4, SK_F4 }, - { KEY_F5, SK_F5 }, - { KEY_F6, SK_F6 }, - { KEY_F7, SK_F7 }, - { KEY_F8, SK_F8 }, - { KEY_F9, SK_F9 }, - { KEY_F10, SK_F10 }, - { KEY_NUMLOCK, SK_NUMLOCK }, - { KEY_SCROLLLOCK, SK_SCROLLOCK }, - { KEY_KP7, SK_KP7 }, - { KEY_KP8, SK_KP8 }, - { KEY_KP9, SK_KP9 }, - { KEY_KPMINUS, SK_KP_MINUS }, - { KEY_KP4, SK_KP4 }, - { KEY_KP5, SK_KP5 }, - { KEY_KP6, SK_KP6 }, - { KEY_KPPLUS, SK_KP_PLUS }, - { KEY_KP1, SK_KP1 }, - { KEY_KP2, SK_KP2 }, - { KEY_KP3, SK_KP3 }, - { KEY_KP0, SK_KP0 }, - { KEY_KPDOT, SK_KP_PERIOD }, + { KEY_ESC, RETROK_ESCAPE }, + { KEY_1, RETROK_1 }, + { KEY_2, RETROK_2 }, + { KEY_3, RETROK_3}, + { KEY_4, RETROK_4 }, + { KEY_5, RETROK_5 }, + { KEY_6, RETROK_6 }, + { KEY_7, RETROK_7 }, + { KEY_8, RETROK_8 }, + { KEY_9, RETROK_9 }, + { KEY_0, RETROK_0 }, + { KEY_MINUS, RETROK_MINUS }, + { KEY_EQUAL, RETROK_EQUALS }, + { KEY_BACKSPACE, RETROK_BACKSPACE }, + { KEY_TAB, RETROK_TAB }, + { KEY_Q, RETROK_q }, + { KEY_W, RETROK_w }, + { KEY_E, RETROK_e }, + { KEY_R, RETROK_r }, + { KEY_T, RETROK_t }, + { KEY_Y, RETROK_y }, + { KEY_U, RETROK_u }, + { KEY_I, RETROK_i }, + { KEY_O, RETROK_o }, + { KEY_P, RETROK_p }, + { KEY_LEFTBRACE, RETROK_LEFTBRACKET }, + { KEY_RIGHTBRACE, RETROK_RIGHTBRACKET }, + { KEY_ENTER, RETROK_RETURN }, + { KEY_LEFTCTRL, RETROK_LCTRL }, + { KEY_A, RETROK_a }, + { KEY_S, RETROK_s }, + { KEY_D, RETROK_d }, + { KEY_F, RETROK_f }, + { KEY_G, RETROK_g }, + { KEY_H, RETROK_h }, + { KEY_J, RETROK_j }, + { KEY_K, RETROK_k }, + { KEY_L, RETROK_l }, + { KEY_SEMICOLON, RETROK_SEMICOLON }, + { KEY_APOSTROPHE, RETROK_QUOTE }, + { KEY_GRAVE, RETROK_BACKQUOTE }, + { KEY_LEFTSHIFT, RETROK_LSHIFT }, + { KEY_BACKSLASH, RETROK_BACKSLASH }, + { KEY_Z, RETROK_z }, + { KEY_X, RETROK_x }, + { KEY_C, RETROK_c }, + { KEY_V, RETROK_v }, + { KEY_B, RETROK_b }, + { KEY_N, RETROK_n }, + { KEY_M, RETROK_m }, + { KEY_COMMA, RETROK_COMMA }, + { KEY_DOT, RETROK_PERIOD }, + { KEY_SLASH, RETROK_SLASH }, + { KEY_RIGHTSHIFT, RETROK_RSHIFT }, + { KEY_KPASTERISK, RETROK_KP_MULTIPLY }, + { KEY_LEFTALT, RETROK_LALT }, + { KEY_SPACE, RETROK_SPACE }, + { KEY_CAPSLOCK, RETROK_CAPSLOCK }, + { KEY_F1, RETROK_F1 }, + { KEY_F2, RETROK_F2 }, + { KEY_F3, RETROK_F3 }, + { KEY_F4, RETROK_F4 }, + { KEY_F5, RETROK_F5 }, + { KEY_F6, RETROK_F6 }, + { KEY_F7, RETROK_F7 }, + { KEY_F8, RETROK_F8 }, + { KEY_F9, RETROK_F9 }, + { KEY_F10, RETROK_F10 }, + { KEY_NUMLOCK, RETROK_NUMLOCK }, + { KEY_SCROLLLOCK, RETROK_SCROLLOCK }, + { KEY_KP7, RETROK_KP7 }, + { KEY_KP8, RETROK_KP8 }, + { KEY_KP9, RETROK_KP9 }, + { KEY_KPMINUS, RETROK_KP_MINUS }, + { KEY_KP4, RETROK_KP4 }, + { KEY_KP5, RETROK_KP5 }, + { KEY_KP6, RETROK_KP6 }, + { KEY_KPPLUS, RETROK_KP_PLUS }, + { KEY_KP1, RETROK_KP1 }, + { KEY_KP2, RETROK_KP2 }, + { KEY_KP3, RETROK_KP3 }, + { KEY_KP0, RETROK_KP0 }, + { KEY_KPDOT, RETROK_KP_PERIOD }, - { KEY_F11, SK_F11 }, - { KEY_F12, SK_F12 }, + { KEY_F11, RETROK_F11 }, + { KEY_F12, RETROK_F12 }, - { KEY_KPENTER, SK_KP_ENTER }, - { KEY_RIGHTCTRL, SK_RCTRL }, - { KEY_KPSLASH, SK_KP_DIVIDE }, - { KEY_SYSRQ, SK_PRINT }, - { KEY_RIGHTALT, SK_RALT }, + { KEY_KPENTER, RETROK_KP_ENTER }, + { KEY_RIGHTCTRL, RETROK_RCTRL }, + { KEY_KPSLASH, RETROK_KP_DIVIDE }, + { KEY_SYSRQ, RETROK_PRINT }, + { KEY_RIGHTALT, RETROK_RALT }, - { KEY_HOME, SK_HOME }, - { KEY_UP, SK_UP }, - { KEY_PAGEUP, SK_PAGEUP }, - { KEY_LEFT, SK_LEFT }, - { KEY_RIGHT, SK_RIGHT }, - { KEY_END, SK_END }, - { KEY_DOWN, SK_DOWN }, - { KEY_PAGEDOWN, SK_PAGEDOWN }, - { KEY_INSERT, SK_INSERT }, - { KEY_DELETE, SK_DELETE }, + { KEY_HOME, RETROK_HOME }, + { KEY_UP, RETROK_UP }, + { KEY_PAGEUP, RETROK_PAGEUP }, + { KEY_LEFT, RETROK_LEFT }, + { KEY_RIGHT, RETROK_RIGHT }, + { KEY_END, RETROK_END }, + { KEY_DOWN, RETROK_DOWN }, + { KEY_PAGEDOWN, RETROK_PAGEDOWN }, + { KEY_INSERT, RETROK_INSERT }, + { KEY_DELETE, RETROK_DELETE }, - { KEY_PAUSE, SK_PAUSE }, + { KEY_PAUSE, RETROK_PAUSE }, }; static void init_lut(void) diff --git a/input/sdl_input.c b/input/sdl_input.c index 686f2db0db..299da4a223 100644 --- a/input/sdl_input.c +++ b/input/sdl_input.c @@ -22,100 +22,99 @@ #include #include "../libretro.h" #include "rarch_sdl_input.h" -#include "keysym.h" struct key_bind { unsigned sdl; - enum rarch_key sk; + enum retro_key sk; }; -static unsigned keysym_lut[SK_LAST]; +static unsigned keysym_lut[RETROK_LAST]; static const struct key_bind lut_binds[] = { - { SDLK_LEFT, SK_LEFT }, - { SDLK_RIGHT, SK_RIGHT }, - { SDLK_UP, SK_UP }, - { SDLK_DOWN, SK_DOWN }, - { SDLK_RETURN, SK_RETURN }, - { SDLK_TAB, SK_TAB }, - { SDLK_INSERT, SK_INSERT }, - { SDLK_DELETE, SK_DELETE }, - { SDLK_RSHIFT, SK_RSHIFT }, - { SDLK_LSHIFT, SK_LSHIFT }, - { SDLK_LCTRL, SK_LCTRL }, - { SDLK_END, SK_END }, - { SDLK_HOME, SK_HOME }, - { SDLK_PAGEDOWN, SK_PAGEDOWN }, - { SDLK_PAGEUP, SK_PAGEUP }, - { SDLK_LALT, SK_LALT }, - { SDLK_SPACE, SK_SPACE }, - { SDLK_ESCAPE, SK_ESCAPE }, - { SDLK_BACKSPACE, SK_BACKSPACE }, - { SDLK_KP_ENTER, SK_KP_ENTER }, - { SDLK_KP_PLUS, SK_KP_PLUS }, - { SDLK_KP_MINUS, SK_KP_MINUS }, - { SDLK_KP_MULTIPLY, SK_KP_MULTIPLY }, - { SDLK_KP_DIVIDE, SK_KP_DIVIDE }, - { SDLK_BACKQUOTE, SK_BACKQUOTE }, - { SDLK_PAUSE, SK_PAUSE }, - { SDLK_KP0, SK_KP0 }, - { SDLK_KP1, SK_KP1 }, - { SDLK_KP2, SK_KP2 }, - { SDLK_KP3, SK_KP3 }, - { SDLK_KP4, SK_KP4 }, - { SDLK_KP5, SK_KP5 }, - { SDLK_KP6, SK_KP6 }, - { SDLK_KP7, SK_KP7 }, - { SDLK_KP8, SK_KP8 }, - { SDLK_KP9, SK_KP9 }, - { SDLK_0, SK_0 }, - { SDLK_1, SK_1 }, - { SDLK_2, SK_2 }, - { SDLK_3, SK_3 }, - { SDLK_4, SK_4 }, - { SDLK_5, SK_5 }, - { SDLK_6, SK_6 }, - { SDLK_7, SK_7 }, - { SDLK_8, SK_8 }, - { SDLK_9, SK_9 }, - { SDLK_F1, SK_F1 }, - { SDLK_F2, SK_F2 }, - { SDLK_F3, SK_F3 }, - { SDLK_F4, SK_F4 }, - { SDLK_F5, SK_F5 }, - { SDLK_F6, SK_F6 }, - { SDLK_F7, SK_F7 }, - { SDLK_F8, SK_F8 }, - { SDLK_F9, SK_F9 }, - { SDLK_F10, SK_F10 }, - { SDLK_F11, SK_F11 }, - { SDLK_F12, SK_F12 }, - { SDLK_a, SK_a }, - { SDLK_b, SK_b }, - { SDLK_c, SK_c }, - { SDLK_d, SK_d }, - { SDLK_e, SK_e }, - { SDLK_f, SK_f }, - { SDLK_g, SK_g }, - { SDLK_h, SK_h }, - { SDLK_i, SK_i }, - { SDLK_j, SK_j }, - { SDLK_k, SK_k }, - { SDLK_l, SK_l }, - { SDLK_m, SK_m }, - { SDLK_n, SK_n }, - { SDLK_o, SK_o }, - { SDLK_p, SK_p }, - { SDLK_q, SK_q }, - { SDLK_r, SK_r }, - { SDLK_s, SK_s }, - { SDLK_t, SK_t }, - { SDLK_u, SK_u }, - { SDLK_v, SK_v }, - { SDLK_w, SK_w }, - { SDLK_x, SK_x }, - { SDLK_y, SK_y }, - { SDLK_z, SK_z }, + { SDLK_LEFT, RETROK_LEFT }, + { SDLK_RIGHT, RETROK_RIGHT }, + { SDLK_UP, RETROK_UP }, + { SDLK_DOWN, RETROK_DOWN }, + { SDLK_RETURN, RETROK_RETURN }, + { SDLK_TAB, RETROK_TAB }, + { SDLK_INSERT, RETROK_INSERT }, + { SDLK_DELETE, RETROK_DELETE }, + { SDLK_RSHIFT, RETROK_RSHIFT }, + { SDLK_LSHIFT, RETROK_LSHIFT }, + { SDLK_LCTRL, RETROK_LCTRL }, + { SDLK_END, RETROK_END }, + { SDLK_HOME, RETROK_HOME }, + { SDLK_PAGEDOWN, RETROK_PAGEDOWN }, + { SDLK_PAGEUP, RETROK_PAGEUP }, + { SDLK_LALT, RETROK_LALT }, + { SDLK_SPACE, RETROK_SPACE }, + { SDLK_ESCAPE, RETROK_ESCAPE }, + { SDLK_BACKSPACE, RETROK_BACKSPACE }, + { SDLK_KP_ENTER, RETROK_KP_ENTER }, + { SDLK_KP_PLUS, RETROK_KP_PLUS }, + { SDLK_KP_MINUS, RETROK_KP_MINUS }, + { SDLK_KP_MULTIPLY, RETROK_KP_MULTIPLY }, + { SDLK_KP_DIVIDE, RETROK_KP_DIVIDE }, + { SDLK_BACKQUOTE, RETROK_BACKQUOTE }, + { SDLK_PAUSE, RETROK_PAUSE }, + { SDLK_KP0, RETROK_KP0 }, + { SDLK_KP1, RETROK_KP1 }, + { SDLK_KP2, RETROK_KP2 }, + { SDLK_KP3, RETROK_KP3 }, + { SDLK_KP4, RETROK_KP4 }, + { SDLK_KP5, RETROK_KP5 }, + { SDLK_KP6, RETROK_KP6 }, + { SDLK_KP7, RETROK_KP7 }, + { SDLK_KP8, RETROK_KP8 }, + { SDLK_KP9, RETROK_KP9 }, + { SDLK_0, RETROK_0 }, + { SDLK_1, RETROK_1 }, + { SDLK_2, RETROK_2 }, + { SDLK_3, RETROK_3 }, + { SDLK_4, RETROK_4 }, + { SDLK_5, RETROK_5 }, + { SDLK_6, RETROK_6 }, + { SDLK_7, RETROK_7 }, + { SDLK_8, RETROK_8 }, + { SDLK_9, RETROK_9 }, + { SDLK_F1, RETROK_F1 }, + { SDLK_F2, RETROK_F2 }, + { SDLK_F3, RETROK_F3 }, + { SDLK_F4, RETROK_F4 }, + { SDLK_F5, RETROK_F5 }, + { SDLK_F6, RETROK_F6 }, + { SDLK_F7, RETROK_F7 }, + { SDLK_F8, RETROK_F8 }, + { SDLK_F9, RETROK_F9 }, + { SDLK_F10, RETROK_F10 }, + { SDLK_F11, RETROK_F11 }, + { SDLK_F12, RETROK_F12 }, + { SDLK_a, RETROK_a }, + { SDLK_b, RETROK_b }, + { SDLK_c, RETROK_c }, + { SDLK_d, RETROK_d }, + { SDLK_e, RETROK_e }, + { SDLK_f, RETROK_f }, + { SDLK_g, RETROK_g }, + { SDLK_h, RETROK_h }, + { SDLK_i, RETROK_i }, + { SDLK_j, RETROK_j }, + { SDLK_k, RETROK_k }, + { SDLK_l, RETROK_l }, + { SDLK_m, RETROK_m }, + { SDLK_n, RETROK_n }, + { SDLK_o, RETROK_o }, + { SDLK_p, RETROK_p }, + { SDLK_q, RETROK_q }, + { SDLK_r, RETROK_r }, + { SDLK_s, RETROK_s }, + { SDLK_t, RETROK_t }, + { SDLK_u, RETROK_u }, + { SDLK_v, RETROK_v }, + { SDLK_w, RETROK_w }, + { SDLK_x, RETROK_x }, + { SDLK_y, RETROK_y }, + { SDLK_z, RETROK_z }, }; static void init_lut(void) @@ -183,7 +182,7 @@ static void *sdl_input_init(void) static bool sdl_key_pressed(int key) { - return gfx_ctx_key_pressed(keysym_lut[key]); + return key < RETROK_LAST && gfx_ctx_key_pressed(keysym_lut[key]); } #ifndef HAVE_DINPUT @@ -365,6 +364,11 @@ static int16_t sdl_analog_device_state(sdl_input_t *sdl, const struct retro_keyb return digital_right + digital_left; } +static int16_t sdl_keyboard_device_state(sdl_input_t *sdl, unsigned id) +{ + return sdl->use_keyboard && sdl_key_pressed(id); +} + static int16_t sdl_mouse_device_state(sdl_input_t *sdl, unsigned id) { switch (id) @@ -416,6 +420,8 @@ static int16_t sdl_input_state(void *data_, const struct retro_keybind **binds, return sdl_analog_device_state(data, binds, port, index, id); case RETRO_DEVICE_MOUSE: return sdl_mouse_device_state(data, id); + case RETRO_DEVICE_KEYBOARD: + return sdl_keyboard_device_state(data, id); case RETRO_DEVICE_LIGHTGUN: return sdl_lightgun_device_state(data, id); diff --git a/input/x11_input.c b/input/x11_input.c index 2aeb8a5bb8..87ae4a4ef9 100644 --- a/input/x11_input.c +++ b/input/x11_input.c @@ -21,7 +21,6 @@ #include #include #include "rarch_sdl_input.h" -#include "keysym.h" #include #include @@ -37,95 +36,95 @@ typedef struct x11_input struct key_bind { unsigned x; - enum rarch_key sk; + enum retro_key sk; }; -static unsigned keysym_lut[SK_LAST]; +static unsigned keysym_lut[RETROK_LAST]; static const struct key_bind lut_binds[] = { - { XK_Left, SK_LEFT }, - { XK_Right, SK_RIGHT }, - { XK_Up, SK_UP }, - { XK_Down, SK_DOWN }, - { XK_Return, SK_RETURN }, - { XK_Tab, SK_TAB }, - { XK_Insert, SK_INSERT }, - { XK_Home, SK_HOME }, - { XK_End, SK_END }, - { XK_Page_Up, SK_PAGEUP }, - { XK_Page_Down, SK_PAGEDOWN }, - { XK_Delete, SK_DELETE }, - { XK_Shift_R, SK_RSHIFT }, - { XK_Shift_L, SK_LSHIFT }, - { XK_Control_L, SK_LCTRL }, - { XK_Alt_L, SK_LALT }, - { XK_space, SK_SPACE }, - { XK_Escape, SK_ESCAPE }, - { XK_BackSpace, SK_BACKSPACE }, - { XK_KP_Enter, SK_KP_ENTER }, - { XK_KP_Add, SK_KP_PLUS }, - { XK_KP_Subtract, SK_KP_MINUS }, - { XK_KP_Multiply, SK_KP_MULTIPLY }, - { XK_KP_Divide, SK_KP_DIVIDE }, - { XK_grave, SK_BACKQUOTE }, - { XK_Pause, SK_PAUSE }, - { XK_KP_0, SK_KP0 }, - { XK_KP_1, SK_KP1 }, - { XK_KP_2, SK_KP2 }, - { XK_KP_3, SK_KP3 }, - { XK_KP_4, SK_KP4 }, - { XK_KP_5, SK_KP5 }, - { XK_KP_6, SK_KP6 }, - { XK_KP_7, SK_KP7 }, - { XK_KP_8, SK_KP8 }, - { XK_KP_9, SK_KP9 }, - { XK_0, SK_0 }, - { XK_1, SK_1 }, - { XK_2, SK_2 }, - { XK_3, SK_3 }, - { XK_4, SK_4 }, - { XK_5, SK_5 }, - { XK_6, SK_6 }, - { XK_7, SK_7 }, - { XK_8, SK_8 }, - { XK_9, SK_9 }, - { XK_F1, SK_F1 }, - { XK_F2, SK_F2 }, - { XK_F3, SK_F3 }, - { XK_F4, SK_F4 }, - { XK_F5, SK_F5 }, - { XK_F6, SK_F6 }, - { XK_F7, SK_F7 }, - { XK_F8, SK_F8 }, - { XK_F9, SK_F9 }, - { XK_F10, SK_F10 }, - { XK_F11, SK_F11 }, - { XK_F12, SK_F12 }, - { XK_a, SK_a }, - { XK_b, SK_b }, - { XK_c, SK_c }, - { XK_d, SK_d }, - { XK_e, SK_e }, - { XK_f, SK_f }, - { XK_g, SK_g }, - { XK_h, SK_h }, - { XK_i, SK_i }, - { XK_j, SK_j }, - { XK_k, SK_k }, - { XK_l, SK_l }, - { XK_m, SK_m }, - { XK_n, SK_n }, - { XK_o, SK_o }, - { XK_p, SK_p }, - { XK_q, SK_q }, - { XK_r, SK_r }, - { XK_s, SK_s }, - { XK_t, SK_t }, - { XK_u, SK_u }, - { XK_v, SK_v }, - { XK_w, SK_w }, - { XK_x, SK_x }, - { XK_y, SK_y }, - { XK_z, SK_z }, + { XK_Left, RETROK_LEFT }, + { XK_Right, RETROK_RIGHT }, + { XK_Up, RETROK_UP }, + { XK_Down, RETROK_DOWN }, + { XK_Return, RETROK_RETURN }, + { XK_Tab, RETROK_TAB }, + { XK_Insert, RETROK_INSERT }, + { XK_Home, RETROK_HOME }, + { XK_End, RETROK_END }, + { XK_Page_Up, RETROK_PAGEUP }, + { XK_Page_Down, RETROK_PAGEDOWN }, + { XK_Delete, RETROK_DELETE }, + { XK_Shift_R, RETROK_RSHIFT }, + { XK_Shift_L, RETROK_LSHIFT }, + { XK_Control_L, RETROK_LCTRL }, + { XK_Alt_L, RETROK_LALT }, + { XK_space, RETROK_SPACE }, + { XK_Escape, RETROK_ESCAPE }, + { XK_BackSpace, RETROK_BACKSPACE }, + { XK_KP_Enter, RETROK_KP_ENTER }, + { XK_KP_Add, RETROK_KP_PLUS }, + { XK_KP_Subtract, RETROK_KP_MINUS }, + { XK_KP_Multiply, RETROK_KP_MULTIPLY }, + { XK_KP_Divide, RETROK_KP_DIVIDE }, + { XK_grave, RETROK_BACKQUOTE }, + { XK_Pause, RETROK_PAUSE }, + { XK_KP_0, RETROK_KP0 }, + { XK_KP_1, RETROK_KP1 }, + { XK_KP_2, RETROK_KP2 }, + { XK_KP_3, RETROK_KP3 }, + { XK_KP_4, RETROK_KP4 }, + { XK_KP_5, RETROK_KP5 }, + { XK_KP_6, RETROK_KP6 }, + { XK_KP_7, RETROK_KP7 }, + { XK_KP_8, RETROK_KP8 }, + { XK_KP_9, RETROK_KP9 }, + { XK_0, RETROK_0 }, + { XK_1, RETROK_1 }, + { XK_2, RETROK_2 }, + { XK_3, RETROK_3 }, + { XK_4, RETROK_4 }, + { XK_5, RETROK_5 }, + { XK_6, RETROK_6 }, + { XK_7, RETROK_7 }, + { XK_8, RETROK_8 }, + { XK_9, RETROK_9 }, + { XK_F1, RETROK_F1 }, + { XK_F2, RETROK_F2 }, + { XK_F3, RETROK_F3 }, + { XK_F4, RETROK_F4 }, + { XK_F5, RETROK_F5 }, + { XK_F6, RETROK_F6 }, + { XK_F7, RETROK_F7 }, + { XK_F8, RETROK_F8 }, + { XK_F9, RETROK_F9 }, + { XK_F10, RETROK_F10 }, + { XK_F11, RETROK_F11 }, + { XK_F12, RETROK_F12 }, + { XK_a, RETROK_a }, + { XK_b, RETROK_b }, + { XK_c, RETROK_c }, + { XK_d, RETROK_d }, + { XK_e, RETROK_e }, + { XK_f, RETROK_f }, + { XK_g, RETROK_g }, + { XK_h, RETROK_h }, + { XK_i, RETROK_i }, + { XK_j, RETROK_j }, + { XK_k, RETROK_k }, + { XK_l, RETROK_l }, + { XK_m, RETROK_m }, + { XK_n, RETROK_n }, + { XK_o, RETROK_o }, + { XK_p, RETROK_p }, + { XK_q, RETROK_q }, + { XK_r, RETROK_r }, + { XK_s, RETROK_s }, + { XK_t, RETROK_t }, + { XK_u, RETROK_u }, + { XK_v, RETROK_v }, + { XK_w, RETROK_w }, + { XK_x, RETROK_x }, + { XK_y, RETROK_y }, + { XK_z, RETROK_z }, }; static void init_lut(void) @@ -163,6 +162,9 @@ static void *x_input_init(void) static bool x_key_pressed(x11_input_t *x11, int key) { + if (key >= RETROK_LAST) + return false; + key = keysym_lut[key]; int keycode = XKeysymToKeycode(x11->display, key); bool ret = x11->state[keycode >> 3] & (1 << (keycode & 7)); @@ -197,6 +199,9 @@ static int16_t x_input_state(void *data, const struct retro_keybind **binds, uns return x_is_pressed(x11, binds[port], id) || input_sdl.input_state(x11->sdl, binds, port, device, index, id); + case RETRO_DEVICE_KEYBOARD: + return x_key_pressed(x11, id); + case RETRO_DEVICE_ANALOG: return input_sdl.input_state(x11->sdl, binds, port, device, index, id); diff --git a/libretro.h b/libretro.h index 8aa579e863..4ec83626b9 100755 --- a/libretro.h +++ b/libretro.h @@ -87,6 +87,153 @@ extern "C" { #define RETRO_GAME_TYPE_SUFAMI_TURBO 0x103 #define RETRO_GAME_TYPE_SUPER_GAME_BOY 0x104 +enum retro_key +{ + RETROK_UNKNOWN = 0, + RETROK_FIRST = 0, + RETROK_BACKSPACE = 8, + RETROK_TAB = 9, + RETROK_CLEAR = 12, + RETROK_RETURN = 13, + RETROK_PAUSE = 19, + RETROK_ESCAPE = 27, + RETROK_SPACE = 32, + RETROK_EXCLAIM = 33, + RETROK_QUOTEDBL = 34, + RETROK_HASH = 35, + RETROK_DOLLAR = 36, + RETROK_AMPERSAND = 38, + RETROK_QUOTE = 39, + RETROK_LEFTPAREN = 40, + RETROK_RIGHTPAREN = 41, + RETROK_ASTERISK = 42, + RETROK_PLUS = 43, + RETROK_COMMA = 44, + RETROK_MINUS = 45, + RETROK_PERIOD = 46, + RETROK_SLASH = 47, + RETROK_0 = 48, + RETROK_1 = 49, + RETROK_2 = 50, + RETROK_3 = 51, + RETROK_4 = 52, + RETROK_5 = 53, + RETROK_6 = 54, + RETROK_7 = 55, + RETROK_8 = 56, + RETROK_9 = 57, + RETROK_COLON = 58, + RETROK_SEMICOLON = 59, + RETROK_LESS = 60, + RETROK_EQUALS = 61, + RETROK_GREATER = 62, + RETROK_QUESTION = 63, + RETROK_AT = 64, + RETROK_LEFTBRACKET = 91, + RETROK_BACKSLASH = 92, + RETROK_RIGHTBRACKET = 93, + RETROK_CARET = 94, + RETROK_UNDERSCORE = 95, + RETROK_BACKQUOTE = 96, + RETROK_a = 97, + RETROK_b = 98, + RETROK_c = 99, + RETROK_d = 100, + RETROK_e = 101, + RETROK_f = 102, + RETROK_g = 103, + RETROK_h = 104, + RETROK_i = 105, + RETROK_j = 106, + RETROK_k = 107, + RETROK_l = 108, + RETROK_m = 109, + RETROK_n = 110, + RETROK_o = 111, + RETROK_p = 112, + RETROK_q = 113, + RETROK_r = 114, + RETROK_s = 115, + RETROK_t = 116, + RETROK_u = 117, + RETROK_v = 118, + RETROK_w = 119, + RETROK_x = 120, + RETROK_y = 121, + RETROK_z = 122, + RETROK_DELETE = 127, + + RETROK_KP0 = 256, + RETROK_KP1 = 257, + RETROK_KP2 = 258, + RETROK_KP3 = 259, + RETROK_KP4 = 260, + RETROK_KP5 = 261, + RETROK_KP6 = 262, + RETROK_KP7 = 263, + RETROK_KP8 = 264, + RETROK_KP9 = 265, + RETROK_KP_PERIOD = 266, + RETROK_KP_DIVIDE = 267, + RETROK_KP_MULTIPLY = 268, + RETROK_KP_MINUS = 269, + RETROK_KP_PLUS = 270, + RETROK_KP_ENTER = 271, + RETROK_KP_EQUALS = 272, + + RETROK_UP = 273, + RETROK_DOWN = 274, + RETROK_RIGHT = 275, + RETROK_LEFT = 276, + RETROK_INSERT = 277, + RETROK_HOME = 278, + RETROK_END = 279, + RETROK_PAGEUP = 280, + RETROK_PAGEDOWN = 281, + + RETROK_F1 = 282, + RETROK_F2 = 283, + RETROK_F3 = 284, + RETROK_F4 = 285, + RETROK_F5 = 286, + RETROK_F6 = 287, + RETROK_F7 = 288, + RETROK_F8 = 289, + RETROK_F9 = 290, + RETROK_F10 = 291, + RETROK_F11 = 292, + RETROK_F12 = 293, + RETROK_F13 = 294, + RETROK_F14 = 295, + RETROK_F15 = 296, + + RETROK_NUMLOCK = 300, + RETROK_CAPSLOCK = 301, + RETROK_SCROLLOCK = 302, + RETROK_RSHIFT = 303, + RETROK_LSHIFT = 304, + RETROK_RCTRL = 305, + RETROK_LCTRL = 306, + RETROK_RALT = 307, + RETROK_LALT = 308, + RETROK_RMETA = 309, + RETROK_LMETA = 310, + RETROK_LSUPER = 311, + RETROK_RSUPER = 312, + RETROK_MODE = 313, + RETROK_COMPOSE = 314, + + RETROK_HELP = 315, + RETROK_PRINT = 316, + RETROK_SYSREQ = 317, + RETROK_BREAK = 318, + RETROK_MENU = 319, + RETROK_POWER = 320, + RETROK_EURO = 321, + RETROK_UNDO = 322, + + RETROK_LAST +}; // Environment commands. #define RETRO_ENVIRONMENT_SET_ROTATION 1 // const unsigned * -- diff --git a/settings.c b/settings.c index da7c95ab25..0eeda77e09 100644 --- a/settings.c +++ b/settings.c @@ -16,7 +16,6 @@ #include "general.h" #include "conf/config_file.h" #include "conf/config_file_macros.h" -#include "input/keysym.h" #include "compat/strl.h" #include "config.def.h" #include "file.h" @@ -604,73 +603,73 @@ struct key_map // Edit: Not portable to different input systems atm. Might move this map into the driver itself or something. // However, this should map nicely over to other systems aswell since the definition are mostly the same anyways. static const struct key_map sk_map[] = { - { "left", SK_LEFT }, - { "right", SK_RIGHT }, - { "up", SK_UP }, - { "down", SK_DOWN }, - { "enter", SK_RETURN }, - { "kp_enter", SK_KP_ENTER }, - { "tab", SK_TAB }, - { "insert", SK_INSERT }, - { "del", SK_DELETE }, - { "end", SK_END }, - { "home", SK_HOME }, - { "rshift", SK_RSHIFT }, - { "shift", SK_LSHIFT }, - { "ctrl", SK_LCTRL }, - { "alt", SK_LALT }, - { "space", SK_SPACE }, - { "escape", SK_ESCAPE }, - { "add", SK_KP_PLUS }, - { "subtract", SK_KP_MINUS }, - { "kp_plus", SK_KP_PLUS }, - { "kp_minus", SK_KP_MINUS }, - { "f1", SK_F1 }, - { "f2", SK_F2 }, - { "f3", SK_F3 }, - { "f4", SK_F4 }, - { "f5", SK_F5 }, - { "f6", SK_F6 }, - { "f7", SK_F7 }, - { "f8", SK_F8 }, - { "f9", SK_F9 }, - { "f10", SK_F10 }, - { "f11", SK_F11 }, - { "f12", SK_F12 }, - { "num0", SK_0 }, - { "num1", SK_1 }, - { "num2", SK_2 }, - { "num3", SK_3 }, - { "num4", SK_4 }, - { "num5", SK_5 }, - { "num6", SK_6 }, - { "num7", SK_7 }, - { "num8", SK_8 }, - { "num9", SK_9 }, - { "pageup", SK_PAGEUP }, - { "pagedown", SK_PAGEDOWN }, - { "keypad0", SK_KP0 }, - { "keypad1", SK_KP1 }, - { "keypad2", SK_KP2 }, - { "keypad3", SK_KP3 }, - { "keypad4", SK_KP4 }, - { "keypad5", SK_KP5 }, - { "keypad6", SK_KP6 }, - { "keypad7", SK_KP7 }, - { "keypad8", SK_KP8 }, - { "keypad9", SK_KP9 }, - { "period", SK_PERIOD }, - { "capslock", SK_CAPSLOCK }, - { "numlock", SK_NUMLOCK }, - { "backspace", SK_BACKSPACE }, - { "multiply", SK_KP_MULTIPLY }, - { "divide", SK_KP_DIVIDE }, - { "print_screen", SK_PRINT }, - { "scroll_lock", SK_SCROLLOCK }, - { "tilde", SK_BACKQUOTE }, - { "backquote", SK_BACKQUOTE }, - { "pause", SK_PAUSE }, - { "nul", SK_UNKNOWN }, + { "left", RETROK_LEFT }, + { "right", RETROK_RIGHT }, + { "up", RETROK_UP }, + { "down", RETROK_DOWN }, + { "enter", RETROK_RETURN }, + { "kp_enter", RETROK_KP_ENTER }, + { "tab", RETROK_TAB }, + { "insert", RETROK_INSERT }, + { "del", RETROK_DELETE }, + { "end", RETROK_END }, + { "home", RETROK_HOME }, + { "rshift", RETROK_RSHIFT }, + { "shift", RETROK_LSHIFT }, + { "ctrl", RETROK_LCTRL }, + { "alt", RETROK_LALT }, + { "space", RETROK_SPACE }, + { "escape", RETROK_ESCAPE }, + { "add", RETROK_KP_PLUS }, + { "subtract", RETROK_KP_MINUS }, + { "kp_plus", RETROK_KP_PLUS }, + { "kp_minus", RETROK_KP_MINUS }, + { "f1", RETROK_F1 }, + { "f2", RETROK_F2 }, + { "f3", RETROK_F3 }, + { "f4", RETROK_F4 }, + { "f5", RETROK_F5 }, + { "f6", RETROK_F6 }, + { "f7", RETROK_F7 }, + { "f8", RETROK_F8 }, + { "f9", RETROK_F9 }, + { "f10", RETROK_F10 }, + { "f11", RETROK_F11 }, + { "f12", RETROK_F12 }, + { "num0", RETROK_0 }, + { "num1", RETROK_1 }, + { "num2", RETROK_2 }, + { "num3", RETROK_3 }, + { "num4", RETROK_4 }, + { "num5", RETROK_5 }, + { "num6", RETROK_6 }, + { "num7", RETROK_7 }, + { "num8", RETROK_8 }, + { "num9", RETROK_9 }, + { "pageup", RETROK_PAGEUP }, + { "pagedown", RETROK_PAGEDOWN }, + { "keypad0", RETROK_KP0 }, + { "keypad1", RETROK_KP1 }, + { "keypad2", RETROK_KP2 }, + { "keypad3", RETROK_KP3 }, + { "keypad4", RETROK_KP4 }, + { "keypad5", RETROK_KP5 }, + { "keypad6", RETROK_KP6 }, + { "keypad7", RETROK_KP7 }, + { "keypad8", RETROK_KP8 }, + { "keypad9", RETROK_KP9 }, + { "period", RETROK_PERIOD }, + { "capslock", RETROK_CAPSLOCK }, + { "numlock", RETROK_NUMLOCK }, + { "backspace", RETROK_BACKSPACE }, + { "multiply", RETROK_KP_MULTIPLY }, + { "divide", RETROK_KP_DIVIDE }, + { "print_screen", RETROK_PRINT }, + { "scroll_lock", RETROK_SCROLLOCK }, + { "tilde", RETROK_BACKQUOTE }, + { "backquote", RETROK_BACKQUOTE }, + { "pause", RETROK_PAUSE }, + { "nul", RETROK_UNKNOWN }, }; static struct retro_keybind *find_retro_bind(unsigned port, int id) @@ -693,7 +692,7 @@ static int find_sk_bind(const char *str) static int find_sk_key(const char *str) { if (strlen(str) == 1 && isalpha(*str)) - return (int)SK_a + (tolower(*str) - (int)'a'); + return (int)RETROK_a + (tolower(*str) - (int)'a'); else return find_sk_bind(str); } @@ -708,7 +707,7 @@ static void read_keybinds_keyboard(config_file_t *conf, unsigned player, unsigne int key = find_sk_key(tmp); if (key >= 0) - bind->key = (enum rarch_key)key; + bind->key = (enum retro_key)key; } } @@ -814,8 +813,8 @@ static void save_keybind_key(config_file_t *conf, char ascii[2] = {0}; const char *btn = ascii; - if (bind->key >= SK_a && bind->key <= SK_z) - ascii[0] = 'a' + (bind->key - SK_a); + if (bind->key >= RETROK_a && bind->key <= RETROK_z) + ascii[0] = 'a' + (bind->key - RETROK_a); else { for (unsigned i = 0; i < sizeof(sk_map) / sizeof(sk_map[0]); i++)