keyboard: replace the disappearEvent
authorgiwoong.kim <giwoong.kim@samsung.com>
Sat, 6 Apr 2013 07:16:26 +0000 (16:16 +0900)
committergiwoong.kim <giwoong.kim@samsung.com>
Mon, 8 Apr 2013 01:28:13 +0000 (10:28 +0900)
replace the disappeared key event when
three or more keys are pressed on Windows.

Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java

index c0d8db8b1eeeda96bc23367e9e6f816183cc3ac2..e5f7f903c79ec5471b60892817294b3930fb07ab 100644 (file)
@@ -843,7 +843,7 @@ public class EmulatorSkin {
                                if (SwtUtil.isWindowsPlatform() && disappearEvent) {
                                        disappearEvent = false;
                                        if (isMetaKey(e) && e.character != '\0') {
-                                               logger.info("send previous release : keycode=" + disappearKeycode +
+                                               logger.info("send disappear release : keycode=" + disappearKeycode +
                                                                ", stateMask=" + disappearStateMask +
                                                                ", keyLocation=" + disappearKeyLocation);
 
@@ -901,6 +901,17 @@ public class EmulatorSkin {
                                                                disappearStateMask = stateMask;
                                                                disappearKeyLocation = e.keyLocation;
                                                        } else {
+                                                               /* three or more keys were pressed
+                                                               at the same time */
+                                                               if (disappearEvent == true) {
+                                                                       logger.info("replace the disappearEvent : " +
+                                                                                       disappearKeycode + "->" + keyCode);
+
+                                                                       disappearKeycode = keyCode;
+                                                                       disappearStateMask = stateMask;
+                                                                       disappearKeyLocation = e.keyLocation;
+                                                               }
+
                                                                int previousKeyCode = previous.keyCode;
                                                                int previousStateMask = previous.stateMask;