×
Namespaces

Variants
Actions

Archived:Key mapping on S60 3rd Edition devices with a full keyboard (Known Issue)

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngArchived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.

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
Platform(s): S60 3rd Edition, S60 3rd Edition FP1
S60 3rd Edition FP1
S60 3rd Edition (initial release)
Article
Created: User:Technical writer 1 (16 Aug 2007)
Last edited: hamishwillee (21 Jun 2012)

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.

See also

This page was last modified on 21 June 2012, at 06:47.
41 page views in the last 30 days.