Sending KeyEvents to an application via adb
adb shell input text <text_without_spaces>adb shell input keyevent <key_code>
or as an example how to send the <space> character:
adb shell input keyevent 62
For key codes refer to KeyEvent Documentation or check source code KeyEvent.java.
Let's check out, how that 'input' command is implemented:
# which input
/system/bin/input
# cat system/bin/input
...
exec app_process $base/bin com.android.commands.input.Input $*
Remark: the command input is a shell script which on the other hand is implemented as java code. The unquoted parameter in a script file $* makes handling of <spaces> between words a little bit more tricky, so in fact the command input text "my text" would not work as expected. As an example and workaround sendtext.pl.gz will call com.android.commands.input.Input directly using app_process command.