Use the adb Monkeyrunner API instead of adb connect + WifiKeyboard app.
Android Debug Bridge (which we are already using to forward the key events to the WifiKeyboard app) also has an API to send key events to the android without requiring any installed app. So we can remove the need for installing WifiKeyboard app. Moreover, then there is no need for launching the adb connect command on the laptop, no need for launching the WifiKeyboard app, and no need for switching between the native android keyboard and this one.
ADB: Android Debug Bridge http://developer.android.com/tools/help/adb.html
API. see the the type and press methods
http://developer.android.com/tools/help/MonkeyDevice.html
example: http://stackoverflow.com/questions/6686085/how-can-i-make-a-java-app-using-the-monkeyrunner-api
maven dependencies: http://stackoverflow.com/questions/6686085/how-can-i-make-a-java-app-using-the-monkeyrunner-api/33330298#33330298