ぺんちゃん日記

食と歴史と IT と。 Web の旅人ぺんじろうが好奇心赴くままに彷徨います 。

【AutoHotkey】キーボードから N 秒後にクリックイベントを発生させる

目次


マウスクリックがおぼつかない時がある。

体のポジションがイマイチで指に力が入らずマウスクリックの口先生ことが増えてきました。
そんな時はプライムビデオとか YouTube を見てやり過ごします。
でも再生ボタンが押せない。
広告のスキップうざすぎ。
たった1クリックなのですけど。


これまでは1 Click なので何とか頑張ってやり過ごしていました。
頑張ればなんとかなる。
動画を見ながらもそもそ動いていると落ち着くべきポジションへずれていくので時間さえかければなんとかなるんだ。
でも最近はそのがんばりも虚しくなってきました。
Autohotkey を使えば 簡単に対処できますね。
面倒がらないでスクリプトを作っちゃいなよ、You !

早速実装。

クリックイベントを発生させるショートカットキーは Shift + PgDnとしました。
この組み合わせはブラウザのタブの複数選択などで使うことがあります。
キー割り当てを行うことでデメリットがありますが、私にとっては若干メリットのほうが大きいと判断します。
ショートカットキー入力してからクリックイベント発生するまでの猶予時間は12秒としました。

出来上がったスクリプトはこちら。

;12秒後に左クリックしてもらう。
;マウスクリックできない時にスクリーンキーボードからの操作だけでクリックイベントを発生させる。
;12秒は体内時計で数えて。
;期待しないボタンをクリップされないように注意。
+PgUp::
    SetTimer, delayleftclick, 12000
    return
delayleftclick:
    SetTimer, delayleftclick, off
    send, {LButton}
    return

;12秒後に右クリックする。
;詳細は左クリックと同じ。
+PgDn::
    SetTimer, delayrightclick, 12000
    return
delayrightclick:
    SetTimer, delayrightclick, off
    send, {RButton}
    return

左クリックだけではなく PgDnで右クリックできるようにしました。
やることは一緒ですからね。
ショートカットキーを検知したらタイマーをセットしてイベント送信するだけ。
ただ発生させるだけなら簡単ですね。

本当は怖いタイマークリック。

タイトルには N秒とありますが、スクリプト上では12秒で数値で直接指定する手抜き具合。
気の利いた人ならここでイベント発生までの残り時間を表示するなどのミス防止の仕組みを追加するのですが、私はユーザーを甘やかしませんw。
プログラマーが楽をするとユーザーが苦労する。
購入ボタンなど、押されて困る物が表示されていないことをくれぐれも確認して利用してください。
1時間かけて編集したページを閉じてしまっても誰も責任取ってくれませんからね。
途中キャンセルもできないので緊急時は関係ない所にマウスポインターを置いて空打ちさせてください。
イベント発生までの時間は12秒としました。
最初は7秒で使っていたけど、クリックしてはいけない場所が多いほど慎重にならざるを得ず操作がもたつく傾向があったので7秒では不安でした。
今のところ頻繁に使う機能ではなく、動画再生などのゆったりした目的で使うつもりなので待てない時間ではないと思います。


今回は考えなしに作っているので真似しない方がいいかも。
もっとうまい解決方法は対処している人がいると思いますよ。





この記事に登場するAutohotkey スクリプトについて

この記事の中で私が作成したプログラムは、全て自由に使うことができます。
詳しくはこちら