CLOUDSTACK-5702: Fixed mouse doesn't work for console

This commit is contained in:
Anshul Gangwar 2014-01-01 12:16:23 +05:30 committed by Rajesh Battala
parent 5941ac46d2
commit 3e2f7dda9e

View File

@ -161,22 +161,23 @@ public class ConsoleProxyRdpClient extends ConsoleProxyClientBase {
updateFrontEndActivityTime();
int mousecode = mapMouseButton(code);
int modifier = mapMouseModifier(code, modifiers);
/*if (event == InputEventType.MOUSE_DOWN) {
_mouseEventSource.mousePressed(new MouseEvent(_canvas, MouseEvent.MOUSE_PRESSED, System.currentTimeMillis(), modifier, x, y, 1, false, mousecode));
if (event == InputEventType.MOUSE_DOWN) {
_mouseEventSource.mousePressed(new MouseEvent(_canvas, MouseEvent.MOUSE_PRESSED, System.currentTimeMillis(), mapMouseDownModifier(code, modifiers), x, y, 1, false,
mousecode));
}
if (event == InputEventType.MOUSE_UP) {
_mouseEventSource.mouseReleased((new MouseEvent(_canvas, MouseEvent.MOUSE_RELEASED, System.currentTimeMillis(), modifier, x, y, 1, false, mousecode)));
_mouseEventSource.mouseReleased((new MouseEvent(_canvas, MouseEvent.MOUSE_RELEASED, System.currentTimeMillis(), mapMouseUpModifier(code, modifiers), x, y, 1, false,
mousecode)));
}
if (event == InputEventType.MOUSE_DBLCLICK) {
_mouseEventSource.mouseReleased((new MouseEvent(_canvas, MouseEvent.MOUSE_RELEASED, System.currentTimeMillis(), modifier, x, y, 2, false, mousecode)));
}*/
if (event == InputEventType.MOUSE_MOVE) {
_mouseEventSource.mouseMoved(new MouseEvent(_canvas, MouseEvent.MOUSE_MOVED, System.currentTimeMillis(), mapModifier(modifiers), x, y, 0, false));
}
}
public int mapMouseModifier(int code, int modifiers) {
public int mapMouseDownModifier(int code, int modifiers) {
int mod = mapModifier(modifiers);
switch (code) {
case 0:
@ -188,6 +189,18 @@ public class ConsoleProxyRdpClient extends ConsoleProxyClientBase {
return mod;
}
public int mapMouseUpModifier(int code, int modifiers) {
int mod = mapModifier(modifiers);
switch (code) {
case 0:
return mod = mod | MouseEvent.BUTTON1_MASK;
case 2:
return mod = mod | MouseEvent.BUTTON3_MASK;
default:
}
return mod;
}
private int mapModifier(int modifiers) {
int mod = 0;
if ((modifiers & SHIFT_KEY_MASK) != (_lastModifierStates & SHIFT_KEY_MASK)) {