Module: wine Branch: master Commit: 516bfa12416c41ddb7893e5ce4af17104a35c157 URL: https://gitlab.winehq.org/wine/wine/-/commit/516bfa12416c41ddb7893e5ce4af171...
Author: Alexandros Frantzis alexandros.frantzis@collabora.com Date: Thu Dec 14 11:23:09 2023 +0200
winewayland.drv: Support mouse buttons 4 and 5.
Map linux mouse buttons to win32 XBUTTON1 and XBUTTON2. Although BTN_SIDE and BTN_EXTRA are the typical event codes for these buttons, some drivers use BTN_BACK and BTN_FORWARD, so map both pairs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56026
---
dlls/winewayland.drv/wayland_pointer.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/dlls/winewayland.drv/wayland_pointer.c b/dlls/winewayland.drv/wayland_pointer.c index 3a0656b6580..fad75c8506c 100644 --- a/dlls/winewayland.drv/wayland_pointer.c +++ b/dlls/winewayland.drv/wayland_pointer.c @@ -163,6 +163,16 @@ static void pointer_handle_button(void *data, struct wl_pointer *wl_pointer, case BTN_LEFT: input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN; break; case BTN_RIGHT: input.mi.dwFlags = MOUSEEVENTF_RIGHTDOWN; break; case BTN_MIDDLE: input.mi.dwFlags = MOUSEEVENTF_MIDDLEDOWN; break; + case BTN_SIDE: + case BTN_BACK: + input.mi.dwFlags = MOUSEEVENTF_XDOWN; + input.mi.mouseData = XBUTTON1; + break; + case BTN_EXTRA: + case BTN_FORWARD: + input.mi.dwFlags = MOUSEEVENTF_XDOWN; + input.mi.mouseData = XBUTTON2; + break; default: break; }