Rebase against c7431990d815e664cf22267142b76cc59f21d192.

This commit is contained in:
Alistair Leslie-Hughes
2023-06-13 09:20:03 +10:00
parent 8273be2218
commit 117d2b2107
11 changed files with 92 additions and 216 deletions

View File

@@ -1,4 +1,4 @@
From 7701298b62301e551fd7514f79f19eabacc66cac Mon Sep 17 00:00:00 2001
From 4ae28b915b829e0a0e1cd5afa9d91cb2c1f7a149 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Fri, 6 Jan 2023 08:09:11 +0100
Subject: [PATCH] winex11: Use the user configured keyboard layout if any.
@@ -12,7 +12,7 @@ Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45605
3 files changed, 33 insertions(+), 6 deletions(-)
diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c
index 7406aabdf40..4fc502cfe5d 100644
index a9f172db9df..087026f7d5f 100644
--- a/dlls/winex11.drv/keyboard.c
+++ b/dlls/winex11.drv/keyboard.c
@@ -931,7 +931,6 @@ static const struct {
@@ -94,18 +94,18 @@ index 7406aabdf40..4fc502cfe5d 100644
syms = (keysyms_per_keycode > 4) ? 4 : keysyms_per_keycode;
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
index 12be88a31c5..653d2fe80e3 100644
index 8798a49e506..80dbbee3727 100644
--- a/dlls/winex11.drv/x11drv.h
+++ b/dlls/winex11.drv/x11drv.h
@@ -455,6 +455,7 @@ extern BOOL use_system_cursors DECLSPEC_HIDDEN;
@@ -456,6 +456,7 @@ extern BOOL use_primary_selection DECLSPEC_HIDDEN;
extern BOOL use_system_cursors DECLSPEC_HIDDEN;
extern BOOL show_systray DECLSPEC_HIDDEN;
extern BOOL grab_pointer DECLSPEC_HIDDEN;
extern BOOL grab_fullscreen DECLSPEC_HIDDEN;
+extern int keyboard_layout DECLSPEC_HIDDEN;
extern BOOL usexcomposite DECLSPEC_HIDDEN;
extern BOOL managed_mode DECLSPEC_HIDDEN;
extern BOOL decorated_mode DECLSPEC_HIDDEN;
@@ -723,6 +724,7 @@ extern void init_recursive_mutex( pthread_mutex_t *mutex ) DECLSPEC_HIDDEN;
@@ -716,6 +717,7 @@ extern void init_recursive_mutex( pthread_mutex_t *mutex ) DECLSPEC_HIDDEN;
/* keyboard.c */
@@ -114,18 +114,18 @@ index 12be88a31c5..653d2fe80e3 100644
#define DEPTH_COUNT 3
diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c
index 751bf2b4449..7056cf6643d 100644
index e752302b236..05fe0ad8955 100644
--- a/dlls/winex11.drv/x11drv_main.c
+++ b/dlls/winex11.drv/x11drv_main.c
@@ -76,6 +76,7 @@ BOOL use_system_cursors = TRUE;
@@ -75,6 +75,7 @@ BOOL use_primary_selection = FALSE;
BOOL use_system_cursors = TRUE;
BOOL show_systray = TRUE;
BOOL grab_pointer = TRUE;
BOOL grab_fullscreen = FALSE;
+int keyboard_layout = -1;
BOOL managed_mode = TRUE;
BOOL decorated_mode = TRUE;
BOOL private_color_map = FALSE;
@@ -578,6 +579,9 @@ static void setup_options(void)
@@ -575,6 +576,9 @@ static void setup_options(void)
if (!get_config_key( hkey, appkey, "GrabFullscreen", buffer, sizeof(buffer) ))
grab_fullscreen = IS_OPTION_TRUE( buffer[0] );
@@ -136,5 +136,5 @@ index 751bf2b4449..7056cf6643d 100644
if (p) set_reg_string_value( hkey, "KeyboardLayoutList", p, len * sizeof(WCHAR) );
free( p );
--
2.39.2
2.40.1

View File

@@ -1,4 +1,4 @@
From 0f7681a0db7d45bbd3f76964bfc1d0cfe87cbbfc Mon Sep 17 00:00:00 2001
From ec9488b146cde690e9015cd1ec442471176c2751 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Wed, 30 Nov 2022 18:46:00 +0100
Subject: [PATCH] winex11: Support fixed X11 keycode to scancode conversion.
@@ -16,7 +16,7 @@ Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45605
3 files changed, 47 insertions(+), 2 deletions(-)
diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c
index 2fa585d38b6..9a3890424a0 100644
index 03d24edb44f..caccf34d947 100644
--- a/dlls/winex11.drv/keyboard.c
+++ b/dlls/winex11.drv/keyboard.c
@@ -66,6 +66,46 @@ static const unsigned int ControlMask = 1 << 2;
@@ -66,7 +66,7 @@ index 2fa585d38b6..9a3890424a0 100644
static int NumLockMask, ScrollLockMask, AltGrMask; /* mask in the XKeyEvent state */
static pthread_mutex_t kbd_mutex = PTHREAD_MUTEX_INITIALIZER;
@@ -1742,7 +1782,7 @@ void X11DRV_InitKeyboard( Display *display )
@@ -1701,7 +1741,7 @@ void X11DRV_InitKeyboard( Display *display )
}
TRACE("keycode %u => vkey %04X\n", e2.keycode, vkey);
keyc2vkey[e2.keycode] = vkey;
@@ -75,7 +75,7 @@ index 2fa585d38b6..9a3890424a0 100644
if ((vkey & 0xff) && vkey_used[(vkey & 0xff)])
WARN("vkey %04X is being used by more than one keycode\n", vkey);
vkey_used[(vkey & 0xff)] = 1;
@@ -1853,7 +1893,7 @@ void X11DRV_InitKeyboard( Display *display )
@@ -1812,7 +1852,7 @@ void X11DRV_InitKeyboard( Display *display )
#undef VKEY_IF_NOT_USED
/* If some keys still lack scancodes, assign some arbitrary ones to them now */
@@ -85,11 +85,11 @@ index 2fa585d38b6..9a3890424a0 100644
const char *ksname;
keysym = XkbKeycodeToKeysym( display, keyc, 0, 0 );
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
index 653d2fe80e3..30a9403f185 100644
index 80dbbee3727..260dd80de59 100644
--- a/dlls/winex11.drv/x11drv.h
+++ b/dlls/winex11.drv/x11drv.h
@@ -456,6 +456,7 @@ extern BOOL show_systray DECLSPEC_HIDDEN;
extern BOOL grab_pointer DECLSPEC_HIDDEN;
@@ -457,6 +457,7 @@ extern BOOL use_system_cursors DECLSPEC_HIDDEN;
extern BOOL show_systray DECLSPEC_HIDDEN;
extern BOOL grab_fullscreen DECLSPEC_HIDDEN;
extern int keyboard_layout DECLSPEC_HIDDEN;
+extern BOOL keyboard_scancode_detect DECLSPEC_HIDDEN;
@@ -97,18 +97,18 @@ index 653d2fe80e3..30a9403f185 100644
extern BOOL managed_mode DECLSPEC_HIDDEN;
extern BOOL decorated_mode DECLSPEC_HIDDEN;
diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c
index 7056cf6643d..a9c0a150917 100644
index 05fe0ad8955..802bbae7815 100644
--- a/dlls/winex11.drv/x11drv_main.c
+++ b/dlls/winex11.drv/x11drv_main.c
@@ -77,6 +77,7 @@ BOOL show_systray = TRUE;
BOOL grab_pointer = TRUE;
@@ -76,6 +76,7 @@ BOOL use_system_cursors = TRUE;
BOOL show_systray = TRUE;
BOOL grab_fullscreen = FALSE;
int keyboard_layout = -1;
+BOOL keyboard_scancode_detect = TRUE;
BOOL managed_mode = TRUE;
BOOL decorated_mode = TRUE;
BOOL private_color_map = FALSE;
@@ -586,6 +587,9 @@ static void setup_options(void)
@@ -583,6 +584,9 @@ static void setup_options(void)
if (p) set_reg_string_value( hkey, "KeyboardLayoutList", p, len * sizeof(WCHAR) );
free( p );
@@ -119,5 +119,5 @@ index 7056cf6643d..a9c0a150917 100644
default_visual.depth = wcstol( buffer, NULL, 0 );
--
2.39.2
2.40.1

View File

@@ -1,8 +1,7 @@
From 84b078263007bcc40fb246a75ce7a1bb3ca62d4a Mon Sep 17 00:00:00 2001
From fea8e9e597fd7b92166b2e78321506b884051d99 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Fri, 6 Jan 2023 11:31:36 +0100
Subject: [PATCH 9/9] winex11: Disable keyboard scancode auto-detection by
default.
Subject: [PATCH] winex11: Disable keyboard scancode auto-detection by default.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=30984
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45605
@@ -12,11 +11,11 @@ Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45605
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c
index bbdd5ad7010..6568fcc1c41 100644
index 802bbae7815..26cf404731b 100644
--- a/dlls/winex11.drv/x11drv_main.c
+++ b/dlls/winex11.drv/x11drv_main.c
@@ -80,7 +80,7 @@ BOOL show_systray = TRUE;
BOOL grab_pointer = TRUE;
@@ -76,7 +76,7 @@ BOOL use_system_cursors = TRUE;
BOOL show_systray = TRUE;
BOOL grab_fullscreen = FALSE;
int keyboard_layout = -1;
-BOOL keyboard_scancode_detect = TRUE;
@@ -38,5 +37,5 @@ index a9d83b45f00..3ee20d49874 100644
else CheckDlgButton( dialog, IDC_KEYBOARD_SCANCODE_DETECT, BST_UNCHECKED );
free( buffer );
--
2.39.1
2.40.1