blechmusikの日記

キー・カスタマイズ・ソフトウェア "DvorakJ" の覚え書きをはじめとして様々なことを書いています。

何かしらのソフトウェアが Ctrl-c や Ctrl-v を仮想的に出力すると、DvorakJ が正常に動作しないようだ

kasuga_toru さんのコメントから分かるように、DvorakJ 以外のソフトウェアが仮想的に送信する Ctrl + cCtrl + v を、DvorakJ が適切に処理していないようだ。調べたところ、ユーザーが実際には押し下げていない修飾キーに関する動作に対処できていなかった。DvorakJ 以外のソフトウェアが、Ctrl + c というキーストロークを、仮想的に送信したとしよう。このうち、現在の DvorakJ が処理するのは、Ctrl を除外した c のみとなってしまうのだ。
これについては、ホットキー設定時の処理を書き換えることで対処できるかもしれない。たとえば、DvorakJ 以外のソフトウェアが仮想的にキーストロークが送信されたと判定したとき、つまり、ユーザーが実際には押し下げていない修飾キーをソフトウェアが仮想的に押し下げているときには、DvorakJ によるホットキーの設定処理を一切取りやめる。
このような処理を実装するには、AutoHotkey_L の #if を使用することになるだろう。