フィルタプラグイン作れないかも><
この前電車の中でフィルタプラグインについて考えてみて,ある程度まとまったので実装してみるかと思って今日ちょこちょこいじりながらテストしてたら,「取得できると思っていた情報が取得できていなかった」ことが判明したorz
問題は姫踊子草を使って「かなソフト対応」にしている場合で,例えば「つ」を何らかのかな入力で打つと打鍵のtomoでは「Z」(に対応する仮想キーコード)が取得できる.
そして,「っ」(小さい「つ」)を入力しようとしたときも「Z」しか取得できないっぽいことが判明した.それぞれ対象となるウィンドウに「Z」「z」に対応するWM_CHARメッセージを送っているみたいなんだけど,キーボードフックじゃWM_CHARメッセージは直接取得できない.
キーボードを押すとたいてい以下のような順番でメッセージがウィンドウに送られるんだけど,KEYDOWNとUPはキーコード(大文字小文字を区別しない)しか送らないのでZかzかが分からない.そして,キーボードフックではWM_CHARはもらえない.
- WM_KEYDOWN
- WM_CHAR
- WM_KEYUP
コマッタコマッタ.
別のフック(ジャーナルフックとか?)を使ってみるか,あるいは_proxy.exeの中でTranslateMessageしたらWM_CHARが取得できないか試してみよう.