我八岁的儿子是左撇子,我是右撇子。我希望能够从命令行快速轻松地切换鼠标主键和副键。我们使用 Windows 10。我发现这,提供 c 和 C#* 解决方案。我发现这它提供了一个需要重新启动的解决方案,并且还提供了 Stack Overflow 答案的链接。但是,在我看来,这应该可以在不借助编译语言的情况下实现。我很乐意使用 PowerShell、Python、Perl 和nircmd实用程序等,但我宁愿不采用编译语言。
感谢您的帮助。
- 如果您感兴趣的话,请注意:该语言名称显然使用了“#”(U+0023 # 数字符号)字符,而不是“♯”(U+266F ♯ 音乐升调符号)字符,即使它的名称发音为 C Sharp。参见https://en.wikipedia.org/wiki/C_Sharp_(programming_language)#Name。
编辑:将问题改为添加“...或者使用热键...”,因为我最终想使用 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),并且我可以通过按下一个键立即在鼠标左键和右键之间切换。