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).
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 );