(原) Adbkeyboard控制手机的键盘输入法

原创文章,请后转载,并注明出处。

ADBKeyBoard

这是一个通过ADB控制的键盘输入法.与ADB的不同主要是在于它可以输入中文,而ADB是不允许的. 一般ADB是采用发送字符到原输入法.

https://github.com/senzhk/ADBKeyBoard

adb shell input text "HelloWorld"
adb shell ime list -a  查看原有输入法
    com.sohu.inputmethod.sogou.xiaomi/.SogouIM
    com.android.adbkeyboard/.AdbIME
    com.iflytek.inputmethod.miui/.FlyIME
    cn.xiaohuodui.remote.keyboard/.keyboard.IMEService
adb shell ime enable com.android.adbkeyboard/.AdbIME
adb shell ime set com.android.adbkeyboard/.AdbIME

adb shell am broadcast -a ADB_INPUT_TEXT --es msg 'Hello?'
adb shell am broadcast -a ADB_INPUT_B64 --es msg `echo -n '你好嗎? Hello?' | base64`
adb shell am broadcast -a ADB_INPUT_TEXT --es msg "你好世界"
adb shell am broadcast -a ADB_INPUT_B64 --es msg ([Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("你好嗎? Hello?")))  PowerShell下发送中文
adb shell am broadcast -a ADB_INPUT_CODE --ei code 67 发送按键(67=KEYCODE_DEL)
adb shell am broadcast -a ADB_EDITOR_CODE --ei code 2  2 = IME_ACTION_GO
adb shell am broadcast -a ADB_INPUT_CHARS --eia chars '128568,32,67,97,116'   第一个字符是unicode字符
adb shell am broadcast -a ADB_INPUT_TEXT --es mcode '4096,29'   Ctrl + A ?
adb shell am broadcast -a ADB_INPUT_TEXT --es mcode '4096+8192,29'
adb shell am broadcast -a ADB_CLEAR_TEXT  清除所有文本
adb shell ime reset 重置输入法
KEYCODE_AT @ 
KEYCODE_BACK  返回键 125
KEYCODE_BACKSLASH \
KEYCODE_BRIGHTNESS_DOWN  亮度降低 220
KEYCODE_BRIGHTNESS_UP  亮度上升 221
KEYCODE_CALL  呼叫键 5
KEYCODE_CAMERA 相机键 
KEYCODE_CLEAR 清除键 28
KEYCODE_CLOSE AC 关闭  321
KEYCODE_CUT 剪切
KEYCODE_DO_NOT_DISTURB 切换“请勿打扰”模式
KEYCODE_DPAD_DOWN_LEFT  方向键左下
KEYCODE_DPAD_DOWN_RIGHT  方向键右下
KEYCODE_DPAD_UP_LEFT 方向键左上
KEYCODE_ENDCALL 结束呼叫键 
KEYCODE_ENTER 输入键
KEYCODE_EQUALS =  161
KEYCODE_ESCAPE 111
KEYCODE_FULLSCREEN 325
KEYCODE_GRAVE “"(反勾)键
KEYCODE_LOCK 锁定屏幕 324
KEYCODE_MUTE 164
KEYCODE_PASTE 279
KEYCODE_POUND #
KEYCODE_POWER 26
KEYCODE_STAR *
KEYCODE_VOLUME_DOWN 25
KEYCODE_VOLUME_UP 24
KEYCODE_VOLUME_MUTE 164
KEYCODE_WAKEUP 224
KEYCODE_SOFT_SLEEP 276