Archived:Key mapping on S60 3rd Edition devices with a full keyboard (Known Issue)
On S60 3rd Edition devices featuring a full keyboard, the correct key codes for some keys can only be received by using a FEP-aware editor.
Article Metadata
Compatibility
Article
Contents |
Description
Applications running on full-keyboard devices, such as the Nokia E61 and the Nokia E70 (when opened), and trying to handle key presses in a CCoeControl-derived class will not receive the same key code (TKeyEvent::iCode) for all keys as a FEP-aware editor (e.g., CEikEdwin) would.
This is because the mapping of the QWERTY keyboard is dependent on the input language and input mode currently in use. For example, on the Nokia E61 CCoeControl–derived controls will always receive either codes ["1", "2", ...] or ["r", "t", ...] when buttons on the numeric key area are pressed - the behaviour has changed between firmware version. It is only possible to reliably receive key codes for these keys by using a FEP-aware editor in text mode. However, the CPtiEngine API can be used for manually resolving the correct key code(s) for each physical key.
Note that scan codes (TKeyEvent::iScanCode) are not affected by language settings or input mode.
How to reproduce
See description above.
Solution
Applications can avoid this problem by using standard Avkon editor controls for text input. For instructions on CPtiEngine usage, see Mapping of physical keys across language variants on Symbian.


(no comments yet)