Rebase against e254680ed15f43409114881d8ed613aa4b0de944.

This commit is contained in:
Zebediah Figura
2022-04-15 19:28:24 -05:00
parent ccce92e0d3
commit 2aab2d521a
7 changed files with 58 additions and 58 deletions

View File

@@ -1,4 +1,4 @@
From 509c461b58dce1eeaa6a9a3c572dfb6031ed3b75 Mon Sep 17 00:00:00 2001
From d3ea251f51035613f67f6ee730a12d8775cb4b6b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Thu, 19 Dec 2019 22:34:44 +0100
Subject: [PATCH] winex11.drv: Keep track of pointer and device button
@@ -16,7 +16,7 @@ Original patch by Andrew Eikum <aeikum@codeweavers.com>.
4 files changed, 106 insertions(+), 8 deletions(-)
diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c
index de849066b95..a65e0ee6441 100644
index a55eaf071fe..148e4a7f62b 100644
--- a/dlls/winex11.drv/keyboard.c
+++ b/dlls/winex11.drv/keyboard.c
@@ -1882,13 +1882,24 @@ BOOL X11DRV_MappingNotify( HWND dummy, XEvent *event )
@@ -32,10 +32,10 @@ index de849066b95..a65e0ee6441 100644
+ XRefreshKeyboardMapping( &event->xmapping );
+ X11DRV_InitKeyboard( event->xmapping.display );
+
+ hwnd = GetFocus();
+ if (!hwnd) hwnd = GetActiveWindow();
+ PostMessageW(hwnd, WM_INPUTLANGCHANGEREQUEST,
+ 0 /*FIXME*/, (LPARAM)GetKeyboardLayout(0));
+ hwnd = get_focus();
+ if (!hwnd) hwnd = get_active_window();
+ NtUserPostMessage( hwnd, WM_INPUTLANGCHANGEREQUEST,
+ 0 /*FIXME*/, (LPARAM)NtUserGetKeyboardLayout(0) );
+ break;
+
+ case MappingPointer:
@@ -43,15 +43,15 @@ index de849066b95..a65e0ee6441 100644
+ break;
+ }
- hwnd = GetFocus();
- if (!hwnd) hwnd = GetActiveWindow();
- PostMessageW(hwnd, WM_INPUTLANGCHANGEREQUEST,
- 0 /*FIXME*/, (LPARAM)GetKeyboardLayout(0));
- hwnd = get_focus();
- if (!hwnd) hwnd = get_active_window();
- NtUserPostMessage( hwnd, WM_INPUTLANGCHANGEREQUEST,
- 0 /*FIXME*/, (LPARAM)NtUserGetKeyboardLayout(0) );
return TRUE;
}
diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
index ea50c6bfbee..81be9d87862 100644
index 174c8a3b022..6d0861ad145 100644
--- a/dlls/winex11.drv/mouse.c
+++ b/dlls/winex11.drv/mouse.c
@@ -26,6 +26,9 @@
@@ -150,7 +150,7 @@ index ea50c6bfbee..81be9d87862 100644
#ifdef HAVE_X11_EXTENSIONS_XINPUT2_H
/***********************************************************************
* update_relative_valuators
@@ -1844,6 +1919,8 @@ static BOOL X11DRV_DeviceChanged( XGenericEventCookie *xev )
@@ -1847,6 +1922,8 @@ static BOOL X11DRV_DeviceChanged( XGenericEventCookie *xev )
if (event->reason != XISlaveSwitch) return FALSE;
update_relative_valuators( event->classes, event->num_classes );
@@ -159,7 +159,7 @@ index ea50c6bfbee..81be9d87862 100644
return TRUE;
}
@@ -1930,13 +2007,12 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev )
@@ -1933,13 +2010,12 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev )
#endif /* HAVE_X11_EXTENSIONS_XINPUT2_H */
@@ -174,7 +174,7 @@ index ea50c6bfbee..81be9d87862 100644
int event, error;
void *libxi_handle = dlopen( SONAME_LIBXI, RTLD_NOW );
@@ -1952,11 +2028,20 @@ void x11drv_xinput_load(void)
@@ -1955,11 +2031,20 @@ void x11drv_xinput_load(void)
return; \
}
@@ -196,10 +196,10 @@ index ea50c6bfbee..81be9d87862 100644
xinput2_available = XQueryExtension( gdi_display, "XInputExtension", &xinput2_opcode, &event, &error );
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
index 6db02f5f033..cbd3b240bd4 100644
index e49a772325a..b78eab78dd1 100644
--- a/dlls/winex11.drv/x11drv.h
+++ b/dlls/winex11.drv/x11drv.h
@@ -698,6 +698,7 @@ extern void retry_grab_clipping_window(void) DECLSPEC_HIDDEN;
@@ -696,6 +696,7 @@ extern void retry_grab_clipping_window(void) DECLSPEC_HIDDEN;
extern BOOL clip_fullscreen_window( HWND hwnd, BOOL reset ) DECLSPEC_HIDDEN;
extern void move_resize_window( HWND hwnd, int dir ) DECLSPEC_HIDDEN;
extern void X11DRV_InitKeyboard( Display *display ) DECLSPEC_HIDDEN;
@@ -208,10 +208,10 @@ index 6db02f5f033..cbd3b240bd4 100644
DWORD mask, DWORD flags ) DECLSPEC_HIDDEN;
diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c
index 036a139da1a..e45d58cd926 100644
index d8d4f4c172c..fecd98daf8e 100644
--- a/dlls/winex11.drv/x11drv_main.c
+++ b/dlls/winex11.drv/x11drv_main.c
@@ -625,6 +625,7 @@ static BOOL process_attach(void)
@@ -706,6 +706,7 @@ static BOOL process_attach(void)
if (use_xkb) use_xkb = XkbUseExtension( gdi_display, NULL, NULL );
#endif
X11DRV_InitKeyboard( gdi_display );
@@ -220,5 +220,5 @@ index 036a139da1a..e45d58cd926 100644
init_user_driver();
--
2.35.1
2.34.1