私はマウスを両手で使用しており、快適さのために前後に切り替えるのが好きです。しかし、毎回ボタンを切り替えるためにメニューの無数のレイヤーを通過する必要があるため、これは困難です。マウスの左ボタンと右ボタンを切り替える単一のキーボード ショートカットを簡単に作成する方法はありますか?
編集: 私のOSはWindows 7です。
答え1
blsub6 が述べたように、レジストリ値を変更できます (バッチ ファイルから呼び出されるコマンドを使用)。
REG ADD "HKCU\Control Panel\Mouse" /t REG_SZ /v SwapMouseButtons /d 1 /f
または
REG ADD "HKCU\Control Panel\Mouse" /t REG_SZ /v SwapMouseButtons /d 0 /f
ただし、有効になる前にログアウトする必要があります。
のより良い解決策回答に記載されているように、C#で小さな.exeを作成して設定を交換することです。この質問。
次の内容を含む、と呼ばれるテキスト ファイルを作成しますswapmouse.cs
。
using System.Runtime.InteropServices;
using System;
class SwapMouse
{
[DllImport("user32.dll")]
public static extern Int32 SwapMouseButton(Int32 bSwap);
static void Main(string[] args)
{
int rightButtonIsAlreadyPrimary = SwapMouseButton(1);
if (rightButtonIsAlreadyPrimary != 0)
{
SwapMouseButton(0); // Make the left mousebutton primary
}
}
}
swapmouse.exe
次のコマンドでコンパイルします:
"%SystemRoot%\Microsoft.NET\Framework64\v3.5\csc" swapmouse.cs
.NET の最近のバージョンでは、以下を追加する必要がある場合があり/out:swapmouse.exe
ます/target:exe
。
"[%SystemRoot%]\Microsoft.NET\Framework64\[version]\csc" /out:swapmouse.exe /target:exe swapmouse.cs
次に、その exe をダブルクリックしてマウス ボタンを交換します。すぐに有効になります。
または、rad が述べているように、ショートカットを作成し、そのプロパティの [ショートカット] タブでキーボード ショートカット/ホットキーを定義することもできます。
答え2
より良い AHK コード:
Run, main.cpl
Send, {Space}{Enter}
私も両手でマウスを使っていて、Win7 も持っていますが、このコードはうまく動作します!
答え3
これは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 を使用)、キーを押すだけでマウスの左ボタンと右ボタンを瞬時に切り替えることができます。コントロール パネルの読み込みやレジストリの設定、再起動に煩わされる必要はありません。
答え4
Windows Vista (おそらく 7) 以降でマウス ボタンを切り替えるキーボードの方法:
- Windows キー
- 「マウス」と入力
- スペースキー
- 入力
ええ、8回キーを押すことになりますが、それほど難しくはありません...私は何度もやりました