mirror of
https://github.com/libretro/RetroArch
synced 2025-04-07 13:23:32 +00:00
Move keysyms to libretro.h.
Should allow RETRO_KEYBOARD to work on GL/SDL/X11 drivers.
This commit is contained in:
parent
8fe47d5c16
commit
488d2c5a63
148
config.def.h
148
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
|
||||
|
4
driver.h
4
driver.h
@ -19,10 +19,10 @@
|
||||
|
||||
#include <sys/types.h>
|
||||
#include "boolean.h"
|
||||
#include "libretro.h"
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#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.
|
||||
|
@ -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.
|
||||
|
171
input/keysym.h
171
input/keysym.h
@ -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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#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
|
||||
|
@ -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)
|
||||
|
@ -22,100 +22,99 @@
|
||||
#include <stdlib.h>
|
||||
#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);
|
||||
|
||||
|
@ -21,7 +21,6 @@
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include "rarch_sdl_input.h"
|
||||
#include "keysym.h"
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
@ -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);
|
||||
|
||||
|
147
libretro.h
147
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 * --
|
||||
|
143
settings.c
143
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++)
|
||||
|
Loading…
x
Reference in New Issue
Block a user