## 事象 [[AutoHotkey]]で `Ctrl` `Shift` `Alt` などの[[修飾キー]]が押しっぱなしになる問題。もう一度その[[修飾キー]]を押すとなおるが、気付かずに操作を続けてしまうのでストレスが溜まる。 ## 原因 [[Send系コマンド]]で[[修飾キー]]を指定したとき、[[修飾キー]]に対するDownとUpのイベントがそれぞれ起こる。Downイベントが発生してからUpイベントが発生するまでの間に、該当の物理キーがキーボードから離されると、Upイベントが発生せず、その後ずっと押しっぱなしと判定されるから (たぶん) ## 解決策 ### `😄F13`~`F24`キーを使う ツールのキーバインドに[[修飾キー]]を割り当てして、それを[[AutoHotkey]]経由で呼び出している場合は、代わりに`F13`~`F24`キーを使えばいい。 [[修飾キー]]を使っていないため、これらで実行されるコマンドで問題は発生しない。[[AutoHotkey]]でリマップするキーバインドはその性質上、同時押し数が増える傾向にある(`Ctrl+Shift+Alt+A`など)ため一番効果的。 ### 🤔[[Sleep]]を挟む `Sleep, 2`とかだけでも効果があるとのこと。`F13`~`F24`が使えない場合は試してみたい。 [快適キーボード操作のためのキーカスタマイズ 〜AutoHotKeyのキー押しっぱなし問題とScrollLockの非推奨~ | さくらのナレッジ](https://knowledge.sakura.ad.jp/25827/#F13F24) ### 😢[[SendInput]]を使う よく出てくる回避策。すでに使っているので却下。([[Send]]と比較すると[[SendInput]]の方が発生する頻度はかなり低い) ### 😢 AutoHotkey causing control key to get stuck https://stackoverflow.com/questions/49009176/autohotkey-causing-control-key-to-get-stuck この解決方法が気になる。。 ```autohotkey ;; Avoid Ctrl getting stuck in down state, even when not physically pressed: #MenuMaskKey vkFF ``` https://www.autohotkey.com/docs/commands/_MenuMaskKey.htm 効果無し。 ## 参考 [快適キーボード操作のためのキーカスタマイズ 〜AutoHotKeyのキー押しっぱなし問題とScrollLockの非推奨~ | さくらのナレッジ](https://knowledge.sakura.ad.jp/25827/#F13F24)