From 48a167cc6694d776c248fa8243d931688855a55e Mon Sep 17 00:00:00 2001 From: GiWoong Kim Date: Thu, 6 Mar 2014 14:57:55 +0900 Subject: [PATCH] touch: if window lose focus, turn off the multi-touch When window lose its focus, turn off the multi-touch mode on maru_shm Change-Id: Ib5885be11fc68b175f0e60e0863cf9576a0136d3 Signed-off-by: GiWoong Kim --- .../org/tizen/emulator/skin/EmulatorShmSkin.java | 14 ++++-- .../src/org/tizen/emulator/skin/EmulatorSkin.java | 57 +++++++++++----------- 2 files changed, 39 insertions(+), 32 deletions(-) diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java index 0d4480e..d3da2e4 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java @@ -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 diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java index 5ef795b..41ad2bc 100755 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java @@ -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); } } -- 2.7.4