AutoHotKeyで、&で2つのキーを同時押したときの動作を指定すると、指定したキー単体を押したとき反応しなくなった。
設定してるのは、無変換キーを押しながら同時押しするとテンキーになるように設定したんだけど、無変換だけを押してもシグナルが飛ばなくなった。
内容は、下みたいにsc07B(無変換)を押しながらm押したら、テンキーの0が飛ぶように設定しただけ。
sc07B & m::send,{Numpad0}
ちょっと前までは、これでも問題無かったんだけど、気づいたら無変換が使えなくなっていた。
無変換キーとの組み合わせは動く。そして、このコードを消すと無変換が使えるようになる。
以前は大丈夫だったから、コードの順番とか微妙なことが関係してるのかもしれない。
取り合えず、下記のように、明示的にsc07Bはsc07Bを出すように記述した。
sc07B::sc07B sc07B & m::send,{Numpad0}
これで、無変換だけを押したときは無変換が出るようになった。
若干の蛇足、プログラマならUSキーボードよりJISキーボードの方が最強っぽい
AutoHotKeyの「::」で繋いでキーを指定した場合、押している間はダウンになる。「A」キーなどは押し続けると、「AAAAAAA…..」という感じで、繰り返し実行される。考えてみればそうだが、無変換や、変換はダウンしている状態で繰り返されたら、何度も変換されるので困る。多分OSの処理で、無変換や変換キーはダウンからアップになった時に実行されるようになってるっぽい。
というわけで、AHKで同時押しキーとして指定すると、同時押しならFnキーのように動作するし、単体で押せば通常通りに動くキーとして扱える。
日本語配列キーボードって安くて小さいキーボードも結構あるから、打鍵感の良いキーボードにAHKを組み合わせると激安で最高なフルプログラマブルキーボード環境作れそう。特に、親指付近に複数のレイヤー切り替えボタンが置けるのはめちゃ便利です。
私は、NiZ84という英語配列キーボード使ってますが、突き詰めていくと日本語配列キーボードは意外と最強かもしれません。。。
If you want to buy full programable key board, JIS keyboard with AutoHotkey may be one of the cheaper answer. Because JIS keyboard has some extra key(like kana key, henkan key,,,etc) that can use for Fn key.
コメント