
私の8歳の息子は左利きで、私は右利きです。コマンドラインからマウスのプライマリボタンとセカンダリボタンをすばやく簡単に切り替えられるようにしたいです。私たちはWindows 10を使用しています。これ、CとC#*のソリューションを提供しています。これこれは再起動を必要とする解決策を提供し、Stack Overflowの回答へのリンクも提供しています。しかし、これはコンパイル言語に頼らずに実行できるはずです。PowerShell、Python、Perl、ニルコユーティリティなどもありますし、コンパイル言語に頼りたくもありません。
助けてくれてありがとう。
- ご興味があればご参考までに: 言語名は C シャープと発音されますが、言語名は「♯」(U+266F ♯ ミュージック シャープ記号) 文字ではなく、「#」(U+0023 # 数字記号) 文字を使用しているようです。cf.https://en.wikipedia.org/wiki/C_Sharp_(プログラミング言語)#名前。
編集: 質問を変更して「...またはホットキーを使用して...」を追加しました。これは、最終的に Autohotkey ホットキーを使用してこれを実行したかったためです。Autohotkey 自体でスワップを実行できることがわかりました。回答は、たとえば、Autohotkey ホットキーを使用して呼び出す Powershell スクリプトであると想定していました。承認された回答を参照してください。
答え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 を使用)、キーを押すだけでマウスの左ボタンと右ボタンを瞬時に切り替えることができます。