platform, merge keyboard config into one option
authorkub <derkub@gmail.com>
Thu, 23 Jan 2025 20:09:06 +0000 (21:09 +0100)
committerkub <derkub@gmail.com>
Thu, 23 Jan 2025 20:09:37 +0000 (21:09 +0100)
platform/common/emu.c
platform/common/emu.h
platform/common/menu_pico.c
platform/gp2x/emu.c
platform/linux/emu.c
platform/pandora/plat.c
platform/ps2/emu.c
platform/psp/emu.c

index ae71132..1aa3345 100644 (file)
@@ -1288,7 +1288,7 @@ static void run_events_ui(unsigned int which)
        {\r
                if (! (PicoIn.opt & POPT_EN_KBD)) {\r
                        kbd_mode = 0;\r
-                       emu_status_msg("Keyboard not enabled");\r
+                       emu_status_msg("No keyboard");\r
                } else {\r
                        kbd_mode = !kbd_mode;\r
                        emu_status_msg("Keyboard %s", kbd_mode ? "on" : "off");\r
@@ -1322,9 +1322,9 @@ void emu_update_input(void)
 \r
        if (kbd_mode) {\r
                int mask = (PicoIn.AHW & PAHW_PICO ? 0xf : 0x0);\r
-               if (currentConfig.keyboard == 0)\r
+               if (currentConfig.keyboard == 1)\r
                        count_kbd = in_update_kbd(actions_kbd);\r
-               else if (currentConfig.keyboard == 1)\r
+               else if (currentConfig.keyboard == 2)\r
                        count_kbd = vkbd_update(vkbd, pl_actions[0], actions_kbd);\r
 \r
                // FIXME: Only passthrough joystick input to avoid collisions\r
@@ -1547,12 +1547,12 @@ static void emu_loop_prep(void)
        plat_target_gamma_set(currentConfig.gamma, 0);\r
 \r
        vkbd = NULL;\r
-       if (currentConfig.keyboard == 1) {\r
+       if (currentConfig.keyboard == 2) {\r
                if (PicoIn.AHW & PAHW_SMS) vkbd = &vkbd_sc3000;\r
                else if (PicoIn.AHW & PAHW_PICO) vkbd = &vkbd_pico;\r
        }\r
        PicoIn.opt &= ~POPT_EN_KBD;\r
-       if ((currentConfig.EmuOpt & EOPT_PICO_KBD) || (PicoIn.AHW & PAHW_SMS))\r
+       if (((PicoIn.AHW & PAHW_PICO) || (PicoIn.AHW & PAHW_SC)) && currentConfig.keyboard)\r
                PicoIn.opt |= POPT_EN_KBD;\r
 \r
        pemu_loop_prep();\r
index 1e6c992..beb4955 100644 (file)
@@ -35,7 +35,6 @@ extern int g_screen_ppitch; // pitch in pixels
 #define EOPT_WIZ_TEAR_FIX (1<<19)
 #define EOPT_EXT_FRMLIMIT (1<<20) // no internal frame limiter (limited by snd, etc)
 #define EOPT_PICO_PEN     (1<<21)
-#define EOPT_PICO_KBD     (1<<22)
 
 enum {
        EOPT_SCALE_NONE = 0,
index 2fb9cf1..bf14cca 100644 (file)
@@ -571,8 +571,8 @@ static int key_config_players(int id, int keys)
 
 static const char *mgn_keyboard(int id, int *offs)
 {
-       static char *kbds[] = { "physical", "virtual" };
-       if (currentConfig.keyboard < 0 || currentConfig.keyboard > 1)
+       static char *kbds[] = { "OFF", "physical", "virtual" };
+       if (currentConfig.keyboard < 0 || currentConfig.keyboard > 2)
                return kbds[0];
        return kbds[currentConfig.keyboard];
 }
@@ -582,13 +582,13 @@ static int key_config_keyboard(int id, int keys)
        int kid = currentConfig.keyboard;
 
        if (keys & PBTN_LEFT)
-               if (--kid < 0) kid = 1;
+               if (--kid < 0) kid = 2;
        if (keys & PBTN_RIGHT)
-               if (++kid > 1) kid = 0;
+               if (++kid > 2) kid = 0;
 
        currentConfig.keyboard = kid;
 
-       e_menu_keyconfig[2].help = (currentConfig.keyboard == 0 ? h_kbd : NULL);
+       e_menu_keyconfig[2].help = (currentConfig.keyboard == 1 ? h_kbd : NULL);
 
        if (keys & PBTN_MOK)
                if (currentConfig.keyboard == 1)
@@ -636,7 +636,7 @@ static int menu_loop_keyconfig(int id, int keys)
 
        player[strlen(player)-1] = '1';
        e_menu_keyconfig[0].help = h_play12;
-       e_menu_keyconfig[2].help = (currentConfig.keyboard == 0 ? h_kbd : NULL);
+       e_menu_keyconfig[2].help = (currentConfig.keyboard == 1 ? h_kbd : NULL);
 
        me_loop_d(e_menu_keyconfig, &sel, menu_draw_prep, NULL);
 
@@ -664,7 +664,6 @@ static menu_entry e_menu_md_options[] =
        mee_onoff_h   ("FM filter",                 MA_OPT_FM_FILTER, PicoIn.opt, POPT_EN_FM_FILTER, h_fmfilter),
        mee_onoff_h   ("FM DAC noise",              MA_OPT2_ENABLE_YM_DAC, PicoIn.opt, POPT_EN_FM_DAC, h_dacnoise),
        mee_onoff_h   ("Pen button shows screen",   MA_OPT_PICO_PEN, currentConfig.EmuOpt, EOPT_PICO_PEN, h_picopen),
-       mee_onoff     ("Pico keyboard",             MA_OPT_PICO_KBD, currentConfig.EmuOpt, EOPT_PICO_KBD),
        mee_end,
 };
 
index 68222af..fe87c3b 100644 (file)
@@ -451,7 +451,7 @@ void pemu_finalize_frame(const char *fps, const char *notice)
                        draw_pico_ptr();\r
        }\r
        // draw virtual keyboard on display\r
-       if (kbd_mode && currentConfig.keyboard == 1 && vkbd)\r
+       if (kbd_mode && currentConfig.keyboard == 2 && vkbd)\r
                vkbd_draw(vkbd);\r
 }\r
 \r
index f26689d..0c66c54 100644 (file)
@@ -229,7 +229,7 @@ void pemu_finalize_frame(const char *fps, const char *notice)
        }\r
 \r
        // draw virtual keyboard on display\r
-       if (kbd_mode && currentConfig.keyboard == 1 && vkbd)\r
+       if (kbd_mode && currentConfig.keyboard == 2 && vkbd)\r
                vkbd_draw(vkbd);\r
 \r
        if (notice)\r
index b9a91d3..54c28f3 100644 (file)
@@ -182,7 +182,7 @@ void pemu_finalize_frame(const char *fps, const char *notice)
        if ((PicoIn.AHW & PAHW_MCD) && (currentConfig.EmuOpt & EOPT_EN_CD_LEDS))\r
                draw_cd_leds();\r
        // draw virtual keyboard on display\r
-       if (kbd_mode && currentConfig.keyboard == 1 && vkbd)\r
+       if (kbd_mode && currentConfig.keyboard == 2 && vkbd)\r
                vkbd_draw(vkbd);\r
 }\r
 \r
index 03153ac..e9b1581 100644 (file)
@@ -822,7 +822,7 @@ void pemu_finalize_frame(const char *fps, const char *notice)
        }
 
        // draw virtual keyboard on display
-       if (kbd_mode && currentConfig.keyboard == 1 && vkbd)
+       if (kbd_mode && currentConfig.keyboard == 2 && vkbd)
                vkbd_draw(vkbd);
 
        osd_buf_cnt = 0;
index fca8cd7..052968b 100644 (file)
@@ -715,7 +715,7 @@ void pemu_finalize_frame(const char *fps, const char *notice)
        }
 
        // draw virtual keyboard on display
-       if (kbd_mode && currentConfig.keyboard == 1 && vkbd)
+       if (kbd_mode && currentConfig.keyboard == 2 && vkbd)
                vkbd_draw(vkbd);
 
        osd_buf_cnt = 0;