[client] input: forward extended mouse buttons

Map the remaining Linux mouse buttons through Wayland and evdev.

Use one X11 translation for cooked and raw press and release events.

Ignore unsupported horizontal scrolling and extended SPICE buttons.
This commit is contained in:
Geoffrey McRae
2026-08-09 02:50:02 +10:00
parent efa1b1bbee
commit 48f0b66a4f
5 changed files with 57 additions and 24 deletions

View File

@@ -62,7 +62,7 @@ typedef struct LG_InputOps
/* Position is in guest pixels and must be within the supplied dimensions. */
bool (*mousePosition)(void * opaque, uint32_t x, uint32_t y,
uint32_t width, uint32_t height);
/* Button order: left, middle, right, wheel up/down, side, extra. */
/* Button order: left, middle, right, wheel up/down, then HID buttons 4+. */
bool (*mousePress)(void * opaque, unsigned int button);
bool (*mouseRelease)(void * opaque, unsigned int button);