From c8f8aa0e4bd1a78a7f7cd9fc2fbd98a3f6087de1 Mon Sep 17 00:00:00 2001 From: Diego Torres Milano Date: Thu, 4 Apr 2013 13:44:34 -0400 Subject: input: added support for multiple keyevents - Multiple keyevents can now be send from the command line: input keyevent ... 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 --- cmds/input/src/com/android/commands/input/Input.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'cmds') 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 "); - System.err.println(" input keyevent "); + System.err.println(" input keyevent ..."); System.err.println(" input [touchscreen|touchpad] tap "); System.err.println(" input [touchscreen|touchpad] swipe "); System.err.println(" input trackball press"); -- cgit v1.1