如何從命令列或使用熱鍵交換主滑鼠按鈕和輔助滑鼠按鈕,而無需重新啟動或編譯程式?

如何從命令列或使用熱鍵交換主滑鼠按鈕和輔助滑鼠按鈕,而無需重新啟動或編譯程式?

我八歲的兒子是左撇子,我是右撇子。我希望能夠從命令列快速輕鬆地切換主要和次要滑鼠按鈕。我們使用Windows 10。,它提供了 c 和 C#* 解決方案。我發現它提供了一個不需要重新啟動的解決方案,並且還提供了 Stack Overflow 答案的連結。然而,在我看來,這應該可以在不訴諸編譯語言的情況下完成。我很樂意使用 PowerShell、Python、Perl 等解決方案尼爾命令實用程式等,但我不想訴諸編譯語言。

感謝您的協助。

編輯:更改問題以添加“...或通過使用熱鍵...”,因為我最終想使用 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),並且我可以通過按一個鍵立即在滑鼠左鍵和右鍵之間切換。

相關內容