AutoHotkeyのショートカットによく使われる「無変換」キー。
ショートカット以外でも使うため、細工をして単発でも動くようになった。
・・・のだが、別の問題発生(ノ∀`)
「無変換」+「z」キーでウィンドウ(GUI)を呼び出すようにしていたのだけど
その後、「z」キーを単体で押してもウィンドウが出てきてしまう。
どうやら「無変換」キーが押しっぱなしになっているようだ。
他のちょっとした機能は「無変換」+ 何か で押しっぱなしにならないのに。
試しに「無変換」ではなく「Windows」キーにしてみたら、押しっぱなしにならない。
どうやら
- ウィンドウを呼ぶ ※Msgboxでも再現した
- 「無変換」キー ※試してみたら「変換」キーでも発生する
がポイントのようだ。
あくまでも予想だけど、ウィンドウやMsgboxがアクティブになることによって
コントロールが強制的に変わったことで、キーアップが発行されていないのではなかろうか。
Key historyを見ると
キーUPのイベントが抜け落ちている。
ちょっとググってみたけど、押しっぱなし病に効く特効薬(?)はないようだ。
要は何かウィンドウが出る前にキーを離していれば良いんだろ?
と仮定して
~vk1D & z:: ・ ・
を
~vk1D & z:: KeyWait, vk1D ・ ・
vk1D(=無変換キー)を離すまで先に進まないようにしてみた。
どうやら正解だったようで、以降は変な動きをしなくなった。
Key historyを見ると
ちゃんとキーUPが記録されている。
でも「Windows」キーだと何故大丈夫なのか わからないのが気持ち悪い。
この通り、キーUPがないのに。
気が向いたら調べるか。
[]