mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
- u can use real keyboard on OSK (when searching for e.g.) - add hack for "Swap OK/Cancel buttons in menu" when using OSK - using "Unified menu controls" for keystrokes so will behave the same as controller which is to expect refactor commits log
98 lines
5.0 KiB
Diff
98 lines
5.0 KiB
Diff
From c52584d8b2bc796c20c8853e47c518686c32c5d1 Mon Sep 17 00:00:00 2001
|
|
From: Apaczer <94932128+Apaczer@users.noreply.github.com>
|
|
Date: Wed, 30 Apr 2025 23:08:23 +0200
|
|
Subject: [PATCH] input/driver: correct Miyoo mapping in MENU
|
|
|
|
---
|
|
input/input_driver.c | 42 +++++++++++++++++++++++++++++++++++++++++-
|
|
1 file changed, 41 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/input/input_driver.c b/input/input_driver.c
|
|
index 8be3dcd294..a7f930f86d 100644
|
|
--- a/input/input_driver.c
|
|
+++ b/input/input_driver.c
|
|
@@ -7116,6 +7116,22 @@ void input_driver_collect_system_input(input_driver_state_t *input_st,
|
|
unsigned i;
|
|
unsigned ids[][2] =
|
|
{
|
|
+#ifdef MIYOO
|
|
+ {RETROK_LALT, RETRO_DEVICE_ID_JOYPAD_A },
|
|
+ {RETROK_LCTRL, RETRO_DEVICE_ID_JOYPAD_B },
|
|
+ {RETROK_SPACE, RETRO_DEVICE_ID_JOYPAD_Y },
|
|
+ {RETROK_LSHIFT, RETRO_DEVICE_ID_JOYPAD_X },
|
|
+ {RETROK_RETURN, RETRO_DEVICE_ID_JOYPAD_START },
|
|
+ {RETROK_ESCAPE, RETRO_DEVICE_ID_JOYPAD_SELECT },
|
|
+ {RETROK_UP, RETRO_DEVICE_ID_JOYPAD_UP },
|
|
+ {RETROK_DOWN, RETRO_DEVICE_ID_JOYPAD_DOWN },
|
|
+ {RETROK_LEFT, RETRO_DEVICE_ID_JOYPAD_LEFT },
|
|
+ {RETROK_RIGHT, RETRO_DEVICE_ID_JOYPAD_RIGHT },
|
|
+ {RETROK_TAB, RETRO_DEVICE_ID_JOYPAD_L },
|
|
+ {RETROK_BACKSPACE, RETRO_DEVICE_ID_JOYPAD_R },
|
|
+ {RETROK_RALT, RETRO_DEVICE_ID_JOYPAD_L3 },
|
|
+ {RETROK_RSHIFT, RETRO_DEVICE_ID_JOYPAD_R3 },
|
|
+#else
|
|
{RETROK_RETURN, RETRO_DEVICE_ID_JOYPAD_A },
|
|
{RETROK_BACKSPACE, RETRO_DEVICE_ID_JOYPAD_B },
|
|
{RETROK_DELETE, RETRO_DEVICE_ID_JOYPAD_Y },
|
|
@@ -7130,6 +7146,7 @@ void input_driver_collect_system_input(input_driver_state_t *input_st,
|
|
{RETROK_PAGEDOWN, RETRO_DEVICE_ID_JOYPAD_R },
|
|
{RETROK_HOME, RETRO_DEVICE_ID_JOYPAD_L3 },
|
|
{RETROK_END, RETRO_DEVICE_ID_JOYPAD_R3 },
|
|
+#endif
|
|
{0, RARCH_QUIT_KEY }, /* 14 */
|
|
{0, RARCH_FULLSCREEN_TOGGLE_KEY },
|
|
{0, RARCH_UI_COMPANION_TOGGLE },
|
|
@@ -7175,7 +7192,11 @@ void input_driver_collect_system_input(input_driver_state_t *input_st,
|
|
unsigned i;
|
|
unsigned ids[][2] =
|
|
{
|
|
+#ifdef MIYOO
|
|
+ {RETROK_LALT, RETRO_DEVICE_ID_JOYPAD_A },
|
|
+#else
|
|
{RETROK_LCTRL, RETRO_DEVICE_ID_JOYPAD_A },
|
|
+#endif
|
|
{RETROK_UP, RETRO_DEVICE_ID_JOYPAD_UP },
|
|
{RETROK_DOWN, RETRO_DEVICE_ID_JOYPAD_DOWN },
|
|
{RETROK_LEFT, RETRO_DEVICE_ID_JOYPAD_LEFT },
|
|
@@ -7341,10 +7362,28 @@ void input_keyboard_event(bool down, unsigned code,
|
|
* is active */
|
|
if (menu_st->flags & MENU_ST_FLAG_SCREENSAVER_ACTIVE)
|
|
{
|
|
+#ifdef MIYOO
|
|
if ( (down)
|
|
&& (code != RETROK_UNKNOWN)
|
|
&& (menu_input_dialog_get_display_kb() ||
|
|
- !((code == RETROK_SPACE) || /* RETRO_DEVICE_ID_JOYPAD_START */
|
|
+ !((code == RETROK_RETURN) || /* RETRO_DEVICE_ID_JOYPAD_START */
|
|
+ (code == RETROK_ESCAPE) || /* RETRO_DEVICE_ID_JOYPAD_SELECT */
|
|
+ (code == RETROK_TAB) || /* RETRO_DEVICE_ID_JOYPAD_L */
|
|
+ (code == RETROK_BACKSPACE)|| /* RETRO_DEVICE_ID_JOYPAD_R */
|
|
+ (code == RETROK_LCTRL) || /* RETRO_DEVICE_ID_JOYPAD_B */
|
|
+ (code == RETROK_LALT) || /* RETRO_DEVICE_ID_JOYPAD_A */
|
|
+ (code == RETROK_SPACE) || /* RETRO_DEVICE_ID_JOYPAD_Y */
|
|
+ (code == RETROK_LSHIFT) || /* RETRO_DEVICE_ID_JOYPAD_X */
|
|
+ (code == RETROK_RIGHT) || /* RETRO_DEVICE_ID_JOYPAD_RIGHT */
|
|
+ (code == RETROK_LEFT) || /* RETRO_DEVICE_ID_JOYPAD_LEFT */
|
|
+ (code == RETROK_DOWN) || /* RETRO_DEVICE_ID_JOYPAD_DOWN */
|
|
+ (code == RETROK_UP) || /* RETRO_DEVICE_ID_JOYPAD_UP */
|
|
+ BIT512_GET(input_st->keyboard_mapping_bits, code))))
|
|
+#else
|
|
+ if ( (down)
|
|
+ && (code != RETROK_UNKNOWN)
|
|
+ && (menu_input_dialog_get_display_kb() ||
|
|
+ !((code == RETROK_SPACE) || /* RETRO_DEVICE_ID_JOYPAD_START */
|
|
(code == RETROK_SLASH) || /* RETRO_DEVICE_ID_JOYPAD_X */
|
|
(code == RETROK_RSHIFT) || /* RETRO_DEVICE_ID_JOYPAD_SELECT */
|
|
(code == RETROK_RIGHT) || /* RETRO_DEVICE_ID_JOYPAD_RIGHT */
|
|
@@ -7357,6 +7396,7 @@ void input_keyboard_event(bool down, unsigned code,
|
|
(code == RETROK_RETURN) || /* RETRO_DEVICE_ID_JOYPAD_A */
|
|
(code == RETROK_DELETE) || /* RETRO_DEVICE_ID_JOYPAD_Y */
|
|
BIT512_GET(input_st->keyboard_mapping_bits, code))))
|
|
+#endif
|
|
{
|
|
struct menu_state *menu_st = menu_state_get_ptr();
|
|
menu_st->flags &= ~MENU_ST_FLAG_SCREENSAVER_ACTIVE;
|
|
--
|
|
2.45.2.windows.1
|
|
|