ウィンドウズキーとの組み合わせで指定していたショートカットの動作がおかしいことがあったので調べてみた。
事象としては、下記のようにWinキーとの組み合わせをトリガーにSendでキーを上げる操作を送ると、Controlを押して放しての操作が行われていた。
#F22::Send, {F22 Up}
VK SC Type Up/Dn Elapsed Key Window ----------------------------------------------- 5B 15B d 0.17 LWin 85 06D h d 0.00 F22 A2 01D i d 0.00 LControl A2 01D i u 0.00 LControl 5B 15B i u 0.00 LWin 85 06D i u 0.00 F22 A2 01D i d 0.02 LControl 5B 15B i d 0.00 LWin A2 01D i u 0.00 LControl 5B 15B u 0.11 LWin 85 06D s u 0.00 F22
トリガーにWinキーを含んでないと問題ない。
F22::Send, {F22 Up}
VK SC Type Up/Dn Elapsed Key Window ----------------------------------------------- 85 06D s d 0.88 F22 85 06D h u 0.14 F22 85 06D i u 0.00 F22
何か動作的にはバグ臭い。
ひと先ず下記のようにBlindを指定すると正しく実行されるようになりました。
#F22::Send, {Blind}{F22 Up}
VK SC Type Up/Dn Elapsed Key Window ----------------------------------------------- 5B 15B d 0.56 LWin 85 06D h d 0.00 F22 85 06D i u 0.00 F22 5B 15B u 0.14 LWin 85 06D s u 0.00 F22
関連リンク
[AHK]Ctrlは操作してないのに、LControlが押し離しされる。
不具合内容 G600にWin+F22を割り当て、これをAutoHotKeyでCtrl+Sにし、マウスでファイルの保存が出来るようにしていた。AHKのコードは下記のような感じ。 #F22:: KeyWait, LWin SendEvent, ...
コメント