I am developing an Android application that controls the PC keyboard and mouse. I wanted to add a new feature (using your mobile as a game controller). I am using java.awt.Robot
.
It works fine in controlling the keyboard and mouse. But when I used it with games, java.awt.Robot
doesn't press buttons. When I go outside the game, it works fine again.
For example:
if (senderPropertyOne.equalsIgnoreCase("l")) {
robot.keyPress(KeyEvent.VK_LEFT);
robot.keyRelease(KeyEvent.VK_LEFT);
} else if (senderPropertyOne.equalsIgnoreCase("r")) {
robot.keyPress(KeyEvent.VK_RIGHT);
robot.keyRelease(KeyEvent.VK_RIGHT);
} else if (senderPropertyOne.equalsIgnoreCase("u")) {
robot.keyPress(KeyEvent.VK_UP));
robot.keyRelease(KeyEvent.VK_UP);
} else if (senderPropertyOne.equalsIgnoreCase("d")) {
robot.keyPress(KeyEvent.VK_DOWN);
robot.keyRelease(KeyEvent.VK_DOWN);
This works fine in Flash games on the internet, but when I launch a normal game on my PC (like pro evolution soccer), it doesn't work.
Btw... the problem is that the awt package is not part of Android and you can therefore not use it.
Thank you all for not assisting me. I managed to fix the issue, published Android app with 100000 downloads :)
I was developing an android app that let Android phone control PC and use Android phone as a game controller for PC. I was using TCP and faced thae issue that I cant control games.
When I used UDP instead, the issue fixed. I dont know TCP was the root cause or not but my issue fixed now and my app published on Android market :)