押しっぱなし発生時のキャンセル機能
何かのきっかけでモディファイアキー (Shift,Alt,Ctrl いずれも可能性がある) が押しっぱなしになることがあります。 たぶん、リモートデスクトップに接続し、リモートデスクトップ先でのどかを LL フックで使用しているときに 発生しやすいようです。この状況に陥ると、下記の設定 (右CtrlのUPでCtrlの押しっぱなしを解消しようとした) では 解消せずのどかの再起動が必要になります。(押下中のメッセージが定期的 - 30秒毎? に表示されます) def option CheckModifier = enable 5 # キー押しっぱなし検出 key U-*CtrlDownOver = &HelpMessage("Ctrl キー" , "押下中...") key U-C-*RightControl = U-*RightControl U-RightControl U-LeftControl U-LeftControl そもそもこの設定で解消出来るのかはともかく、押しっぱなしになること自体は仕方ないと思っていますが、 m_currentKeyPressCount を強制的に 0 にするような Function が欲しいです。 これをあるキーに割り当てておけば即座に解消されるような。 この状態に陥っているときにモディファイアを押したり反したりすると、 m_currentKeyPressCount は 1 - 2 の値を遷移しています。
内部をリセットすることは可能かもしれませんが、そもそもWindowsというかシステム側が押されたままと認識しているので、一旦機能停止させて、該当キーのアップを送って復活させるような動きが必要かもしれません。
Détails