Добавлен режим Android TouchPad
This commit is contained in:
parent
d31a7c4446
commit
76a7955ae1
@ -29,6 +29,7 @@ public class CursorOperation extends Operation {
|
|||||||
TYPE_DRAG = 3,
|
TYPE_DRAG = 3,
|
||||||
TYPE_RELEASED = 4,
|
TYPE_RELEASED = 4,
|
||||||
TYPE_KEY_RELEASED = 5,
|
TYPE_KEY_RELEASED = 5,
|
||||||
|
TYPE_MOVE_RELATIVE = 6,
|
||||||
STOP = 10;
|
STOP = 10;
|
||||||
|
|
||||||
private RobotUtils robot;
|
private RobotUtils robot;
|
||||||
@ -44,16 +45,21 @@ public class CursorOperation extends Operation {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void startServerSide() throws IOException {
|
public void startServerSide() throws IOException {
|
||||||
int type = NONE;
|
|
||||||
// Ñ÷èòûâàåì ðàçìåðû ýêðàíà, ÷òîáû íîðìàëüíî
|
// Ñ÷èòûâàåì ðàçìåðû ýêðàíà, ÷òîáû íîðìàëüíî
|
||||||
// ïåðåìåùàòü êóðñîð ïðè íåñîâïàäåíèè ðàçðåøåíèé.
|
// ïåðåìåùàòü êóðñîð ïðè íåñîâïàäåíèè ðàçðåøåíèé.
|
||||||
int width = dis.readInt();
|
int width = dis.readInt();
|
||||||
int height = dis.readInt();
|
int height = dis.readInt();
|
||||||
|
|
||||||
|
if (width == height && width == -100) {
|
||||||
|
androidTouchPadMode();
|
||||||
|
return;
|
||||||
|
}
|
||||||
// Ðàñ÷åò ïðèðàùåíèé.
|
// Ðàñ÷åò ïðèðàùåíèé.
|
||||||
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
|
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
|
||||||
double dx = screenSize.getWidth() / (double) width;
|
double dx = screenSize.getWidth() / (double) width;
|
||||||
double dy = screenSize.getHeight() / (double) height;
|
double dy = screenSize.getHeight() / (double) height;
|
||||||
|
|
||||||
|
int type = NONE;
|
||||||
do {
|
do {
|
||||||
type = dis.readInt();
|
type = dis.readInt();
|
||||||
if (type == TYPE_MOVE) {
|
if (type == TYPE_MOVE) {
|
||||||
@ -77,6 +83,26 @@ public class CursorOperation extends Operation {
|
|||||||
} while (type != STOP);
|
} while (type != STOP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void androidTouchPadMode() throws IOException {
|
||||||
|
int type = NONE;
|
||||||
|
do {
|
||||||
|
type = dis.readInt();
|
||||||
|
if (type == TYPE_CLICK) {
|
||||||
|
int button = dis.readInt();
|
||||||
|
robot.clickPoint(robot.getCursorPosition(), button);
|
||||||
|
} else if (type == TYPE_KEY_RELEASED) {
|
||||||
|
int key = dis.readInt();
|
||||||
|
robot.pressKey(key);
|
||||||
|
} else if (type == TYPE_MOVE_RELATIVE) {
|
||||||
|
int x = (int) (dis.readInt());
|
||||||
|
int y = (int) (dis.readInt());
|
||||||
|
robot.moveCursorRelative(x, y);
|
||||||
|
} else if (type == TYPE_RELEASED) {
|
||||||
|
robot.getRobot().mouseRelease(InputEvent.BUTTON1_MASK);
|
||||||
|
}
|
||||||
|
} while (type != STOP);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void startClientSide(Object... params) throws Exception {
|
public void startClientSide(Object... params) throws Exception {
|
||||||
// Ñîçäàíèå äèàëîãà äëÿ ïðîñëóøèâàíèÿ ñîáûòèé.
|
// Ñîçäàíèå äèàëîãà äëÿ ïðîñëóøèâàíèÿ ñîáûòèé.
|
||||||
|
Loading…
Reference in New Issue
Block a user