У меня не было ничего, кроме горя, используя управление браузером Symbian на S60 3rd edition FP1. В настоящее время мы показываем страницы, и многие вещи работают без сбоев. Однако при вводе текста в текстовое поле 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;
}
}
}
}
Я бы согласился полностью отключить навигацию с помощью клавиш со стрелками, но не могу этого сделать.
Есть идеи? Я поступаю об этом неправильно? Кто-нибудь здесь даже работал с библиотекой Browser Control (browserengine.lib) на S60 3.1?
Обновление : Интересно, что если я переключусь на использование курсорной навигации, все будет работать нормально. Пока это обходной путь. Мне все еще интересно узнать, есть ли способы решить эту проблему.