diff --git a/src/config.rs b/src/config.rs index b1d5de2..8a94a2d 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 b76b171..f576f63 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)); }