S60 3rd エディション FP1 で Symbian のブラウザ コントロールを使用していて、ただただ悲しかったです。現在、ページを表示しており、多くのことがスムーズに機能しています。ただし、HTML テキスト フィールドにテキストを入力する場合、ユーザーがテキスト入力領域の先頭で左に移動した場合 (テキスト入力領域を最後まで「ラップ」する必要があります)、またはテキスト入力領域で右に移動した場合は、KERN-EXEC 3 が返されます。テキスト入力領域の最後 (最初に「ラップ」する必要があります)。
入力を にトラップできないようですOfferKeyEventL
。キーイベントを取得し、戻っEKeyWasConsumed
てもカーソルは移動します。
TKeyResponse CMyAppContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType)
{
if (iBrCtlInterface) // My browser control
{
TBrCtlDefs::TBrCtlElementType type = iBrCtlInterface->FocusedElementType();
if (type == TBrCtlDefs::EElementActivatedInputBox || type == TBrCtlDefs::EElementInputBox)
{
if (aKeyEvent.iScanCode == EStdKeyLeftArrow || aKeyEvent.iScanCode == EStdKeyRightArrow)
{
return EKeyWasConsumed;
}
}
}
}
矢印キーのナビゲーションを完全に無効にしても問題ありませんが、これを行うことはできません。
何か案は?私はこれについて間違った方法で進んでいますか?S60 3.1 で Browser Control ライブラリ (browserengine.lib) を操作した人はいますか?
更新: 興味深いことに、カーソル ナビゲーションを使用するように切り替えると、正常に動作します。今のところ、これは回避策です。これを解決する方法があるかどうか、私はまだ知りたいと思っています。