From: GiWoong Kim Date: Mon, 23 Sep 2013 11:32:04 +0000 (+0900) Subject: touch: release the touch event automatically X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.1~727^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=411e48d2464f479d1c9287945b760921ff9d7473;p=sdk%2Femulator%2Fqemu.git touch: release the touch event automatically release the touch event automatically when display is switched off Change-Id: Icf1c8660f96206492a7a553e950e11da9ceee972 Signed-off-by: GiWoong Kim --- diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSdlSkin.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSdlSkin.java index 3cc30e3d24..0d90b30032 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSdlSkin.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSdlSkin.java @@ -34,7 +34,6 @@ import java.util.logging.Logger; import org.eclipse.swt.SWT; import org.tizen.emulator.skin.config.EmulatorConfig; -import org.tizen.emulator.skin.config.EmulatorConfig.ArgsConstants; import org.tizen.emulator.skin.exception.ScreenShotException; import org.tizen.emulator.skin.image.ImageRegistry.IconName; import org.tizen.emulator.skin.info.SkinInformation; @@ -121,16 +120,12 @@ public class EmulatorSdlSkin extends EmulatorSkin { @Override public void displayOn() { - logger.info("display on"); - if (super.config.getArgBoolean(ArgsConstants.INPUT_MOUSE, false) == true) - super.isDisplayOn = true; + super.displayOn(); } @Override public void displayOff() { - logger.info("display off"); - if (super.config.getArgBoolean(ArgsConstants.INPUT_MOUSE, false) == true) - super.isDisplayOn = false; + super.displayOff(); } @Override 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 fb77287210..8ad232d3b0 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 @@ -392,35 +392,23 @@ public class EmulatorShmSkin extends EmulatorSkin { @Override public void displayOn() { - logger.info("display on"); - if (super.config.getArgBoolean(ArgsConstants.INPUT_MOUSE, false) == true) - super.isDisplayOn = true; - -// if (pollThread.isAlive()) { -// pollThread.setWaitIntervalTime(30); -// -// synchronized(pollThread) { -// pollThread.notify(); -// } -// } + super.displayOn(); } @Override public void displayOff() { - logger.info("display off"); - if (super.config.getArgBoolean(ArgsConstants.INPUT_MOUSE, false) == true) - super.isDisplayOn = false; - -// if (pollThread.isAlive()) { -// pollThread.setWaitIntervalTime(0); -// -// shell.getDisplay().asyncExec(new Runnable() { -// @Override -// public void run() { -// lcdCanvas.redraw(); -// } -// }); -// } + super.displayOff(); + + /*if (pollThread.isAlive()) { + pollThread.setWaitIntervalTime(0); + + shell.getDisplay().asyncExec(new Runnable() { + @Override + public void run() { + lcdCanvas.redraw(); + } + }); + }*/ } /* mouse event */ 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 d4290b4a72..4a7e86c364 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 @@ -166,8 +166,8 @@ public class EmulatorSkin { protected EmulatorSkinState currentState; - private boolean isDisplayDragging; - private boolean isShutdownRequested; + protected boolean isDisplayDragging; + protected boolean isShutdownRequested; private boolean isAboutToReopen; public boolean isOnTop; public boolean isKeyWindow; @@ -1260,11 +1260,29 @@ public class EmulatorSkin { } protected void displayOn() { - /* abstract */ + logger.info("display on"); + + if (config.getArgBoolean(ArgsConstants.INPUT_MOUSE, false) == true) { + isDisplayOn = true; + } } protected void displayOff() { - /* abstract */ + logger.info("display off"); + + if (config.getArgBoolean(ArgsConstants.INPUT_MOUSE, false) == true) { + isDisplayOn = false; + } + + if (isDisplayDragging == true) { + logger.info("auto release : mouseEvent"); + MouseEventData mouseEventData = new MouseEventData( + 0, MouseEventType.RELEASE.value(), + 0, 0, 0, 0, 0); + + communicator.sendToQEMU( + SendCommand.SEND_MOUSE_EVENT, mouseEventData, false); + } } /* for popup menu */ diff --git a/tizen/src/skin/maruskin_operation.c b/tizen/src/skin/maruskin_operation.c index 6c6dae698f..d8cd39eae1 100644 --- a/tizen/src/skin/maruskin_operation.c +++ b/tizen/src/skin/maruskin_operation.c @@ -98,12 +98,21 @@ void do_mouse_event(int button_type, int event_type, int origin_x, int origin_y, int x, int y, int z) { if (brightness_off) { - TRACE("reject mouse touch in lcd off = button:%d, type:%d, x:%d, y:%d, z:%d\n", - button_type, event_type, x, y, z); - return; + if (button_type == 0) { + INFO("auto mouse release\n"); + kbd_mouse_event(0, 0, 0, 0); + + return; + } else { + TRACE("reject mouse touch in display off : " + "button=%d, type=%d, x=%d, y=%d, z=%d\n", + button_type, event_type, x, y, z); + return; + } } - TRACE("mouse_event button:%d, type:%d, host:(%d, %d), x:%d, y:%d, z:%d\n", + TRACE("mouse event : button=%d, type=%d, " + "host=(%d, %d), x=%d, y=%d, z=%d\n", button_type, event_type, origin_x, origin_y, x, y, z); #ifndef CONFIG_USE_SHM @@ -127,8 +136,7 @@ void do_mouse_event(int button_type, int event_type, pressing_origin_y = origin_y; kbd_mouse_event(x, y, z, 1); - TRACE("mouse_event event_type:%d, origin:(%d, %d), x:%d, y:%d, z:%d\n\n", - event_type, origin_x, origin_y, x, y, z); + break; case MOUSE_UP: guest_x = x; @@ -137,8 +145,7 @@ void do_mouse_event(int button_type, int event_type, pressing_origin_x = pressing_origin_y = -1; kbd_mouse_event(x, y, z, 0); - TRACE("mouse_event event_type:%d, origin:(%d, %d), x:%d, y:%d, z:%d\n\n", - event_type, origin_x, origin_y, x, y, z); + break; case MOUSE_WHEELUP: case MOUSE_WHEELDOWN: @@ -153,16 +160,14 @@ void do_mouse_event(int button_type, int event_type, } kbd_mouse_event(x, y, -z, event_type); - TRACE("mouse_event event_type:%d, origin:(%d, %d), x:%d, y:%d, z:%d\n\n", - event_type, origin_x, origin_y, x, y, z); + break; case MOUSE_MOVE: guest_x = x; guest_y = y; kbd_mouse_event(x, y, z, event_type); - TRACE("mouse_event event_type:%d, origin:(%d, %d), x:%d, y:%d, z:%d\n\n", - event_type, origin_x, origin_y, x, y, z); + break; default: ERR("undefined mouse event type passed:%d\n", event_type);