CEikEdwin::InsertDeleteCharsL does not update virtual keyboard edit field (Known Issue)
Characters inserted using CEikEdwin::InsertDeleteCharsL() are not displayed in the edit field of the virtual keyboard (VKB).
Nokia 5800 XpressMusic
S60 5th Edition
CEikEdwin::InsertDeleteCharsL() replaces the cursor selection with the specified text. However, when the virtual keyboard is active, characters inserted into the host editor are not displayed in the VKB edit field.
Avoid using CEikEdwin::InsertDeleteCharsL() to replace text in an editor. A workaround (when replacing a single character) is to first delete the character at cursor position and then add a new character:
TInt pos = editor->CursorPos();
keyEvent.iCode = EKeyDelete;
keyEvent.iScanCode = EStdKeyDelete;
keyEvent.iModifiers = 0;
keyEvent.iRepeats = 0;
iEditor->OfferKeyEventL( keyEvent, aType );
iEditor->SetCursorPosL( pos, EFalse );
iEditor->OfferKeyEventL( newKeyEvent, aType );