任意のマクロを設定して PC の作業効率を向上させる無料ソフト AutoHotkey v2 で作成した、マウス左ボタンを押しっぱなしにしている間クリックを連射する機能に、 ScrollLock キーの ON/OFF で、その連射機能の ON/OFF を切り替える処理を追加したので、そのスクリプトを紹介します。
そのスクリプトで用いた関数のオプションについても紹介します。
※ AutoHotkey 2.0 を使用しています。 AutoHotkey は自己責任でご利用ください。
※ スクリプトは自己責任で利用してください。
前回の記事
前回は、 AutoHotkey v2 で、マウス左ボタンを押しっぱなしの状態で連続クリックさせるスクリプトを作成して実行・終了する手順を紹介しました。
ScrollLock キーの ON/OFF で連射の ON/OFF を切り替える
前回、マウス左ボタンを押しっぱなしにしている間、クリックを連射するスクリプトを AutoHotkey v2 用に作成しました。
※前回のスクリプトの説明は前回の記事を参照してください。
~$LButton::
{
If !KeyWait("LButton", "T0.5")
{
While GetKeyState("LButton", "P")
{
Click
Sleep 50
}
}
}
しかし、0.5 秒以上長押しするとダブルクリックを常にしているような状態になるので、誤操作が心配になり、.ahk スクリプトの実行を終了するよりも簡単に、 ON/OFF を切り替えたいと思いました。
そこで、普段使っていない ScrollLock の ON/OFF で連射機能の有効無効を切り替える処理を以下のようにスクリプトに追加しました。
~$LButton::
{
If GetKeyState("ScrollLock", "T")
{
If !KeyWait("LButton", "T0.05")
{
While GetKeyState("LButton", "P")
{
Click
Sleep 50
}
}
}
}
3行目に追加した GetKeyState は前回紹介したボタンやキーが押されているかを判定するものと異なり、 ScrollRock, CapsLock, NumLock などが ON になっているか OFF になっているかを返します。
そのため、第二引数には P ではなく T を指定しています。
ホットキーのマウス左ボタンが押された直後に、3行目のこの判定が行われ、ScrollLock が OFF の場合は、何もしないで処理を終了します。
その後、 ScrollLock キーを押して ON の状態にしてから、マウス左ボタンを長押しすればクリックが4行目以降の処理が実行され連射します。
Returns 1 (true) or 0 (false) depending on whether the specified keyboard key or mouse/controller button is down or up. Also retrieves controller status.
指定されたキーボードのキーまたはマウス/コントローラーのボタンが下にあるか上にあるかに応じて、1 (true) または 0 (false) を返します。コントローラーのステータスも取得します。
T: Retrieve the toggle state. For keys other than CapsLock, NumLock and ScrollLock, the toggle state is generally 0 when the script starts and is not synchronized between processes.
T: トグル状態を取得します。 CapsLock、NumLock、ScrollLock 以外のキーの場合、スクリプトの開始時のトグル状態は通常 0 であり、プロセス間で同期されません。
This function returns 1 (true) if the key is down (or toggled on) or 0 (false) if it is up (or toggled off).
この関数は、キーが押されている (またはオンに切り替えられている) 場合は 1 (true) を返し、キーが押されている (またはスイッチがオフにされている) 場合は 0 (false) を返します。
GetKeyState – Syntax & Usage | AutoHotkey v2 と Google 翻訳
まとめ
今回は、任意のマクロを設定して PC の作業効率を向上させる無料ソフト AutoHotkey v2 で作成した、マウス左ボタンを押しっぱなしにしている間クリックを連射する機能に、 ScrollLock キーの ON/OFF で、その連射機能の ON/OFF を切り替える処理を追加したので、そのスクリプトを紹介しました。
そのスクリプトで用いた関数のオプションについても紹介しました。
参照サイト Thank You!
- AutoHotkey
- Windows10でマウスのクリックを押しっぱなしで連打する方法【自動ツール】
- AutoHotkey Wiki
- GetKeyState – Syntax & Usage | AutoHotkey v2
記事一覧 → Compota-Soft-Press
コメント