Rebase against 38e95ed2227dd3f0fc3d1394c884265d43e3b283

This commit is contained in:
Alistair Leslie-Hughes
2020-04-08 09:15:39 +10:00
parent 160a5024b4
commit bf3fbb7bdf
18 changed files with 109 additions and 486 deletions

View File

@@ -1,7 +1,7 @@
From ef0b82046445fe430ab85bb8069f3e4536b11f7a Mon Sep 17 00:00:00 2001
From c65d46aba7d72f8bde0d74b110382a4383dde085 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 08/12] winex11.drv: Keep track of pointer and device button
Subject: [PATCH] winex11.drv: Keep track of pointer and device button
mappings.
We are going to receive raw button events and we will need to apply the
@@ -16,10 +16,10 @@ 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 7856b04c8f5..3f5d76be57b 100644
index 2a3bed787ab..37c96c926f4 100644
--- a/dlls/winex11.drv/keyboard.c
+++ b/dlls/winex11.drv/keyboard.c
@@ -2010,13 +2010,24 @@ BOOL X11DRV_MappingNotify( HWND dummy, XEvent *event )
@@ -1977,13 +1977,24 @@ BOOL X11DRV_MappingNotify( HWND dummy, XEvent *event )
{
HWND hwnd;
@@ -51,7 +51,7 @@ index 7856b04c8f5..3f5d76be57b 100644
}
diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
index 105db08a78a..19ed2a29287 100644
index b420f4bbd4b..8691cc01531 100644
--- a/dlls/winex11.drv/mouse.c
+++ b/dlls/winex11.drv/mouse.c
@@ -25,6 +25,9 @@
@@ -64,7 +64,7 @@ index 105db08a78a..19ed2a29287 100644
#ifdef HAVE_X11_EXTENSIONS_XINPUT2_H
#include <X11/extensions/XInput2.h>
#endif
@@ -143,6 +146,14 @@ MAKE_FUNCPTR(XISelectEvents);
@@ -142,6 +145,14 @@ MAKE_FUNCPTR(XISelectEvents);
#undef MAKE_FUNCPTR
#endif
@@ -79,7 +79,7 @@ index 105db08a78a..19ed2a29287 100644
/***********************************************************************
* X11DRV_Xcursor_Init
*
@@ -249,6 +260,70 @@ void sync_window_cursor( Window window )
@@ -247,6 +258,70 @@ void sync_window_cursor( Window window )
set_window_cursor( window, cursor );
}
@@ -150,7 +150,7 @@ index 105db08a78a..19ed2a29287 100644
#ifdef HAVE_X11_EXTENSIONS_XINPUT2_H
/***********************************************************************
* update_relative_valuators
@@ -1792,6 +1867,8 @@ static BOOL X11DRV_DeviceChanged( XGenericEventCookie *xev )
@@ -1790,6 +1865,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 105db08a78a..19ed2a29287 100644
return TRUE;
}
@@ -1861,13 +1938,12 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev )
@@ -1859,13 +1936,12 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev )
#endif /* HAVE_X11_EXTENSIONS_XINPUT2_H */
@@ -172,9 +172,9 @@ index 105db08a78a..19ed2a29287 100644
-#if defined(SONAME_LIBXI) && defined(HAVE_X11_EXTENSIONS_XINPUT2_H)
+#if defined(SONAME_LIBXI)
int event, error;
void *libxi_handle = wine_dlopen( SONAME_LIBXI, RTLD_NOW, NULL, 0 );
void *libxi_handle = dlopen( SONAME_LIBXI, RTLD_NOW );
@@ -1883,11 +1959,20 @@ void X11DRV_XInput2_Init(void)
@@ -1881,11 +1957,20 @@ void X11DRV_XInput2_Init(void)
return; \
}
@@ -196,10 +196,10 @@ index 105db08a78a..19ed2a29287 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 432dd5909ca..7145fec74e7 100644
index c2c63278a07..01f36c04862 100644
--- a/dlls/winex11.drv/x11drv.h
+++ b/dlls/winex11.drv/x11drv.h
@@ -632,6 +632,7 @@ extern void retry_grab_clipping_window(void) DECLSPEC_HIDDEN;
@@ -630,6 +630,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 432dd5909ca..7145fec74e7 100644
DWORD mask, DWORD flags ) DECLSPEC_HIDDEN;
diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c
index 11e4ee29155..ff9185a523c 100644
index e6e61e801e1..20e829ba64f 100644
--- a/dlls/winex11.drv/x11drv_main.c
+++ b/dlls/winex11.drv/x11drv_main.c
@@ -623,6 +623,7 @@ static BOOL process_attach(void)
@@ -615,6 +615,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 11e4ee29155..ff9185a523c 100644
X11DRV_DisplayDevices_Init(FALSE);
--
2.24.1
2.25.1