summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Torres Milano <dtmilano@gmail.com>2013-04-04 13:44:34 -0400
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-04-29 22:05:24 +0000
commit2ac9d8d0f0ea65aae6ba43490b5be6617ad97125 (patch)
treeee0f4a0b48a193a4e9d26ede2a0297a53f90cfc6
parentbd1730dec7356e042ee885ff4a63b40f36733062 (diff)
downloadbase-2ac9d8d0f0ea65aae6ba43490b5be6617ad97125.tar.gz
input: added support for multiple keyevents
- Multiple keyevents can now be send from the command line: input keyevent <key code number or name> ... Sometimes invoking 'input' repeatedly does not send the events fast enough, this change solves the problem by allowing multiple key code number or names be added to the command line. Change-Id: I0d0f34bddd99e0195c9badff2f8b3e2aa9a51737
-rw-r--r--cmds/input/src/com/android/commands/input/Input.java16
1 files changed, 9 insertions, 7 deletions
diff --git a/cmds/input/src/com/android/commands/input/Input.java b/cmds/input/src/com/android/commands/input/Input.java
index a21df0d2c8b2..6dc9f3d562c0 100644
--- a/cmds/input/src/com/android/commands/input/Input.java
+++ b/cmds/input/src/com/android/commands/input/Input.java
@@ -56,12 +56,14 @@ public class Input {
return;
}
} else if (command.equals("keyevent")) {
- if (args.length == 2) {
- int keyCode = KeyEvent.keyCodeFromString(args[1]);
- if (keyCode == KeyEvent.KEYCODE_UNKNOWN) {
- keyCode = KeyEvent.keyCodeFromString("KEYCODE_" + args[1]);
+ if (args.length >= 2) {
+ for (int i=1; i < args.length; i++) {
+ int keyCode = KeyEvent.keyCodeFromString(args[i]);
+ if (keyCode == KeyEvent.KEYCODE_UNKNOWN) {
+ keyCode = KeyEvent.keyCodeFromString("KEYCODE_" + args[i]);
+ }
+ sendKeyEvent(keyCode);
}
- sendKeyEvent(keyCode);
return;
}
} else if (command.equals("tap")) {
@@ -223,7 +225,7 @@ public class Input {
DEFAULT_META_STATE, DEFAULT_PRECISION_X, DEFAULT_PRECISION_Y, DEFAULT_DEVICE_ID,
DEFAULT_EDGE_FLAGS);
event.setSource(inputSource);
- Log.i("Input", "injectMotionEvent: " + event);
+ Log.i(TAG, "injectMotionEvent: " + event);
InputManager.getInstance().injectInputEvent(event,
InputManager.INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH);
}
@@ -235,7 +237,7 @@ public class Input {
private void showUsage() {
System.err.println("usage: input ...");
System.err.println(" input text <string>");
- System.err.println(" input keyevent <key code number or name>");
+ System.err.println(" input keyevent <key code number or name> ...");
System.err.println(" input [touchscreen|touchpad] tap <x> <y>");
System.err.println(" input [touchscreen|touchpad] swipe <x1> <y1> <x2> <y2>");
System.err.println(" input trackball press");