summaryrefslogtreecommitdiffstats
path: root/cmds/input
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 /cmds/input
parentbd1730dec7356e042ee885ff4a63b40f36733062 (diff)
downloadframeworks_base-2ac9d8d0f0ea65aae6ba43490b5be6617ad97125.zip
frameworks_base-2ac9d8d0f0ea65aae6ba43490b5be6617ad97125.tar.gz
frameworks_base-2ac9d8d0f0ea65aae6ba43490b5be6617ad97125.tar.bz2
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
Diffstat (limited to 'cmds/input')
-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 a21df0d..6dc9f3d 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");