From 3646e1a2dd089a024b35ef1b3b7cdc2a240fd4c7 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 15 Nov 2015 02:26:31 +0100 Subject: [PATCH] (iCade) Add SNES30 8bitdo key mappings --- input/drivers_keyboard/keyboard_event_apple.c | 40 ++++++++++++++++++- menu/cbs/menu_cbs_get_value.c | 3 ++ menu/menu_setting.c | 2 +- 3 files changed, 42 insertions(+), 3 deletions(-) diff --git a/input/drivers_keyboard/keyboard_event_apple.c b/input/drivers_keyboard/keyboard_event_apple.c index 8441ed731a..c549330c4b 100644 --- a/input/drivers_keyboard/keyboard_event_apple.c +++ b/input/drivers_keyboard/keyboard_event_apple.c @@ -114,7 +114,7 @@ typedef struct icade_map enum retro_key key; } icade_map_t; -#define MAX_ICADE_PROFILES 3 +#define MAX_ICADE_PROFILES 4 #define MAX_ICADE_KEYS 0x100 static icade_map_t icade_maps[MAX_ICADE_PROFILES][MAX_ICADE_KEYS]; @@ -178,7 +178,6 @@ static bool handle_icade_event(unsigned *code, bool *keydown) /* 8-bitty */ j = 2; - initialized = true; icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_a)].key = RETROK_LEFT; icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_q)].key = RETROK_LEFT; icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_c)].key = RETROK_RIGHT; @@ -216,6 +215,43 @@ static bool handle_icade_event(unsigned *code, bool *keydown) icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_f)].up = true; icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_v)].up = true; icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_g)].up = true; + + /* SNES30 8bitDo */ + j = 3; + + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_e)].key = RETROK_UP; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_w)].key = RETROK_UP; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_x)].key = RETROK_DOWN; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_z)].key = RETROK_DOWN; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_a)].key = RETROK_LEFT; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_q)].key = RETROK_LEFT; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_c)].key = RETROK_RIGHT; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_d)].key = RETROK_RIGHT; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_u)].key = RETROK_x; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_f)].key = RETROK_x; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_h)].key = RETROK_z; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_r)].key = RETROK_z; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_y)].key = RETROK_a; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_t)].key = RETROK_a; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_y)].key = RETROK_s; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_t)].key = RETROK_s; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_k)].key = RETROK_q; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_p)].key = RETROK_q; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_i)].key = RETROK_w; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_m)].key = RETROK_w; + + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_e)].up = true; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_z)].up = true; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_q)].up = true; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_c)].up = true; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_r)].up = true; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_f)].up = true; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_t)].up = true; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_t)].up = true; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_p)].up = true; + icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_m)].up = true; + + initialized = true; } if ((*code < 0x20) && (icade_maps[kb_type_idx][*code].key != RETROK_UNKNOWN)) diff --git a/menu/cbs/menu_cbs_get_value.c b/menu/cbs/menu_cbs_get_value.c index 7c1cdd5826..054b413554 100644 --- a/menu/cbs/menu_cbs_get_value.c +++ b/menu/cbs/menu_cbs_get_value.c @@ -636,6 +636,9 @@ static void menu_action_setting_disp_set_label_menu_input_keyboard_gamepad_mappi case 2: strlcpy(s, "8-bitty", len); break; + case 3: + strlcpy(s, "SNES30 8bitdo", len); + break; } } diff --git a/menu/menu_setting.c b/menu/menu_setting.c index e0338ca1d3..a6766f1d06 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -4952,7 +4952,7 @@ static bool setting_append_list_input_options( parent_group, general_write_handler, general_read_handler); - menu_settings_list_current_add_range(list, list_info, 0, 2, 1, true, true); + menu_settings_list_current_add_range(list, list_info, 0, 3, 1, true, true); #if TARGET_OS_IPHONE CONFIG_BOOL(