Archived:Key press events on the Nokia E61 fire wrong key codes (Known Issue)
This known issue affects only keys that have numbers on them (dialing keys). Regardless of whether the ALT key is pressed or not, for example, the R key always fires the keycode for 1, not the character R. Because the ALT key does not fire events, it is also impossible to avoid the problem by detecting the ALT state.
Attached is a code example and a sample .jad and .jar file that can be loaded onto a device to reproduce the key press problem.
The problem cannot be reproduced with the Nokia E61 running firmware 2.0618.06.05 from July 14, 2006, because the output from the CanvasBug MIDlet is as follows:
- Pressing a character key, such as Q, W, E, etc, without the Shift key: All the characters are read correctly.
- Pressing a character key, such as Q, W, E, etc, and the Shift key: All the characters are printed in Caps Lock, correctly.
- Pressing one of the numeric keys: The letter characters, such as "t", "r", and "u", etc. are returned and read correctly by the MIDlet.
- Pressing one of the numeric keys + ALT (blue key, left corner): The numeric characters, such as "1", "2", "*", etc. are returned and read by the MIDlet.
Including calls to getKeyName(int keyCode) makes key presses return different names for dialing keys depending on whether ALT is pressed or not.
This issue affects version "06w08.2_otc 13-03-06 RM-89". The devices shipped before August 18, 2006 have this version, part of public software release "NokiaE61-1/0610.04.04", so this issue affects production devices from Public Software Release 1 (PSR1).
This has been fixed in firmware version 2.0618.0x.0x. released on August 18, 2006, and newer firmware versions.
The solution for this issue is to upgrade the firmware to the most recent version.