Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

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
  • Loading branch information...
commit c8f8aa0e4bd1a78a7f7cd9fc2fbd98a3f6087de1 1 parent 5e6c92e
@dtmilano dtmilano authored Gerrit Code Review committed
Showing with 9 additions and 7 deletions.
  1. +9 −7 cmds/input/src/com/android/commands/input/Input.java
View
16 cmds/input/src/com/android/commands/input/Input.java
@@ -56,12 +56,14 @@ private void run(String[] args) {
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 @@ private void injectMotionEvent(int inputSource, int action, long when, float x,
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 @@ private static final float lerp(float a, float b, float alpha) {
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");
Please sign in to comment.
Something went wrong with that request. Please try again.