]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Do not automatically enable OSK in RP mode
authorToni Wilen <twilen@winuae.net>
Sat, 18 Nov 2023 13:29:06 +0000 (15:29 +0200)
committerToni Wilen <twilen@winuae.net>
Sat, 18 Nov 2023 13:29:06 +0000 (15:29 +0200)
od-win32/win32.cpp
od-win32/win32gfx.cpp
od-win32/win32gfx.h

index af198b1aee82b475f56751d2b31be381b5ef4824..829011b04cd54e2dbb017bb45624b64d50a93522 100644 (file)
@@ -6948,6 +6948,10 @@ static int parseargs(const TCHAR *argx, const TCHAR *np, const TCHAR *np2)
                gui_control = 1;
                return 1;
        }
+       if (!_tcscmp(arg, _T("on_screen_keyboard"))) {
+               on_screen_keyboard = 1;
+               return 1;
+       }
 
        if (!np)
                return 0;
index 95c0f95f2dde52bc59648ad35bde1c1505d94e35..93c8bec83acb9c22c1c848e0fdcdb690b4a636d7 100644 (file)
@@ -4977,11 +4977,19 @@ void target_osk_control(int x, int y, int button, int buttonstate)
 
 }
 
+int on_screen_keyboard;
+
 bool target_osd_keyboard(int show)
 {
        struct AmigaMonitor *amon = &AMonitors[0];
        static bool first;
 
+#ifdef RETROPLATFORM
+       if (rp_isactive() && !on_screen_keyboard) {
+               return false;
+       }
+#endif
+
        xfree(osd_kb_data);
        osd_kb_data = NULL;
        osd_kb_eo.idx = 0x7f7f0000;
index 73bef122c1becf38af271b553d62020c16b572e9..5ce9a42625300924e1f8fa2225e9249f83564f71 100644 (file)
@@ -25,6 +25,7 @@ extern int window_led_drives, window_led_drives_end;
 extern int window_led_hd, window_led_hd_end;
 extern int window_led_joys, window_led_joys_end, window_led_joy_start;
 extern int window_led_msg, window_led_msg_end, window_led_msg_start;
+extern int on_screen_keyboard;
 
 extern HDC gethdc(int monid);
 extern void releasehdc(int monid, HDC hdc);