Macで入力した文字を確定できない問題

「Macで入力した文字を確定できない問題」の編集履歴(バックアップ)一覧に戻る

Macで入力した文字を確定できない問題 - (2010/03/28 (日) 08:56:56) のソース

*Macで入力した文字を確定できない問題
[[wxMac(Carbon)でのキーボード・テキスト入力のイベント処理の流れ]]を参考に
**原因
-kEventRawKeyDownを使ってEVT_KEY_DOWNが実装されている
--kEventRawKeyDownはあまりにも低レベル
--Text Services Managerが処理する前
--kEventTextInputUnicodeForKeyEventを使え、らしい
--WindowsのWM_KEYDOWNはIMEが処理した後に送られる
---通常TranslateMessageを呼ぶ→TranslateMessageが処理
-wxStyledTextCtrlではEVT_KEY_DOWNの段階でReturnを処理してしまう
--Text Services ManagerにReturnが届かないので、入力した文字が確定されない
-一方、wxRichTextCtrlではEVT_CHARでReturnを処理する
--入力した文字は確定される
--しかし、矢印キーなどはwxRichTextCtrlに食われてしまう
-Cocoa版は普通にkeyDown:を実装しているのでこの問題は発生しないと思われる(ただしバギーなため検証できず)
**[[解決策>Macで入力した文字を確定できない問題/解決策]]