Loading cmds/input/src/com/android/commands/input/Input.java +17 −8 Original line number Diff line number Diff line Loading @@ -57,15 +57,19 @@ public class Input { } } else if (command.equals("keyevent")) { if (args.length >= 2) { for (int i=1; i < args.length; i++) { final boolean longpress = "--longpress".equals(args[1]); final int start = longpress ? 2 : 1; if (args.length > start) { for (int i = start; 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, longpress); } return; } } } else if (command.equals("tap")) { if (args.length == 3) { sendTap(InputDevice.SOURCE_TOUCHSCREEN, Float.parseFloat(args[1]), Float.parseFloat(args[2])); Loading Loading @@ -168,10 +172,15 @@ public class Input { } } private void sendKeyEvent(int keyCode) { private void sendKeyEvent(int keyCode, boolean longpress) { long now = SystemClock.uptimeMillis(); injectKeyEvent(new KeyEvent(now, now, KeyEvent.ACTION_DOWN, keyCode, 0, 0, KeyCharacterMap.VIRTUAL_KEYBOARD, 0, 0, InputDevice.SOURCE_KEYBOARD)); if (longpress) { injectKeyEvent(new KeyEvent(now, now, KeyEvent.ACTION_DOWN, keyCode, 1, 0, KeyCharacterMap.VIRTUAL_KEYBOARD, 0, KeyEvent.FLAG_LONG_PRESS, InputDevice.SOURCE_KEYBOARD)); } injectKeyEvent(new KeyEvent(now, now, KeyEvent.ACTION_UP, keyCode, 0, 0, KeyCharacterMap.VIRTUAL_KEYBOARD, 0, 0, InputDevice.SOURCE_KEYBOARD)); } Loading Loading @@ -251,7 +260,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 [--longpress] <key code number or name> ..."); System.err.println(" input [touchscreen|touchpad|touchnavigation] tap <x> <y>"); System.err.println(" input [touchscreen|touchpad|touchnavigation] swipe " + "<x1> <y1> <x2> <y2> [duration(ms)]"); Loading Loading
cmds/input/src/com/android/commands/input/Input.java +17 −8 Original line number Diff line number Diff line Loading @@ -57,15 +57,19 @@ public class Input { } } else if (command.equals("keyevent")) { if (args.length >= 2) { for (int i=1; i < args.length; i++) { final boolean longpress = "--longpress".equals(args[1]); final int start = longpress ? 2 : 1; if (args.length > start) { for (int i = start; 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, longpress); } return; } } } else if (command.equals("tap")) { if (args.length == 3) { sendTap(InputDevice.SOURCE_TOUCHSCREEN, Float.parseFloat(args[1]), Float.parseFloat(args[2])); Loading Loading @@ -168,10 +172,15 @@ public class Input { } } private void sendKeyEvent(int keyCode) { private void sendKeyEvent(int keyCode, boolean longpress) { long now = SystemClock.uptimeMillis(); injectKeyEvent(new KeyEvent(now, now, KeyEvent.ACTION_DOWN, keyCode, 0, 0, KeyCharacterMap.VIRTUAL_KEYBOARD, 0, 0, InputDevice.SOURCE_KEYBOARD)); if (longpress) { injectKeyEvent(new KeyEvent(now, now, KeyEvent.ACTION_DOWN, keyCode, 1, 0, KeyCharacterMap.VIRTUAL_KEYBOARD, 0, KeyEvent.FLAG_LONG_PRESS, InputDevice.SOURCE_KEYBOARD)); } injectKeyEvent(new KeyEvent(now, now, KeyEvent.ACTION_UP, keyCode, 0, 0, KeyCharacterMap.VIRTUAL_KEYBOARD, 0, 0, InputDevice.SOURCE_KEYBOARD)); } Loading Loading @@ -251,7 +260,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 [--longpress] <key code number or name> ..."); System.err.println(" input [touchscreen|touchpad|touchnavigation] tap <x> <y>"); System.err.println(" input [touchscreen|touchpad|touchnavigation] swipe " + "<x1> <y1> <x2> <y2> [duration(ms)]"); Loading