diff --git a/Makefile.ps3 b/Makefile.ps3
index bb0280a983..75d5675d0e 100644
--- a/Makefile.ps3
+++ b/Makefile.ps3
@@ -44,7 +44,6 @@ PPU_SRCS = fifo_buffer.c \
console/librsound/librsound.c \
console/szlib/szlib.c \
ps3/ps3_input.c \
- input/input_luts.c \
ps3/cellframework2/utility/oskutil.c \
compat/compat.c \
ssnes.c \
diff --git a/console/console_ext.c b/console/console_ext.c
index 4db5566909..ca951628b9 100644
--- a/console/console_ext.c
+++ b/console/console_ext.c
@@ -39,6 +39,10 @@
#define MAX_ARGS 32
+/*============================================================
+ ROM EXTENSIONS
+============================================================ */
+
static char g_rom_ext[1024];
void ssnes_console_set_rom_ext(const char *ext)
@@ -240,3 +244,244 @@ int ssnes_main_init_wrap(const struct ssnes_main_wrap *args)
return ret;
}
+
+/*============================================================
+ INPUT EXTENSIONS
+============================================================ */
+
+#include "console_ext_input.h"
+
+struct platform_bind
+{
+ uint64_t joykey;
+ const char *label;
+};
+
+uint64_t ssnes_default_keybind_lut[SSNES_FIRST_META_KEY];
+
+char ssnes_default_libsnes_keybind_name_lut[SSNES_FIRST_META_KEY][256] = {
+ "B Button", /* SNES_DEVICE_ID_JOYPAD_B */
+ "Y Button", /* SNES_DEVICE_ID_JOYPAD_Y */
+ "Select button", /* SNES_DEVICE_ID_JOYPAD_SELECT */
+ "Start button", /* SNES_DEVICE_ID_JOYPAD_START */
+ "D-Pad Up", /* SNES_DEVICE_ID_JOYPAD_UP */
+ "D-Pad Down", /* SNES_DEVICE_ID_JOYPAD_DOWN */
+ "D-Pad Left", /* SNES_DEVICE_ID_JOYPAD_LEFT */
+ "D-Pad Right", /* SNES_DEVICE_ID_JOYPAD_RIGHT */
+ "A Button", /* SNES_DEVICE_ID_JOYPAD_A */
+ "X Button", /* SNES_DEVICE_ID_JOYPAD_X */
+ "L Button", /* SNES_DEVICE_ID_JOYPAD_L */
+ "R Button", /* SNES_DEVICE_ID_JOYPAD_R */
+};
+
+#if defined(__CELLOS_LV2__)
+uint64_t ssnes_platform_keybind_lut[SSNES_LAST_PLATFORM_KEY] = {
+ CTRL_CIRCLE_MASK,
+ CTRL_CROSS_MASK,
+ CTRL_TRIANGLE_MASK,
+ CTRL_SQUARE_MASK,
+ CTRL_UP_MASK,
+ CTRL_DOWN_MASK,
+ CTRL_LEFT_MASK,
+ CTRL_RIGHT_MASK,
+ CTRL_SELECT_MASK,
+ CTRL_START_MASK,
+ CTRL_L1_MASK,
+ CTRL_L2_MASK,
+ CTRL_L3_MASK,
+ CTRL_R1_MASK,
+ CTRL_R2_MASK,
+ CTRL_R3_MASK,
+ CTRL_LSTICK_LEFT_MASK,
+ CTRL_LSTICK_RIGHT_MASK,
+ CTRL_LSTICK_UP_MASK,
+ CTRL_LSTICK_DOWN_MASK,
+ CTRL_LEFT_MASK | CTRL_LSTICK_LEFT_MASK,
+ CTRL_RIGHT_MASK | CTRL_LSTICK_RIGHT_MASK,
+ CTRL_UP_MASK | CTRL_LSTICK_UP_MASK,
+ CTRL_DOWN_MASK | CTRL_LSTICK_DOWN_MASK,
+ CTRL_RSTICK_LEFT_MASK,
+ CTRL_RSTICK_RIGHT_MASK,
+ CTRL_RSTICK_UP_MASK,
+ CTRL_RSTICK_DOWN_MASK,
+ CTRL_LEFT_MASK | CTRL_RSTICK_LEFT_MASK,
+ CTRL_RIGHT_MASK | CTRL_RSTICK_RIGHT_MASK,
+ CTRL_UP_MASK | CTRL_RSTICK_UP_MASK,
+ CTRL_DOWN_MASK | CTRL_RSTICK_DOWN_MASK,
+};
+
+static const struct platform_bind platform_keys[] = {
+ { CTRL_CIRCLE_MASK, "Circle button" },
+ { CTRL_CROSS_MASK, "Cross button" },
+ { CTRL_TRIANGLE_MASK, "Triangle button" },
+ { CTRL_SQUARE_MASK, "Square button" },
+ { CTRL_UP_MASK, "D-Pad Up" },
+ { CTRL_DOWN_MASK, "D-Pad Down" },
+ { CTRL_LEFT_MASK, "D-Pad Left" },
+ { CTRL_RIGHT_MASK, "D-Pad Right" },
+ { CTRL_SELECT_MASK, "Select button" },
+ { CTRL_START_MASK, "Start button" },
+ { CTRL_L1_MASK, "L1 button" },
+ { CTRL_L2_MASK, "L2 button" },
+ { CTRL_L3_MASK, "L3 button" },
+ { CTRL_R1_MASK, "R1 button" },
+ { CTRL_R2_MASK, "R2 button" },
+ { CTRL_R3_MASK, "R3 button" },
+ { CTRL_LSTICK_LEFT_MASK, "LStick Left" },
+ { CTRL_LSTICK_RIGHT_MASK, "LStick Right" },
+ { CTRL_LSTICK_UP_MASK, "LStick Up" },
+ { CTRL_LSTICK_DOWN_MASK, "LStick Down" },
+ { CTRL_LEFT_MASK | CTRL_LSTICK_LEFT_MASK, "LStick D-Pad Left" },
+ { CTRL_RIGHT_MASK | CTRL_LSTICK_RIGHT_MASK, "LStick D-Pad Right" },
+ { CTRL_UP_MASK | CTRL_LSTICK_UP_MASK, "LStick D-Pad Up" },
+ { CTRL_DOWN_MASK | CTRL_LSTICK_DOWN_MASK, "LStick D-Pad Down" },
+ { CTRL_RSTICK_LEFT_MASK, "RStick Left" },
+ { CTRL_RSTICK_RIGHT_MASK, "RStick Right" },
+ { CTRL_RSTICK_UP_MASK, "RStick Up" },
+ { CTRL_RSTICK_DOWN_MASK, "RStick Down" },
+ { CTRL_LEFT_MASK | CTRL_RSTICK_LEFT_MASK, "RStick D-Pad Left" },
+ { CTRL_RIGHT_MASK | CTRL_RSTICK_RIGHT_MASK, "RStick D-Pad Right" },
+ { CTRL_UP_MASK | CTRL_RSTICK_UP_MASK, "RStick D-Pad Up" },
+ { CTRL_DOWN_MASK | CTRL_RSTICK_DOWN_MASK, "RStick D-Pad Down" },
+};
+#elif defined(_XBOX)
+uint64_t ssnes_platform_keybind_lut[SSNES_LAST_PLATFORM_KEY] = {
+ XINPUT_GAMEPAD_B,
+ XINPUT_GAMEPAD_A,
+ XINPUT_GAMEPAD_Y,
+ XINPUT_GAMEPAD_X,
+ XINPUT_GAMEPAD_DPAD_UP,
+ XINPUT_GAMEPAD_DPAD_DOWN,
+ XINPUT_GAMEPAD_DPAD_LEFT,
+ XINPUT_GAMEPAD_DPAD_RIGHT,
+ XINPUT_GAMEPAD_BACK,
+ XINPUT_GAMEPAD_START,
+ XINPUT_GAMEPAD_LEFT_SHOULDER,
+ XINPUT_GAMEPAD_LEFT_TRIGGER,
+ XINPUT_GAMEPAD_LEFT_THUMB,
+ XINPUT_GAMEPAD_RIGHT_SHOULDER,
+ XINPUT_GAMEPAD_RIGHT_TRIGGER,
+ XINPUT_GAMEPAD_RIGHT_THUMB,
+ XINPUT_GAMEPAD_LSTICK_LEFT_MASK,
+ XINPUT_GAMEPAD_LSTICK_RIGHT_MASK,
+ XINPUT_GAMEPAD_LSTICK_UP_MASK,
+ XINPUT_GAMEPAD_LSTICK_DOWN_MASK,
+ XINPUT_GAMEPAD_DPAD_LEFT | XINPUT_GAMEPAD_LSTICK_LEFT_MASK,
+ XINPUT_GAMEPAD_DPAD_RIGHT | XINPUT_GAMEPAD_LSTICK_RIGHT_MASK,
+ XINPUT_GAMEPAD_DPAD_UP | XINPUT_GAMEPAD_LSTICK_UP_MASK,
+ XINPUT_GAMEPAD_DPAD_DOWN | XINPUT_GAMEPAD_LSTICK_DOWN_MASK,
+ XINPUT_GAMEPAD_RSTICK_LEFT_MASK,
+ XINPUT_GAMEPAD_RSTICK_RIGHT_MASK,
+ XINPUT_GAMEPAD_RSTICK_UP_MASK,
+ XINPUT_GAMEPAD_RSTICK_DOWN_MASK,
+ XINPUT_GAMEPAD_DPAD_LEFT | XINPUT_GAMEPAD_RSTICK_LEFT_MASK,
+ XINPUT_GAMEPAD_DPAD_RIGHT | XINPUT_GAMEPAD_RSTICK_RIGHT_MASK,
+ XINPUT_GAMEPAD_DPAD_UP | XINPUT_GAMEPAD_RSTICK_UP_MASK,
+ XINPUT_GAMEPAD_DPAD_DOWN | XINPUT_GAMEPAD_RSTICK_DOWN_MASK,
+};
+
+static const struct platform_bind platform_keys[] = {
+ { XINPUT_GAMEPAD_B, "B button" },
+ { XINPUT_GAMEPAD_A, "A button" },
+ { XINPUT_GAMEPAD_Y, "Y button" },
+ { XINPUT_GAMEPAD_X, "X button" },
+ { XINPUT_GAMEPAD_DPAD_UP, "D-Pad Up" },
+ { XINPUT_GAMEPAD_DPAD_DOWN, "D-Pad Down" },
+ { XINPUT_GAMEPAD_DPAD_LEFT, "D-Pad Left" },
+ { XINPUT_GAMEPAD_DPAD_RIGHT, "D-Pad Right" },
+ { XINPUT_GAMEPAD_BACK, "Back button" },
+ { XINPUT_GAMEPAD_START, "Start button" },
+ { XINPUT_GAMEPAD_LEFT_SHOULDER, "Left Shoulder" },
+ { XINPUT_GAMEPAD_LEFT_TRIGGER, "Left Trigger" },
+ { XINPUT_GAMEPAD_LEFT_THUMB, "Left Thumb" },
+ { XINPUT_GAMEPAD_RIGHT_SHOULDER, "Right Shoulder" },
+ { XINPUT_GAMEPAD_RIGHT_TRIGGER, "Right Trigger" },
+ { XINPUT_GAMEPAD_RIGHT_THUMB, "Right Thumb" },
+ { XINPUT_GAMEPAD_LSTICK_LEFT_MASK, "LStick Left" },
+ { XINPUT_GAMEPAD_LSTICK_RIGHT_MASK, "LStick Right" },
+ { XINPUT_GAMEPAD_LSTICK_UP_MASK, "LStick Up" },
+ { XINPUT_GAMEPAD_LSTICK_DOWN_MASK, "LStick Down" },
+ { XINPUT_GAMEPAD_DPAD_LEFT | XINPUT_GAMEPAD_LSTICK_LEFT_MASK, "LStick D-Pad Left" },
+ { XINPUT_GAMEPAD_DPAD_RIGHT | XINPUT_GAMEPAD_LSTICK_RIGHT_MASK, "LStick D-Pad Right" },
+ { XINPUT_GAMEPAD_DPAD_UP | XINPUT_GAMEPAD_LSTICK_UP_MASK, "LStick D-Pad Up" },
+ { XINPUT_GAMEPAD_DPAD_DOWN | XINPUT_GAMEPAD_LSTICK_DOWN_MASK, "LStick D-Pad Down" },
+ { XINPUT_GAMEPAD_RSTICK_LEFT_MASK, "RStick Left" },
+ { XINPUT_GAMEPAD_RSTICK_RIGHT_MASK, "RStick Right" },
+ { XINPUT_GAMEPAD_RSTICK_UP_MASK, "RStick Up" },
+ { XINPUT_GAMEPAD_RSTICK_DOWN_MASK, "RStick Down" },
+ { XINPUT_GAMEPAD_DPAD_LEFT | XINPUT_GAMEPAD_RSTICK_LEFT_MASK, "RStick D-Pad Left" },
+ { XINPUT_GAMEPAD_DPAD_RIGHT | XINPUT_GAMEPAD_RSTICK_RIGHT_MASK, "RStick D-Pad Right" },
+ { XINPUT_GAMEPAD_DPAD_UP | XINPUT_GAMEPAD_RSTICK_UP_MASK, "RStick D-Pad Up" },
+ { XINPUT_GAMEPAD_DPAD_DOWN | XINPUT_GAMEPAD_RSTICK_DOWN_MASK, "RStick D-Pad Down" },
+};
+#endif
+
+uint64_t ssnes_input_find_previous_platform_key(uint64_t joykey)
+{
+ size_t arr_size = sizeof(platform_keys) / sizeof(platform_keys[0]);
+
+ if (platform_keys[0].joykey == joykey)
+ return joykey;
+
+ for (size_t i = 1; i < arr_size; i++)
+ {
+ if (platform_keys[i].joykey == joykey)
+ return platform_keys[i - 1].joykey;
+ }
+
+ return NO_BTN;
+}
+
+uint64_t ssnes_input_find_next_platform_key(uint64_t joykey)
+{
+ size_t arr_size = sizeof(platform_keys) / sizeof(platform_keys[0]);
+ if (platform_keys[arr_size - 1].joykey == joykey)
+ return joykey;
+
+ for (size_t i = 0; i < arr_size - 1; i++)
+ {
+ if (platform_keys[i].joykey == joykey)
+ return platform_keys[i + 1].joykey;
+ }
+
+ return NO_BTN;
+}
+
+const char *ssnes_input_find_platform_key_label(uint64_t joykey)
+{
+ if (joykey == NO_BTN)
+ return "No button";
+
+ size_t arr_size = sizeof(platform_keys) / sizeof(platform_keys[0]);
+ for (size_t i = 0; i < arr_size; i++)
+ {
+ if (platform_keys[i].joykey == joykey)
+ return platform_keys[i].label;
+ }
+
+ return "Unknown";
+}
+
+void ssnes_input_set_default_keybind_names_for_emulator(void)
+{
+ const char *id = snes_library_id();
+
+ // Genesis Plus GX/Next
+ if (strstr(id, "Genesis Plus GX"))
+ {
+ strlcpy(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_B],
+ "B button", sizeof(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_B]));
+ strlcpy(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_A],
+ "C button", sizeof(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_A]));
+ strlcpy(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_X],
+ "Y button", sizeof(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_X]));
+ strlcpy(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_Y],
+ "A button", sizeof(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_Y]));
+ strlcpy(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_L],
+ "X button", sizeof(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_L]));
+ strlcpy(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_R],
+ "Z button", sizeof(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_R]));
+ strlcpy(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_SELECT],
+ "Mode button", sizeof(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_SELECT]));
+ }
+}
diff --git a/console/console_ext.h b/console/console_ext.h
index 9f7006b604..3fedf3a95b 100644
--- a/console/console_ext.h
+++ b/console/console_ext.h
@@ -19,6 +19,12 @@
#ifndef ROM_EXT_H__
#define ROM_EXT_H__
+#include "console_ext_input.h"
+
+/*============================================================
+ ROM EXTENSIONS
+============================================================ */
+
void ssnes_console_set_rom_ext(const char *ext);
// Get rom extensions for current library.
@@ -32,4 +38,16 @@ void ssnes_console_name_from_id(char *name, size_t size);
int ssnes_extract_zipfile(const char *zip_path);
#endif
+/*============================================================
+ INPUT EXTENSIONS
+============================================================ */
+
+const char *ssnes_input_find_platform_key_label(uint64_t joykey);
+uint64_t ssnes_input_find_previous_platform_key(uint64_t joykey);
+uint64_t ssnes_input_find_next_platform_key(uint64_t joykey);
+
+// Sets custom default keybind names (some systems emulated by the emulator
+// will need different keybind names for buttons, etc.)
+void ssnes_input_set_default_keybind_names_for_emulator(void);
+
#endif
diff --git a/input/input_luts.h b/console/console_ext_input.h
similarity index 87%
rename from input/input_luts.h
rename to console/console_ext_input.h
index a3d63ae18b..874f1a904c 100644
--- a/input/input_luts.h
+++ b/console/console_ext_input.h
@@ -16,17 +16,13 @@
* If not, see .
*/
-#ifndef __SSNES_INPUT_LUTS_H
-#define __SSNES_INPUT_LUTS_H
+#ifndef ROM_EXT_INPUT_H__
+#define ROM_EXT_INPUT_H__
#include "../driver.h"
-#include "../libsnes.hpp"
-#include
#if defined(__CELLOS_LV2__)
-
#include "../ps3/ps3_input.h"
-
enum ps3_device_id
{
PS3_DEVICE_ID_JOYPAD_CIRCLE = 0,
@@ -111,13 +107,4 @@ extern uint64_t ssnes_default_keybind_lut[SSNES_FIRST_META_KEY];
extern uint64_t ssnes_platform_keybind_lut[SSNES_LAST_PLATFORM_KEY];
extern char ssnes_default_libsnes_keybind_name_lut[SSNES_FIRST_META_KEY][256];
-const char *ssnes_input_find_platform_key_label(uint64_t joykey);
-uint64_t ssnes_input_find_previous_platform_key(uint64_t joykey);
-uint64_t ssnes_input_find_next_platform_key(uint64_t joykey);
-
-// Sets custom default keybind names (some systems emulated by the emulator
-// will need different keybind names for buttons, etc.)
-void ssnes_input_set_default_keybind_names_for_emulator(void);
-
#endif
-
diff --git a/input/input_luts.c b/input/input_luts.c
deleted file mode 100644
index 3750efc8c2..0000000000
--- a/input/input_luts.c
+++ /dev/null
@@ -1,265 +0,0 @@
-/* SSNES - A Super Nintendo Entertainment System (SNES) Emulator frontend for libsnes.
- * Copyright (C) 2010-2012 - Hans-Kristian Arntzen
- * Copyright (C) 2011-2012 - Daniel De Matteis
- *
- * Some code herein may be based on code found in BSNES.
- *
- * SSNES 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.
- *
- * SSNES 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 SSNES.
- * If not, see .
- */
-
-#ifdef _XBOX
-#define NOD3D
-#define NONET
-#include
-#endif
-
-#include
-#include
-#include "input_luts.h"
-#include "../compat/strl.h"
-
-uint64_t ssnes_default_keybind_lut[SSNES_FIRST_META_KEY];
-
-char ssnes_default_libsnes_keybind_name_lut[SSNES_FIRST_META_KEY][256] = {
- "B Button", /* SNES_DEVICE_ID_JOYPAD_B */
- "Y Button", /* SNES_DEVICE_ID_JOYPAD_Y */
- "Select button", /* SNES_DEVICE_ID_JOYPAD_SELECT */
- "Start button", /* SNES_DEVICE_ID_JOYPAD_START */
- "D-Pad Up", /* SNES_DEVICE_ID_JOYPAD_UP */
- "D-Pad Down", /* SNES_DEVICE_ID_JOYPAD_DOWN */
- "D-Pad Left", /* SNES_DEVICE_ID_JOYPAD_LEFT */
- "D-Pad Right", /* SNES_DEVICE_ID_JOYPAD_RIGHT */
- "A Button", /* SNES_DEVICE_ID_JOYPAD_A */
- "X Button", /* SNES_DEVICE_ID_JOYPAD_X */
- "L Button", /* SNES_DEVICE_ID_JOYPAD_L */
- "R Button", /* SNES_DEVICE_ID_JOYPAD_R */
-};
-
-#if defined(__CELLOS_LV2__)
-uint64_t ssnes_platform_keybind_lut[SSNES_LAST_PLATFORM_KEY] = {
- CTRL_CIRCLE_MASK,
- CTRL_CROSS_MASK,
- CTRL_TRIANGLE_MASK,
- CTRL_SQUARE_MASK,
- CTRL_UP_MASK,
- CTRL_DOWN_MASK,
- CTRL_LEFT_MASK,
- CTRL_RIGHT_MASK,
- CTRL_SELECT_MASK,
- CTRL_START_MASK,
- CTRL_L1_MASK,
- CTRL_L2_MASK,
- CTRL_L3_MASK,
- CTRL_R1_MASK,
- CTRL_R2_MASK,
- CTRL_R3_MASK,
- CTRL_LSTICK_LEFT_MASK,
- CTRL_LSTICK_RIGHT_MASK,
- CTRL_LSTICK_UP_MASK,
- CTRL_LSTICK_DOWN_MASK,
- CTRL_LEFT_MASK | CTRL_LSTICK_LEFT_MASK,
- CTRL_RIGHT_MASK | CTRL_LSTICK_RIGHT_MASK,
- CTRL_UP_MASK | CTRL_LSTICK_UP_MASK,
- CTRL_DOWN_MASK | CTRL_LSTICK_DOWN_MASK,
- CTRL_RSTICK_LEFT_MASK,
- CTRL_RSTICK_RIGHT_MASK,
- CTRL_RSTICK_UP_MASK,
- CTRL_RSTICK_DOWN_MASK,
- CTRL_LEFT_MASK | CTRL_RSTICK_LEFT_MASK,
- CTRL_RIGHT_MASK | CTRL_RSTICK_RIGHT_MASK,
- CTRL_UP_MASK | CTRL_RSTICK_UP_MASK,
- CTRL_DOWN_MASK | CTRL_RSTICK_DOWN_MASK,
-};
-#elif defined(_XBOX)
-uint64_t ssnes_platform_keybind_lut[SSNES_LAST_PLATFORM_KEY] = {
- XINPUT_GAMEPAD_B,
- XINPUT_GAMEPAD_A,
- XINPUT_GAMEPAD_Y,
- XINPUT_GAMEPAD_X,
- XINPUT_GAMEPAD_DPAD_UP,
- XINPUT_GAMEPAD_DPAD_DOWN,
- XINPUT_GAMEPAD_DPAD_LEFT,
- XINPUT_GAMEPAD_DPAD_RIGHT,
- XINPUT_GAMEPAD_BACK,
- XINPUT_GAMEPAD_START,
- XINPUT_GAMEPAD_LEFT_SHOULDER,
- XINPUT_GAMEPAD_LEFT_TRIGGER,
- XINPUT_GAMEPAD_LEFT_THUMB,
- XINPUT_GAMEPAD_RIGHT_SHOULDER,
- XINPUT_GAMEPAD_RIGHT_TRIGGER,
- XINPUT_GAMEPAD_RIGHT_THUMB,
- XINPUT_GAMEPAD_LSTICK_LEFT_MASK,
- XINPUT_GAMEPAD_LSTICK_RIGHT_MASK,
- XINPUT_GAMEPAD_LSTICK_UP_MASK,
- XINPUT_GAMEPAD_LSTICK_DOWN_MASK,
- XINPUT_GAMEPAD_DPAD_LEFT | XINPUT_GAMEPAD_LSTICK_LEFT_MASK,
- XINPUT_GAMEPAD_DPAD_RIGHT | XINPUT_GAMEPAD_LSTICK_RIGHT_MASK,
- XINPUT_GAMEPAD_DPAD_UP | XINPUT_GAMEPAD_LSTICK_UP_MASK,
- XINPUT_GAMEPAD_DPAD_DOWN | XINPUT_GAMEPAD_LSTICK_DOWN_MASK,
- XINPUT_GAMEPAD_RSTICK_LEFT_MASK,
- XINPUT_GAMEPAD_RSTICK_RIGHT_MASK,
- XINPUT_GAMEPAD_RSTICK_UP_MASK,
- XINPUT_GAMEPAD_RSTICK_DOWN_MASK,
- XINPUT_GAMEPAD_DPAD_LEFT | XINPUT_GAMEPAD_RSTICK_LEFT_MASK,
- XINPUT_GAMEPAD_DPAD_RIGHT | XINPUT_GAMEPAD_RSTICK_RIGHT_MASK,
- XINPUT_GAMEPAD_DPAD_UP | XINPUT_GAMEPAD_RSTICK_UP_MASK,
- XINPUT_GAMEPAD_DPAD_DOWN | XINPUT_GAMEPAD_RSTICK_DOWN_MASK,
-};
-#endif
-
-struct platform_bind
-{
- uint64_t joykey;
- const char *label;
-};
-
-#if defined(__CELLOS_LV2__)
-static const struct platform_bind platform_keys[] = {
- { CTRL_CIRCLE_MASK, "Circle button" },
- { CTRL_CROSS_MASK, "Cross button" },
- { CTRL_TRIANGLE_MASK, "Triangle button" },
- { CTRL_SQUARE_MASK, "Square button" },
- { CTRL_UP_MASK, "D-Pad Up" },
- { CTRL_DOWN_MASK, "D-Pad Down" },
- { CTRL_LEFT_MASK, "D-Pad Left" },
- { CTRL_RIGHT_MASK, "D-Pad Right" },
- { CTRL_SELECT_MASK, "Select button" },
- { CTRL_START_MASK, "Start button" },
- { CTRL_L1_MASK, "L1 button" },
- { CTRL_L2_MASK, "L2 button" },
- { CTRL_L3_MASK, "L3 button" },
- { CTRL_R1_MASK, "R1 button" },
- { CTRL_R2_MASK, "R2 button" },
- { CTRL_R3_MASK, "R3 button" },
- { CTRL_LSTICK_LEFT_MASK, "LStick Left" },
- { CTRL_LSTICK_RIGHT_MASK, "LStick Right" },
- { CTRL_LSTICK_UP_MASK, "LStick Up" },
- { CTRL_LSTICK_DOWN_MASK, "LStick Down" },
- { CTRL_LEFT_MASK | CTRL_LSTICK_LEFT_MASK, "LStick D-Pad Left" },
- { CTRL_RIGHT_MASK | CTRL_LSTICK_RIGHT_MASK, "LStick D-Pad Right" },
- { CTRL_UP_MASK | CTRL_LSTICK_UP_MASK, "LStick D-Pad Up" },
- { CTRL_DOWN_MASK | CTRL_LSTICK_DOWN_MASK, "LStick D-Pad Down" },
- { CTRL_RSTICK_LEFT_MASK, "RStick Left" },
- { CTRL_RSTICK_RIGHT_MASK, "RStick Right" },
- { CTRL_RSTICK_UP_MASK, "RStick Up" },
- { CTRL_RSTICK_DOWN_MASK, "RStick Down" },
- { CTRL_LEFT_MASK | CTRL_RSTICK_LEFT_MASK, "RStick D-Pad Left" },
- { CTRL_RIGHT_MASK | CTRL_RSTICK_RIGHT_MASK, "RStick D-Pad Right" },
- { CTRL_UP_MASK | CTRL_RSTICK_UP_MASK, "RStick D-Pad Up" },
- { CTRL_DOWN_MASK | CTRL_RSTICK_DOWN_MASK, "RStick D-Pad Down" },
-};
-#elif defined(_XBOX)
-static const struct platform_bind platform_keys[] = {
- { XINPUT_GAMEPAD_B, "B button" },
- { XINPUT_GAMEPAD_A, "A button" },
- { XINPUT_GAMEPAD_Y, "Y button" },
- { XINPUT_GAMEPAD_X, "X button" },
- { XINPUT_GAMEPAD_DPAD_UP, "D-Pad Up" },
- { XINPUT_GAMEPAD_DPAD_DOWN, "D-Pad Down" },
- { XINPUT_GAMEPAD_DPAD_LEFT, "D-Pad Left" },
- { XINPUT_GAMEPAD_DPAD_RIGHT, "D-Pad Right" },
- { XINPUT_GAMEPAD_BACK, "Back button" },
- { XINPUT_GAMEPAD_START, "Start button" },
- { XINPUT_GAMEPAD_LEFT_SHOULDER, "Left Shoulder" },
- { XINPUT_GAMEPAD_LEFT_TRIGGER, "Left Trigger" },
- { XINPUT_GAMEPAD_LEFT_THUMB, "Left Thumb" },
- { XINPUT_GAMEPAD_RIGHT_SHOULDER, "Right Shoulder" },
- { XINPUT_GAMEPAD_RIGHT_TRIGGER, "Right Trigger" },
- { XINPUT_GAMEPAD_RIGHT_THUMB, "Right Thumb" },
- { XINPUT_GAMEPAD_LSTICK_LEFT_MASK, "LStick Left" },
- { XINPUT_GAMEPAD_LSTICK_RIGHT_MASK, "LStick Right" },
- { XINPUT_GAMEPAD_LSTICK_UP_MASK, "LStick Up" },
- { XINPUT_GAMEPAD_LSTICK_DOWN_MASK, "LStick Down" },
- { XINPUT_GAMEPAD_DPAD_LEFT | XINPUT_GAMEPAD_LSTICK_LEFT_MASK, "LStick D-Pad Left" },
- { XINPUT_GAMEPAD_DPAD_RIGHT | XINPUT_GAMEPAD_LSTICK_RIGHT_MASK, "LStick D-Pad Right" },
- { XINPUT_GAMEPAD_DPAD_UP | XINPUT_GAMEPAD_LSTICK_UP_MASK, "LStick D-Pad Up" },
- { XINPUT_GAMEPAD_DPAD_DOWN | XINPUT_GAMEPAD_LSTICK_DOWN_MASK, "LStick D-Pad Down" },
- { XINPUT_GAMEPAD_RSTICK_LEFT_MASK, "RStick Left" },
- { XINPUT_GAMEPAD_RSTICK_RIGHT_MASK, "RStick Right" },
- { XINPUT_GAMEPAD_RSTICK_UP_MASK, "RStick Up" },
- { XINPUT_GAMEPAD_RSTICK_DOWN_MASK, "RStick Down" },
- { XINPUT_GAMEPAD_DPAD_LEFT | XINPUT_GAMEPAD_RSTICK_LEFT_MASK, "RStick D-Pad Left" },
- { XINPUT_GAMEPAD_DPAD_RIGHT | XINPUT_GAMEPAD_RSTICK_RIGHT_MASK, "RStick D-Pad Right" },
- { XINPUT_GAMEPAD_DPAD_UP | XINPUT_GAMEPAD_RSTICK_UP_MASK, "RStick D-Pad Up" },
- { XINPUT_GAMEPAD_DPAD_DOWN | XINPUT_GAMEPAD_RSTICK_DOWN_MASK, "RStick D-Pad Down" },
-};
-#endif
-
-uint64_t ssnes_input_find_previous_platform_key(uint64_t joykey)
-{
- size_t arr_size = sizeof(platform_keys) / sizeof(platform_keys[0]);
-
- if (platform_keys[0].joykey == joykey)
- return joykey;
-
- for (size_t i = 1; i < arr_size; i++)
- {
- if (platform_keys[i].joykey == joykey)
- return platform_keys[i - 1].joykey;
- }
-
- return NO_BTN;
-}
-
-uint64_t ssnes_input_find_next_platform_key(uint64_t joykey)
-{
- size_t arr_size = sizeof(platform_keys) / sizeof(platform_keys[0]);
- if (platform_keys[arr_size - 1].joykey == joykey)
- return joykey;
-
- for (size_t i = 0; i < arr_size - 1; i++)
- {
- if (platform_keys[i].joykey == joykey)
- return platform_keys[i + 1].joykey;
- }
-
- return NO_BTN;
-}
-
-const char *ssnes_input_find_platform_key_label(uint64_t joykey)
-{
- if (joykey == NO_BTN)
- return "No button";
-
- size_t arr_size = sizeof(platform_keys) / sizeof(platform_keys[0]);
- for (size_t i = 0; i < arr_size; i++)
- {
- if (platform_keys[i].joykey == joykey)
- return platform_keys[i].label;
- }
-
- return "Unknown";
-}
-
-void ssnes_input_set_default_keybind_names_for_emulator(void)
-{
- const char *id = snes_library_id();
-
- // Genesis Plus GX/Next
- if (strstr(id, "Genesis Plus GX"))
- {
- strlcpy(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_B],
- "B button", sizeof(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_B]));
- strlcpy(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_A],
- "C button", sizeof(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_A]));
- strlcpy(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_X],
- "Y button", sizeof(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_X]));
- strlcpy(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_Y],
- "A button", sizeof(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_Y]));
- strlcpy(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_L],
- "X button", sizeof(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_L]));
- strlcpy(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_R],
- "Z button", sizeof(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_R]));
- strlcpy(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_SELECT],
- "Mode button", sizeof(ssnes_default_libsnes_keybind_name_lut[SNES_DEVICE_ID_JOYPAD_SELECT]));
- }
-}
diff --git a/ps3/main.c b/ps3/main.c
index 26680921e2..91ece6d52d 100644
--- a/ps3/main.c
+++ b/ps3/main.c
@@ -47,7 +47,6 @@
#include "../console/main_wrap.h"
#include "../conf/config_file.h"
#include "../conf/config_file_macros.h"
-#include "../input/input_luts.h"
#include "../general.h"
#include "../file.h"
diff --git a/ps3/menu.c b/ps3/menu.c
index 88f7d3f8fb..1001f75fec 100644
--- a/ps3/menu.c
+++ b/ps3/menu.c
@@ -28,7 +28,6 @@
#include "ps3_input.h"
#include "cellframework2/fileio/file_browser.h"
-#include "../input/input_luts.h"
#include "../console/console_ext.h"
#include "ps3_video_psgl.h"
diff --git a/ps3/ps3_input.c b/ps3/ps3_input.c
index b74bfedb77..e08bcdc261 100644
--- a/ps3/ps3_input.c
+++ b/ps3/ps3_input.c
@@ -25,7 +25,7 @@
#include "ps3_input.h"
#include "ps3_video_psgl.h"
#include "../driver.h"
-#include "../input/input_luts.h"
+#include "../console/console_ext_input.h"
#include "../libsnes.hpp"
#include "../general.h"
#include "shared.h"