platform, physical kbd only for sdl
authorkub <derkub@gmail.com>
Mon, 17 Feb 2025 22:07:12 +0000 (23:07 +0100)
committerkub <derkub@gmail.com>
Mon, 17 Feb 2025 22:07:12 +0000 (23:07 +0100)
platform/common/config_file.c
platform/common/emu.c
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 8cb8b98..2528651 100644 (file)
@@ -367,9 +367,9 @@ static int custom_read(menu_entry *me, const char *var, const char *val)
                case MA_CTRL_KEYBOARD:
                        currentConfig.keyboard = 0;
                        if (strcasecmp(val, "physical") == 0)
-                               currentConfig.keyboard = 1;
-                       else if (strcasecmp(val, "virtual") == 0)
                                currentConfig.keyboard = 2;
+                       else if (strcasecmp(val, "virtual") == 0)
+                               currentConfig.keyboard = 1;
                        return 1;
 
                /* PSP */
index 6b54409..799aa31 100644 (file)
@@ -1347,9 +1347,9 @@ void emu_update_input(void)
 \r
        if (kbd_mode) {\r
                int mask = (PicoIn.AHW & PAHW_PICO ? 0xf : 0x0);\r
-               if (currentConfig.keyboard == 1)\r
+               if (currentConfig.keyboard == 2)\r
                        count_kbd = in_update_kbd(actions_kbd);\r
-               else if (currentConfig.keyboard == 2)\r
+               else if (currentConfig.keyboard == 1)\r
                        count_kbd = vkbd_update(vkbd, pl_actions[0], actions_kbd);\r
 \r
                // FIXME: Only passthrough joystick input to avoid collisions\r
@@ -1573,7 +1573,7 @@ static void emu_loop_prep(void)
        plat_target_gamma_set(currentConfig.gamma, 0);\r
 \r
        vkbd = NULL;\r
-       if (currentConfig.keyboard == 2) {\r
+       if (currentConfig.keyboard == 1) {\r
                if (PicoIn.AHW & PAHW_SMS) vkbd = vkbd_init(0);\r
                else if (PicoIn.AHW & PAHW_PICO) vkbd = vkbd_init(1);\r
        }\r
index 577a23d..6c1905e 100644 (file)
@@ -427,14 +427,14 @@ static void kbd_draw(struct key *desc[], int shift, int xoffs, int yoffs, struct
        int i, j;
        struct key *key;
 
-       if (g_menuscreen_w >= 480)
+       if (g_menuscreen_w >= (MENU_X2 ? 960 : 480))
                xoffs -= 50;
        for (i = 0; desc[i]; i++) {
                for (j = 0, key = &desc[i][j]; key->lower; j++, key++) {
                        int color = (key != hi ? PXMAKE(0xa0, 0xa0, 0xa0) :
                                                 PXMAKE(0xff, 0xff, 0xff));
                        char *text = (shift ? key->upper : key->lower);
-                       if (g_menuscreen_w >= 480)
+                       if (g_menuscreen_w >= (MENU_X2 ? 960 : 480))
                        text_out16_(xoffs + key->xpos*me_mfont_w, yoffs + i*me_mfont_h, text, color);
                        else
                        smalltext_out16(xoffs + key->xpos*me_sfont_w, yoffs + i*me_sfont_h, text, color);
@@ -576,7 +576,7 @@ static int key_config_players(int id, int keys)
 
 static const char *mgn_keyboard(int id, int *offs)
 {
-       static char *kbds[] = { "OFF", "physical", "virtual" };
+       static char *kbds[] = { "OFF", "virtual", "physical" };
        if (currentConfig.keyboard < 0 || currentConfig.keyboard > 2)
                return kbds[0];
        return kbds[currentConfig.keyboard];
@@ -585,18 +585,23 @@ static const char *mgn_keyboard(int id, int *offs)
 static int key_config_keyboard(int id, int keys)
 {
        int kid = currentConfig.keyboard;
+#ifdef USE_SDL // TODO this info should come from platform!
+       int k = 2;
+#else
+       int k = 1;
+#endif
 
        if (keys & PBTN_LEFT)
-               if (--kid < 0) kid = 2;
+               if (--kid < 0) kid = k;
        if (keys & PBTN_RIGHT)
-               if (++kid > 2) kid = 0;
+               if (++kid > k) kid = 0;
 
        currentConfig.keyboard = kid;
 
-       e_menu_keyconfig[2].help = (currentConfig.keyboard == 1 ? h_kbd : NULL);
+       e_menu_keyconfig[2].help = (currentConfig.keyboard == 2 ? h_kbd : NULL);
 
        if (keys & PBTN_MOK)
-               if (currentConfig.keyboard == 1)
+               if (currentConfig.keyboard == 2)
                        key_config_kbd_loop(MA_CTRL_KEYBOARD, 0);
 
        return 0;
@@ -641,7 +646,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 == 1 ? h_kbd : NULL);
+       e_menu_keyconfig[2].help = (currentConfig.keyboard == 2 ? h_kbd : NULL);
 
        me_loop_d(e_menu_keyconfig, &sel, menu_draw_prep, NULL);
 
index fe87c3b..68222af 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 == 2 && vkbd)\r
+       if (kbd_mode && currentConfig.keyboard == 1 && vkbd)\r
                vkbd_draw(vkbd);\r
 }\r
 \r
index 0c66c54..f26689d 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 == 2 && vkbd)\r
+       if (kbd_mode && currentConfig.keyboard == 1 && vkbd)\r
                vkbd_draw(vkbd);\r
 \r
        if (notice)\r
index 54c28f3..b9a91d3 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 == 2 && vkbd)\r
+       if (kbd_mode && currentConfig.keyboard == 1 && vkbd)\r
                vkbd_draw(vkbd);\r
 }\r
 \r
index e9b1581..03153ac 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 == 2 && vkbd)
+       if (kbd_mode && currentConfig.keyboard == 1 && vkbd)
                vkbd_draw(vkbd);
 
        osd_buf_cnt = 0;
index 052968b..fca8cd7 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 == 2 && vkbd)
+       if (kbd_mode && currentConfig.keyboard == 1 && vkbd)
                vkbd_draw(vkbd);
 
        osd_buf_cnt = 0;