Android Virtual Keyboard Input via ADB
ADBKeyBoard is a virtual keyboard that recieves commands from system broadcast intents, which you can send text input using adb.
There is a shell command 'input', which can help you send text input to the Android system.
usage: input [text|keyevent] input text input keyevent
But you cannot send unicode characters using this command, as it is not designed to use it this way.
Reference : http://stackoverflow.com/questions/14224549/adb-shell-input-unicode-character
e.g. adb shell input text '你好嗎' is not going to work.
ADBKeyboard will help in these cases, especially in device automation and testings.
- Enable 'ADBKeyBoard' in the Language&Input Settings.
- Set it as Default Keyboard OR Select it as the current input method of certain EditText view.
- Sending Broadcast intent via Adb or your Android Services/Apps.
1. Sending text input adb shell am broadcast -a ADB_INPUT_TEXT --es msg "你好嗎! Hello!" 2. Sending keyevent code (67 = KEYCODE_DEL) adb shell am broadcast -a ADB_INPUT_CODE --ei code 67 3. Sending editor action (2 = IME_ACTION_GO) adb shell am broadcast -a ADB_EDITOR_CODE --ei code 2
KeyEvent Code Ref: http://developer.android.com/reference/android/view/KeyEvent.html
Editor Action Code Ref: http://developer.android.com/reference/android/view/inputmethod/EditorInfo.html