如何通过命令行或使用热键交换主鼠标按钮和辅鼠标按钮,而无需重新启动或编译程序?

如何通过命令行或使用热键交换主鼠标按钮和辅鼠标按钮,而无需重新启动或编译程序?

我八岁的儿子是左撇子,我是右撇子。我希望能够从命令行快速轻松地切换鼠标主键和副键。我们使用 Windows 10。我发现,提供 c 和 C#* 解决方案。我发现它提供了一个需要重新启动的解决方案,并且还提供了 Stack Overflow 答案的链接。但是,在我看来,这应该可以在不借助编译语言的情况下实现。我很乐意使用 PowerShell、Python、Perl 和nircmd实用程序等,但我宁愿不采用编译语言。

感谢您的帮助。

编辑:将问题改为添加“...或者使用热键...”,因为我最终想使用 Autohotkey 热键来执行此操作;事实证明 Autohotkey 可以自行进行交换。我假设答案是例如 Powershell 脚本,我将使用 Autohotkey 热键调用它。请参阅已接受的答案。

答案1

以下是我为 AHK 想出的方法。只需使用ctrl+alt+m

swap:
swap=false

^!m::
    swap := !swap 

#if !swap
    RButton::LButton
    LButton::RButton

答案2

这是答案,发布于https://superuser.com/a/1357020/790554

这是 Autohotkey 版本(修改/基于https://github.com/jNizM/AHK_DllCall_WinAPI/blob/master/src/Mouse%20Input%20Functions/SwapMouseButton.ahk)。

; autohotkey code - mapped to F12
F12::
    buttonState := DllCall("user32.dll\SwapMouseButton", "UInt", 1)
    if buttonState <> 0
    {
        buttonState := DllCall("user32.dll\SwapMouseButton", "UInt", 0)
    }

这适用于所有 Windows(包括 Windows 10)。我通常将其映射到键盘上的热键(例如“F12”键)(使用 Autohotkey),并且我可以通过按下一个键立即在鼠标左键和右键之间切换。

相关内容