【AutoHotkey】時間差で連続入力するショートカットキー

アイキャッチ画像 時間差で複数のキーを連続入力する

この記事の内容

AutoHotkeyを使って、時間差で複数のキーを連続入力するスクリプトの書き方


この方法を用いれば以下のことが可能になります:

  • ショートカット一発で「↑↑↓↓←→←→BA」的な順番に押されるコマンドが自動で入力できる
  • ショートカット一発で、まるでタイピングしているかのように自動入力できる

お前はもう死んでいる

読みたい場所へジャンプ

書き方

ここでは、例として

[Windowsキー]と[V]を同時押ししたら、「時間差入力」というテキストが出力される

というスクリプトを用いて解説していきます。

時間差入力

AutoHotkeyを開いて以下の通りに記述します。

#v::
Send, {時}
Sleep, 100
Send, {間}
Sleep, 100
Send, {差}
Sleep, 100
Send, {入}
Sleep, 100
Send, {力}
return

順番に解説しますと、

#v
#は修飾キーとしての[Windowsキー]を表していますので、#vは「WindowsキーとVを同時押ししたら」というトリガーとなる条件部分を示しています。

修飾キーとはなんぞ?って人はこちらをチェック

Send, {時}
「時」という文字を出力

Sleep, 100
次の命令が実行されるまでどのくらい待機するかを表しています。単位はミリ秒です。つまりこのスクリプトでは「時」出力後に100ミリ秒(0.1秒)待機する、という感じになっています。

10ミリ秒0.01秒
100ミリ秒0.1秒
100ミリ秒1秒


return
今回のスクリプトのように、複数の命令があるショートカットを作成した際は、終わりにこの「return」を記述します。

まとめ

今回紹介したスクリプトは簡略化すると以下のような構成になっています。

時間差で連続入力(入力するキー1が通常キーの場合)
入力するキー1 & 入力するキー2::
Send, {出力するキー}
Sleep, 100
Send, {出力するキー}
return

[ トリガーとなるキー1 & トリガーとなるキー2 ]、 [出力するキー]、[100]の部分を自分の好きな値に変更してお使いください。

MEMO

[トリガーとなるキー1]がアルファベットキーや数字キーなどの場合は、[トリガーとなるキー1]と [トリガーとなるキー2]の間に & が入りますのでお忘れなく


「oとpを同時押ししたら」という条件の場合

o & p::

となります

時間差で連続入力(入力するキー1が修飾キーの場合)
入力するキー1入力するキー2::
Send, {出力するキー}
Sleep, 100
Send, {出力するキー}
return
MEMO
[トリガーとなるキー1]が修飾キーの場合は、[トリガーとなるキー1]と [トリガーとなるキー2]の間には何も入りません。修飾キーは [Ctrlキー][Shiftキー][Altキー][Winキー] の4つです


「Windowsキーとvを同時押ししたら」という条件の場合

#v::

となります

「Windowsキーが#?はぁ?( ゚Д゚)」って人は以下の記事をご参照ください

アイキャッチ画像 修飾キー 【AutoHotkey】修飾キーの使い方と使用例


また、使用する際はAutoHotkeyをリロードすることをお忘れなく。これをしないと新しく記述したスクリプトが反映されませんので。

質問などがある際はコメント欄にご記入ください。分かる範囲でお答えします。

それでは、最後まで読んで頂きありがとうございました。

1 COMMENT

ナポリタン寿司

こんにちは~。前回コメントさせていただいたナポリタン寿司です。

この記事では、何かのキー → 連続入力ですが、その逆の同じキーを2度押し → 別のキー入力ができないか試したらできたので、報告しときます。このコメントを見て、参考になる方がいらっしゃれば幸いです。

【やりたいこと】
Ctrl2回押しでWindows+Vを押したことにする

【なぜ、やりたいのか?】
Clibor(クリップボード履歴ソフト)の呼び出しをWindows+Vにしたのはいいものの、たまにWindows標準のクリップボード履歴を使いたい時があるため。

【実際に書き込んだコード】
;—-Ctrl2回でWindows+V呼び出し—–
Ctrl::
Keywait, Ctrl, U ;1回目のキーが押し上げられるのを待つ
Keywait, Ctrl, D T0.2 ;0.2秒待機。Ctrlが再び押されると成功(0)、押されないと失敗(1)
If (ErrorLevel=1) ;失敗した場合の動作
{
Send,{Ctrl} ;普通にCtrl1回押す
}
else ;成功した場合の動作(Ctrl2回押し)
{
Send, #v ;Windows+Vを押す
}
return

これで、Cliborのクリップボード呼び出し(Ctrl2回)とWindows標準のクリップボード呼び出し(Windows+V)を綺麗に入れ替えることができます。

それでは失礼します。

返信する

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)