You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Rebase against e254680ed15f43409114881d8ed613aa4b0de944.
This commit is contained in:
@@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user