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(); updateFrontEndActivityTime();
int mousecode = mapMouseButton(code); int mousecode = mapMouseButton(code);
int modifier = mapMouseModifier(code, modifiers);
/*if (event == InputEventType.MOUSE_DOWN) { if (event == InputEventType.MOUSE_DOWN) {
_mouseEventSource.mousePressed(new MouseEvent(_canvas, MouseEvent.MOUSE_PRESSED, System.currentTimeMillis(), modifier, x, y, 1, false, mousecode)); _mouseEventSource.mousePressed(new MouseEvent(_canvas, MouseEvent.MOUSE_PRESSED, System.currentTimeMillis(), mapMouseDownModifier(code, modifiers), x, y, 1, false,
mousecode));
} }
if (event == InputEventType.MOUSE_UP) { 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) { if (event == InputEventType.MOUSE_MOVE) {
_mouseEventSource.mouseReleased((new MouseEvent(_canvas, MouseEvent.MOUSE_RELEASED, System.currentTimeMillis(), modifier, x, y, 2, false, mousecode))); _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); int mod = mapModifier(modifiers);
switch (code) { switch (code) {
case 0: case 0:
@ -188,6 +189,18 @@ public class ConsoleProxyRdpClient extends ConsoleProxyClientBase {
return mod; 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) { private int mapModifier(int modifiers) {
int mod = 0; int mod = 0;
if ((modifiers & SHIFT_KEY_MASK) != (_lastModifierStates & SHIFT_KEY_MASK)) { if ((modifiers & SHIFT_KEY_MASK) != (_lastModifierStates & SHIFT_KEY_MASK)) {