キーボードフックなしでホットキー中でSendコマンドを使用したときに修飾キーの状態を復元しなくなるタイムアウト時間を設定
#HotkeyModifierTimeout Value
引数名 | 説明 |
---|---|
Value |
ミリ秒で指定。 初期値は50。 |
ホットキー中でSendコマンドが実行された場合、押されている修飾キーが擬似的に押し上げ状態にされ、修飾キーが押されていない状態にされてからキーストロークが送信される。
キーボードフックを使用していないと、Sendコマンドが終わったあとに修飾キーがまだ実際に押されているかを知ることができないため、修飾キーを再度押された状態に戻すべきか分からない。
そこで、このコマンドで設定された時間が経過していなければユーザーはまだ修飾キーを押したままであるとみなし、修飾キーを擬似的に再度押し下げ状態にする。
この値を大きく設定しすぎると、ユーザーがすでに修飾キーを離しているのに、再度押し下げ状態にしてしまい、修飾キーが押されたままの状態になってしまうことがある。
この状態になってしまった場合、実際に修飾キーを一度押すことで、押されていない状態に戻すことができる。
この値が小さいと、Sendコマンド実行時に修飾キーが離された状態になってしまうことがあり、修飾キーを押したままSendコマンドを含むホットキーを複数回実行することができなくなってしまう。
キーボードフックを使用している場合、修飾キーが実際に押されているかどうかを取得可能なため、この設定に関係なく正確に修飾キーの状態が復元される。
NT系の場合、#InstallKeybdHook指令で強制的にキーボードフックを有効にできる。
9x系では、SetKeyDelayでキーの入力間隔を短くすることで、誤動作を減らすことができる。
#HotkeyModifierTimeout 200