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