touch: if window lose focus, turn off the multi-touch 06/17306/2
authorGiWoong Kim <giwoong.kim@samsung.com>
Thu, 6 Mar 2014 05:57:55 +0000 (14:57 +0900)
committerGiWoong Kim <giwoong.kim@samsung.com>
Thu, 6 Mar 2014 07:41:37 +0000 (16:41 +0900)
When window lose its focus, turn off the multi-touch mode
on maru_shm

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

index 0d4480e110ea4a44f3a3693a918699082631cabf..d3da2e4cea49400787494afd63f3ba27f5c89b6c 100644 (file)
@@ -550,7 +550,8 @@ public class EmulatorShmSkin extends EmulatorSkin {
 
        /* keyboard event */
        @Override
-       protected void keyReleasedDelivery(int keyCode, int stateMask, int keyLocation) {
+       protected void keyReleasedDelivery(int keyCode,
+                       int stateMask, int keyLocation, boolean remove) {
                /* check multi-touch */
                if (keyCode == multiTouchKeySub || keyCode == multiTouchKey) {
                        int tempStateMask = stateMask & ~SWT.BUTTON1;
@@ -571,11 +572,14 @@ public class EmulatorShmSkin extends EmulatorSkin {
                communicator.sendToQEMU(
                                SendCommand.SEND_KEYBOARD_KEY_EVENT, keyEventData, false);
 
-               removePressedKeyFromList(keyEventData);
+               if (remove == true) {
+                       removePressedKeyFromList(keyEventData);
+               }
        }
 
        @Override
-       protected void keyPressedDelivery(int keyCode, int stateMask, int keyLocation) {
+       protected void keyPressedDelivery(int keyCode,
+                       int stateMask, int keyLocation, boolean add) {
                /* TODO: (finger.getMaxTouchPoint() > 1) */
 
                int tempStateMask = stateMask & ~SWT.BUTTON1;
@@ -619,7 +623,9 @@ public class EmulatorShmSkin extends EmulatorSkin {
                communicator.sendToQEMU(
                                SendCommand.SEND_KEYBOARD_KEY_EVENT, keyEventData, false);
 
-               addPressedKeyToList(keyEventData);
+               if (add == true) {
+                       addPressedKeyToList(keyEventData);
+               }
        }
 
        @Override
index 5ef795ba175cec7f0dc05359c1efd6944c7376e1..41ad2bc29f44a6a3a8ace327e5c502634da411c2 100755 (executable)
@@ -1022,7 +1022,7 @@ public class EmulatorSkin {
 
                                previous = null;
 
-                               keyReleasedDelivery(keyCode, stateMask, e.keyLocation);
+                               keyReleasedDelivery(keyCode, stateMask, e.keyLocation, true);
                        }
 
                        @Override
@@ -1107,7 +1107,7 @@ public class EmulatorSkin {
                                        logger.fine(e.toString());
                                }
 
-                               keyPressedDelivery(keyCode, stateMask, e.keyLocation);
+                               keyPressedDelivery(keyCode, stateMask, e.keyLocation, true);
 
                                previous = e;
                        }
@@ -1124,11 +1124,11 @@ public class EmulatorSkin {
                                currentState.getCurrentScale(), currentState.getCurrentAngle());
 
                MouseEventData mouseEventData = new MouseEventData(
-                               MouseButtonType.LEFT.value(), eventType, e.x, e.y, geometry[0],
-                               geometry[1], 0);
+                               MouseButtonType.LEFT.value(), eventType,
+                               e.x, e.y, geometry[0], geometry[1], 0);
 
-               communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData,
-                               false);
+               communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT,
+                               mouseEventData, false);
        }
 
        protected void mouseUpDelivery(MouseEvent e) {
@@ -1136,15 +1136,15 @@ public class EmulatorSkin {
                                currentState.getCurrentResolutionWidth(),
                                currentState.getCurrentResolutionHeight(),
                                currentState.getCurrentScale(), currentState.getCurrentAngle());
-               logger.info("mouseUp in display" + " x:" + geometry[0] + " y:"
-                               + geometry[1]);
+               logger.info("mouseUp in display" +
+                               " x:" + geometry[0] + " y:" + geometry[1]);
 
                MouseEventData mouseEventData = new MouseEventData(
                                MouseButtonType.LEFT.value(), MouseEventType.RELEASE.value(),
                                e.x, e.y, geometry[0], geometry[1], 0);
 
-               communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData,
-                               false);
+               communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT,
+                               mouseEventData, false);
        }
 
        protected void mouseDownDelivery(MouseEvent e) {
@@ -1152,35 +1152,39 @@ public class EmulatorSkin {
                                currentState.getCurrentResolutionWidth(),
                                currentState.getCurrentResolutionHeight(),
                                currentState.getCurrentScale(), currentState.getCurrentAngle());
-               logger.info("mouseDown in display" + " x:" + geometry[0] + " y:"
-                               + geometry[1]);
+               logger.info("mouseDown in display" +
+                               " x:" + geometry[0] + " y:" + geometry[1]);
 
                MouseEventData mouseEventData = new MouseEventData(
                                MouseButtonType.LEFT.value(), MouseEventType.PRESS.value(),
                                e.x, e.y, geometry[0], geometry[1], 0);
 
-               communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData,
-                               false);
+               communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT,
+                               mouseEventData, false);
        }
 
-       protected void keyReleasedDelivery(int keyCode, int stateMask,
-                       int keyLocation) {
+       protected void keyReleasedDelivery(int keyCode,
+                       int stateMask, int keyLocation, boolean remove) {
                KeyEventData keyEventData = new KeyEventData(
                                KeyEventType.RELEASED.value(), keyCode, stateMask, keyLocation);
                communicator.sendToQEMU(
                                SendCommand.SEND_KEYBOARD_KEY_EVENT, keyEventData, false);
 
-               removePressedKeyFromList(keyEventData);
+               if (remove == true) {
+                       removePressedKeyFromList(keyEventData);
+               }
        }
 
-       protected void keyPressedDelivery(int keyCode, int stateMask,
-                       int keyLocation) {
+       protected void keyPressedDelivery(int keyCode,
+                       int stateMask, int keyLocation, boolean add) {
                KeyEventData keyEventData = new KeyEventData(
                                KeyEventType.PRESSED.value(), keyCode, stateMask, keyLocation);
                communicator.sendToQEMU(
                                SendCommand.SEND_KEYBOARD_KEY_EVENT, keyEventData, false);
 
-               addPressedKeyToList(keyEventData);
+               if (add == true) {
+                       addPressedKeyToList(keyEventData);
+               }
        }
 
        private boolean isMetaKey(int keyCode) {
@@ -1938,15 +1942,12 @@ public class EmulatorSkin {
                                        }
                                }
 
-                               KeyEventData keyEventData = new KeyEventData(
-                                               KeyEventType.RELEASED.value(), data.keycode,
-                                               data.stateMask, data.keyLocation);
-                               communicator.sendToQEMU(SendCommand.SEND_KEYBOARD_KEY_EVENT,
-                                               keyEventData, false);
+                               keyReleasedDelivery(data.keycode,
+                                               data.stateMask, data.keyLocation, false);
 
-                               logger.info("auto release : keycode=" + keyEventData.keycode
-                                               + ", stateMask=" + keyEventData.stateMask
-                                               + ", keyLocation=" + keyEventData.keyLocation);
+                               logger.info("auto release : keycode=" + data.keycode
+                                               + ", stateMask=" + data.stateMask
+                                               + ", keyLocation=" + data.keyLocation);
                        }
                }