下向きの矢印キーを例にとります。
$Down::
Send, {Down}
Sleep, 1000 / 8
i := 0
Loop
{
If i < 4
Sleep, 1
Else
Sleep, 0
GetKeyState, State, Down, P
If State = U
Break
Else
Send, {Down}
i += 1
}
Return
以下解説です。
Send, {Down}
Sleep, 1000 / 8
まずは Down キーを1回だけ送信してその後に 1 / 8 秒だけ待ちます。1 / 8 秒はキーリピートが発動するまでの時間です。
1000 だと1秒なので好みの値を設定して下さい。
If i < 4
Sleep, 1
Else
Sleep, 0
最初の4回はやや遅めで繰り返します。(それでも Windows のデフォルト値よりははるかに早いですが。)
この回数も好みで設定して下さい。
Sleep の値を増やすと動作がゆっくりになります。
0 に設定すると最高速でリピートします。
この値も好みで設定して下さい。
GetKeyState, State, Down, P
If State = U
Break
Down キーの押下状態を取得して変数 State へ代入します。U (Up) だったら Loop から抜けます。
Else
Send, {Down}
i += 1
Down キーが押しっぱなしだったら Down を送信して i の値を一つ増やし Loop を継続します。以上の処理を繰り返す事でキーリピートを実現しています。
0 件のコメント:
コメントを投稿