private ShellListener shellListener;
private MenuDetectListener shellMenuDetectListener;
+ protected boolean isDisplayOn;
+ private int prev_x;
+ private int prev_y;
private MouseMoveListener canvasMouseMoveListener;
private MouseListener canvasMouseListener;
private MouseWheelListener canvasMouseWheelListener;
lcdCanvas = skinComposer.compose(displayCanvasStyle);
+ if (config.getArgBoolean(ArgsConstants.INPUT_MOUSE, false) == true) {
+ prev_x = lcdCanvas.getSize().x / 2;
+ prev_y = lcdCanvas.getSize().y / 2;
+ logger.info("prev_x : " + prev_x + " prev_y : " + prev_y);
+ isDisplayOn = false;
+ }
+
/* load a hover color */
currentState.setHoverColor(loadHoverColor());
}
}
- private MouseMoveListener makeDisplayTouchMoveLitener() {
+ private MouseMoveListener makeDisplayTouchMoveListener() {
MouseMoveListener listener = new MouseMoveListener() {
@Override
public void mouseMove(MouseEvent e) {
return listener;
}
- private MouseMoveListener makeDisplayMouseMoveLitener() {
+ private void getRelativePoint(MouseEvent e) {
+ int diff_x = e.x - prev_x;
+ int diff_y = e.y - prev_y;
+ int final_x = e.x;
+ int final_y = e.y;
+ Point canvasSize = lcdCanvas.getSize();
+
+ /* caculate maximum relative point */
+ if (final_x >= canvasSize.x) {
+ e.x = canvasSize.x - prev_x - 1;
+ prev_x = canvasSize.x - 1;
+ } else if (final_x <= 0) {
+ e.x = -prev_x;
+ prev_x = 0;
+ } else {
+ prev_x = e.x;
+ e.x = diff_x;
+ }
+
+ if (final_y >= canvasSize.y) {
+ e.y = canvasSize.y - prev_y - 1;
+ prev_y = canvasSize.y - 1;
+ } else if (final_y <= 0) {
+ e.y = -prev_y;
+ prev_y = 0;
+ } else {
+ prev_y = e.y;
+ e.y = diff_y;
+ }
+ }
+
+ private MouseMoveListener makeDisplayMouseMoveListener() {
MouseMoveListener listener = new MouseMoveListener() {
@Override
public void mouseMove(MouseEvent e) {
- logger.info("mouse move : " + e);
- int eventType = MouseEventType.MOVE.value();
+ if (isDisplayOn) {
+ int eventType = MouseEventType.MOVE.value();
- if (true == isDisplayDragging) {
- Point canvasSize = lcdCanvas.getSize();
- eventType = MouseEventType.DRAG.value();
- if (e.x < 0) {
- e.x = 0;
- eventType = MouseEventType.RELEASE.value();
- isDisplayDragging = false;
- } else if (e.x >= canvasSize.x) {
- e.x = canvasSize.x - 1;
- eventType = MouseEventType.RELEASE.value();
- isDisplayDragging = false;
- }
+ if (true == isDisplayDragging) {
+ Point canvasSize = lcdCanvas.getSize();
+ eventType = MouseEventType.DRAG.value();
+ if (e.x < 0) {
+ e.x = 0;
+ eventType = MouseEventType.RELEASE.value();
+ isDisplayDragging = false;
+ } else if (e.x >= canvasSize.x) {
+ e.x = canvasSize.x - 1;
+ eventType = MouseEventType.RELEASE.value();
+ isDisplayDragging = false;
+ }
- if (e.y < 0) {
- e.y = 0;
- eventType = MouseEventType.RELEASE.value();
- isDisplayDragging = false;
- } else if (e.y >= canvasSize.y) {
- e.y = canvasSize.y - 1;
- eventType = MouseEventType.RELEASE.value();
- isDisplayDragging = false;
+ if (e.y < 0) {
+ e.y = 0;
+ eventType = MouseEventType.RELEASE.value();
+ isDisplayDragging = false;
+ } else if (e.y >= canvasSize.y) {
+ e.y = canvasSize.y - 1;
+ eventType = MouseEventType.RELEASE.value();
+ isDisplayDragging = false;
+ }
}
- }
+ getRelativePoint(e);
- mouseMoveDelivery(e, eventType);
+ if (e.x != 0 || e.y != 0)
+ mouseMoveDelivery(e, eventType);
+ }
}
};
return listener;
}
- private MouseListener makeDisplayTouchClickLitener() {
+ private MouseListener makeDisplayTouchClickListener() {
MouseListener listener = new MouseListener() {
@Override
public void mouseUp(MouseEvent e) {
return listener;
}
- private MouseListener makeDisplayMouseClickLitener() {
+ private MouseListener makeDisplayMouseClickListener() {
MouseListener listener = new MouseListener() {
@Override
public void mouseUp(MouseEvent e) {
- logger.info("mouse up : " + e);
- if (1 == e.button) { /* left button */
- if (true == isDisplayDragging) {
- isDisplayDragging = false;
+ if (isDisplayOn) {
+ logger.info("mouse up : " + e);
+ if (1 == e.button) { /* left button */
+ if (true == isDisplayDragging) {
+ isDisplayDragging = false;
+ }
+ getRelativePoint(e);
+ mouseUpDelivery(e);
+ } else if (2 == e.button) { /* wheel button */
+ logger.info("wheelUp in display");
}
- mouseUpDelivery(e);
- } else if (2 == e.button) { /* wheel button */
- logger.info("wheelUp in display");
}
}
@Override
public void mouseDown(MouseEvent e) {
- logger.info("mouse down : " + e);
- if (1 == e.button) { /* left button */
- if (false == isDisplayDragging) {
- isDisplayDragging = true;
+ if (isDisplayOn) {
+ logger.info("mouse down : " + e);
+ if (1 == e.button) { /* left button */
+ if (false == isDisplayDragging) {
+ isDisplayDragging = true;
+ }
+ getRelativePoint(e);
+ mouseDownDelivery(e);
}
- mouseDownDelivery(e);
}
}
return listener;
}
- private MouseWheelListener makeDisplayMouseWheelLitener() {
+ private MouseWheelListener makeDisplayMouseWheelListener() {
MouseWheelListener listener = new MouseWheelListener() {
@Override
public void mouseScrolled(MouseEvent e) {
+ if (config.getArgBoolean(ArgsConstants.INPUT_MOUSE, false) == true)
+ getRelativePoint(e);
+
int[] geometry = SkinUtil.convertMouseGeometry(e.x, e.y,
currentState.getCurrentResolutionWidth(),
currentState.getCurrentResolutionHeight(),
/* mouse event */
if (config.getArgBoolean(ArgsConstants.INPUT_MOUSE, false) == true) {
- canvasMouseMoveListener = makeDisplayMouseMoveLitener();
+ canvasMouseMoveListener = makeDisplayMouseMoveListener();
} else {
- canvasMouseMoveListener = makeDisplayTouchMoveLitener();
+ canvasMouseMoveListener = makeDisplayTouchMoveListener();
}
lcdCanvas.addMouseMoveListener(canvasMouseMoveListener);
if (config.getArgBoolean(ArgsConstants.INPUT_MOUSE, false) == true) {
- canvasMouseListener = makeDisplayMouseClickLitener();
+ canvasMouseListener = makeDisplayMouseClickListener();
} else {
- canvasMouseListener = makeDisplayTouchClickLitener();
+ canvasMouseListener = makeDisplayTouchClickListener();
}
lcdCanvas.addMouseListener(canvasMouseListener);
- canvasMouseWheelListener = makeDisplayMouseWheelLitener();
+ canvasMouseWheelListener = makeDisplayMouseWheelListener();
lcdCanvas.addMouseWheelListener(canvasMouseWheelListener);
/* keyboard event */
#endif
/* input */
- char buf_input_mouse[8] = { 0, };
- if (is_emul_input_mouse_enable() == true) {
- strcpy(buf_input_mouse, OPT_BOOLEAN_TRUE);
- } else {
- strcpy(buf_input_mouse, OPT_BOOLEAN_FALSE);
- }
- char buf_input_touch[8] = { 0, };
- if (is_emul_input_touch_enable() == true) {
- strcpy(buf_input_touch, OPT_BOOLEAN_TRUE);
- } else {
- strcpy(buf_input_touch, OPT_BOOLEAN_FALSE);
- }
+ char buf_input[12] = { 0, };
+ if (is_emul_input_mouse_enable() == true)
+ strcpy(buf_input, OPT_INPUT_MOUSE);
+ else
+ strcpy(buf_input, OPT_INPUT_TOUCH);
#ifdef CONFIG_WIN32
/* find java path in 64bit windows */
strlen(buf_vm_base_port) + SPACE_LEN +
strlen(OPT_DISPLAY_SHM) + EQUAL_LEN +
strlen(buf_display_shm) + SPACE_LEN +
- strlen(OPT_INPUT_TOUCH) + EQUAL_LEN +
- strlen(buf_input_touch) + SPACE_LEN +
+ strlen(buf_input) + EQUAL_LEN +
+ strlen(OPT_BOOLEAN_TRUE) + SPACE_LEN +
strlen(OPT_MAX_TOUCHPOINT) + EQUAL_LEN +
len_maxtouchpoint + SPACE_LEN + 1 +
strlen(argv);
OPT_VM_PATH, vm_path,
OPT_VM_BASE_PORT, vm_base_port,
OPT_DISPLAY_SHM, buf_display_shm,
- OPT_INPUT_TOUCH, buf_input_touch,
+ buf_input, OPT_BOOLEAN_TRUE,
OPT_MAX_TOUCHPOINT, maxtouchpoint,
argv);