web-dev-qa-db-ja.com

AutoHotkeyのキーを使用して特定のキーを無効にするにはどうすればよいですか?

「End」キーでa、s、d、i、j、k、lなどの特定のキーをブロック/ロックしたい。そして、もう一度「終了」をクリックして同じキー(a、s、d、i、j、k、l)のブロックを解除すると。 Autohotkeyでこれを行うにはどうすればよいですか?誰かがコマンドと機能を教えてもらえますか?

6
Samith Azmy

AutoHotkeyには、次の2つの機能があります。

  1. 「一時停止」。スクリプト内のすべてのホットキーが機能しなくなります。
  2. 「return」。これは、単一のキーまたはホットキー(およびマウスボタン)を無効にするために使用できます。

これで、これら2つの機能を有利に活用できます。

このコード行をスクリプトのどこかに配置するだけです。

end::Suspend

これにより、を押すとスクリプトが一時停止されます End。スクリプトが一時停止されると、キーは正常に機能します。でスクリプトをアクティブ化したら End、キーは無効になります。

次のようなスクリプトを実行すると、キーを無効にできます。

a::return
b::return
...

チャームのように機能します。

簡単にするために、スクリプト全体は次のようになります。

end::Suspend
a::return
b::return

最後のリターンの下に無効にしたいキーを追加するだけです。文字や数字以外のキーを無効にしたい場合は、包括的な キーリスト を参照してください。キーの名前を2つのコロンの前に配置します。例: NumPad0 :: return

「disablekeys.ahk」のように、拡張子が.ahkのファイルにスクリプトを保存します。自動的に起動する場合は、ダブルクリックするか、スタートアップフォルダにショートカットを作成します。完了。

10