From 46048bd1c8e3a6b9e50f6f37bfd7a454b17f9c65 Mon Sep 17 00:00:00 2001 From: Riikka Inkila Date: Fri, 4 May 2012 10:06:46 +0300 Subject: Fix Symbian key event code mapping in QSymbianControl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Symbian key events that represent characters/symbols whose Unicode values are above the value range of S60 special keys are currently mapped incorrectly to S60 special key events within QSymbianControl class. This must be fixed as Symbian AknFEP can nowadays deliver character input from virtual keyboards to FEP-aware text editors only by simulating a corresponding key event and virtual keyboards can obviously contain characters and symbols whose Unicode values are above the S60 special key value range. Task-number: ou1cimx1#979068 Change-Id: I57c4e87f6a532641ece7d45f29d3956ebb25b736 Reviewed-by: Pasi Pentikäinen --- src/gui/kernel/qapplication_s60.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index e24914f..358d6ad 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -1053,7 +1053,7 @@ TKeyResponse QSymbianControl::sendSymbianKeyEvent(const TKeyEvent &keyEvent, QEv int keyCode; if (s60Keysym == EKeyNull){ //some key events have 0 in iCode, for them iScanCode should be used keyCode = qt_keymapper_private()->mapS60ScanCodesToQt(keyEvent.iScanCode); - } else if (s60Keysym >= 0x20 && s60Keysym < ENonCharacterKeyBase) { + } else if ((s60Keysym >= 0x20 && s60Keysym < ENonCharacterKeyBase) || s60Keysym >= (ENonCharacterKeyBase + ENonCharacterKeyCount)) { // Normal characters keys. keyCode = s60Keysym; } else { -- cgit v0.12