From fbd518952127299dddea91122e0dcb53a0218568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sorch=C3=A9?= Date: Thu, 14 Aug 2025 00:09:39 +0200 Subject: [PATCH] [Feature] Add left-handed mouse emulation for swapped button handling (#249) * Adds left handed mouse mode config * cleanup --- src/config.rs | 3 +++ src/overlays/screen.rs | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/config.rs b/src/config.rs index b1d5de20..8a94a2d8 100644 --- a/src/config.rs +++ b/src/config.rs @@ -273,6 +273,9 @@ pub struct GeneralConfig { #[serde(default = "def_false")] pub focus_follows_mouse_mode: bool, + #[serde(default = "def_false")] + pub left_handed_mouse: bool, + #[serde(default = "def_false")] pub block_game_input: bool, diff --git a/src/overlays/screen.rs b/src/overlays/screen.rs index b76b171f..f576f63e 100644 --- a/src/overlays/screen.rs +++ b/src/overlays/screen.rs @@ -134,6 +134,17 @@ impl InteractionHandler for ScreenInteractionHandler { _ => MOUSE_LEFT, }; + // Swap left and right buttons if left-handed mode is enabled + let btn = if app.session.config.left_handed_mouse { + match btn { + MOUSE_LEFT => MOUSE_RIGHT, + MOUSE_RIGHT => MOUSE_LEFT, + other => other, + } + } else { + btn + }; + if pressed { set_next_move(u64::from(app.session.config.click_freeze_time_ms)); }