adb shell按鍵操作(input keyevent)
阿新 • • 發佈:2019-03-23
racket tag 返回鍵 寫鎖 不支持 class 解鎖 power 翻頁
前言:input keyeven操作發送手機上常用的一些按鍵操作
一、keyevent事件對應數字
電話鍵
- KEYCODE_CALL: 撥號鍵
- KEYCODE_ENDCALL: 掛機鍵
- KEYCODE_HOME: 按鍵Home
- KEYCODE_MENU: 菜單鍵
- KEYCODE_BACK: 返回鍵
- KEYCODE_SEARCH: 搜索鍵
- KEYCODE_CAMERA: 拍照鍵
- KEYCODE_FOCUS: 拍照對焦鍵
- KEYCODE_POWER: 電源鍵
- KEYCODE_NOTIFICATION: 通知鍵
- KEYCODE_MUTE: 話筒靜音鍵
- KEYCODE_VOLUME_MUTE: 揚聲器靜音鍵
- KEYCODE_VOLUME_UP: 音量增加鍵
- KEYCODE_VOLUME_DOWN: 音量減小鍵
控制鍵
- KEYCODE_ENTER: 回車鍵
- KEYCODE_ESCAPE: ESC鍵
- KEYCODE_DPAD_CENTER: 導航鍵 確定鍵
- KEYCODE_DPAD_UP: 導航鍵 向上
- KEYCODE_DPAD_DOWN: 導航鍵 向下
- KEYCODE_DPAD_LEFT: 導航鍵 向左
- KEYCODE_DPAD_RIGHT: 導航鍵 向右
- KEYCODE_MOVE_HOME: 光標移動到開始鍵
- KEYCODE_MOVE_END: 光標移動到末尾鍵
- KEYCODE_PAGE_UP: 向上翻頁鍵
- KEYCODE_PAGE_DOWN: 向下翻頁鍵
- KEYCODE_DEL: 退格鍵
- KEYCODE_FORWARD_DEL: 刪除鍵
- KEYCODE_INSERT: 插入鍵
- KEYCODE_TAB: Tab鍵
- KEYCODE_NUM_LOCK: 小鍵盤鎖
- KEYCODE_CAPS_LOCK: 大寫鎖定鍵
- KEYCODE_BREAK: Break/Pause鍵
- KEYCODE_SCROLL_LOCK: 滾動鎖定鍵
- KEYCODE_ZOOM_IN: 放大鍵
- KEYCODE_ZOOM_OUT: 縮小鍵
每個數字與keycode對應表如下:
- 0 --> "KEYCODE_UNKNOWN"
- 1 --> "KEYCODE_MENU"
- 2 --> "KEYCODE_SOFT_RIGHT"
- 3 --> "KEYCODE_HOME"
- 4 --> "KEYCODE_BACK"
- 5 --> "KEYCODE_CALL"
- 6 --> "KEYCODE_ENDCALL"
- 7 --> "KEYCODE_0"
- 8 --> "KEYCODE_1"
- 9 --> "KEYCODE_2"
- 10 --> "KEYCODE_3"
- 11 --> "KEYCODE_4"
- 12 --> "KEYCODE_5"
- 13 --> "KEYCODE_6"
- 14 --> "KEYCODE_7"
- 15 --> "KEYCODE_8"
- 16 --> "KEYCODE_9"
- 17 --> "KEYCODE_STAR"
- 18 --> "KEYCODE_POUND"
- 19 --> "KEYCODE_DPAD_UP"
- 20 --> "KEYCODE_DPAD_DOWN"
- 21 --> "KEYCODE_DPAD_LEFT"
- 22 --> "KEYCODE_DPAD_RIGHT"
- 23 --> "KEYCODE_DPAD_CENTER"
- 24 --> "KEYCODE_VOLUME_UP"
- 25 --> "KEYCODE_VOLUME_DOWN"
- 26 --> "KEYCODE_POWER"
- 27 --> "KEYCODE_CAMERA"
- 28 --> "KEYCODE_CLEAR"
- 29 --> "KEYCODE_A"
- 30 --> "KEYCODE_B"
- 31 --> "KEYCODE_C"
- 32 --> "KEYCODE_D"
- 33 --> "KEYCODE_E"
- 34 --> "KEYCODE_F"
- 35 --> "KEYCODE_G"
- 36 --> "KEYCODE_H"
- 37 --> "KEYCODE_I"
- 38 --> "KEYCODE_J"
- 39 --> "KEYCODE_K"
- 40 --> "KEYCODE_L"
- 41 --> "KEYCODE_M"
- 42 --> "KEYCODE_N"
- 43 --> "KEYCODE_O"
- 44 --> "KEYCODE_P"
- 45 --> "KEYCODE_Q"
- 46 --> "KEYCODE_R"
- 47 --> "KEYCODE_S"
- 48 --> "KEYCODE_T"
- 49 --> "KEYCODE_U"
- 50 --> "KEYCODE_V"
- 51 --> "KEYCODE_W"
- 52 --> "KEYCODE_X"
- 53 --> "KEYCODE_Y"
- 54 --> "KEYCODE_Z"
- 55 --> "KEYCODE_COMMA"
- 56 --> "KEYCODE_PERIOD"
- 57 --> "KEYCODE_ALT_LEFT"
- 58 --> "KEYCODE_ALT_RIGHT"
- 59 --> "KEYCODE_SHIFT_LEFT"
- 60 --> "KEYCODE_SHIFT_RIGHT"
- 61 --> "KEYCODE_TAB"
- 62 --> "KEYCODE_SPACE"
- 63 --> "KEYCODE_SYM"
- 64 --> "KEYCODE_EXPLORER"
- 65 --> "KEYCODE_ENVELOPE"
- 66 --> "KEYCODE_ENTER"
- 67 --> "KEYCODE_DEL"
- 68 --> "KEYCODE_GRAVE"
- 69 --> "KEYCODE_MINUS"
- 70 --> "KEYCODE_EQUALS"
- 71 --> "KEYCODE_LEFT_BRACKET"
- 72 --> "KEYCODE_RIGHT_BRACKET"
- 73 --> "KEYCODE_BACKSLASH"
- 74 --> "KEYCODE_SEMICOLON"
- 75 --> "KEYCODE_APOSTROPHE"
- 76 --> "KEYCODE_SLASH"
- 77 --> "KEYCODE_AT"
- 78 --> "KEYCODE_NUM"
- 79 --> "KEYCODE_HEADSETHOOK"
- 80 --> "KEYCODE_FOCUS"
- 81 --> "KEYCODE_PLUS"
- 82 --> "KEYCODE_MENU"
- 83 --> "KEYCODE_NOTIFICATION"
- 84 --> "KEYCODE_SEARCH"
- 85 --> "TAG_LAST_KEYCODE"
2、實現back鍵。打開cmd輸入指令
# 方法一: > adb shell input keyevent KEYCODE_BACK # 方法二: > adb shell input keyevent 4
3、下面封裝keyevent事件放入common模塊供調用
#coding:utf-8 import os class Event(): ‘‘‘常用keyevent事件‘‘‘ KEYCODE_HOME = 3 # home鍵 KEYCODE_MENU = 82 # menu鍵 KEYCODE_BACK = 4 # back鍵 KEYCODE_POWER = 26 # power鍵 KEYCODE_DPAD_UP = 19 # 向上 KEYCODE_DPAD_DOWN = 20 # 向下 KEYCODE_DPAD_LEFT = 21 # 向左 KEYCODE_DPAD_RIGHT = 22 # 向右 KEYCODE_NOTIFICATION = 83 # 解鎖 # 點擊返回鍵 def back(keyname=Event.KEYCODE_BACK): ‘ 執行adb keyevent事件 參數從Event類裏面關聯‘ adb = ‘adb shell input keyevent %s‘ % keyname os.system(adb) # 點擊home鍵 def home(keyname = Event.KEYCODE_HOME): adb = ‘adb shell input keyevent %s‘ % keyname os.system(adb) # 點擊菜單鍵 def menu(keyname= Event.KEYCODE_MENU): adb = ‘adb shell input keyevent %s‘ % keyname os.system(adb) # 按一下電源鍵 def power(keyname=Event.KEYCODE_POWER): adb = ‘adb shell input keyevent %s‘ % keyname os.system(adb) # 向上滑動 def up(keyname = Event.KEYCODE_DPAD_UP): adb = ‘adb shell input keyevent %s‘ % keyname os.system(adb) # 向下滑動 def down(keyname = Event.KEYCODE_DPAD_DOWN): adb = ‘adb shell input keyevent %s‘ % keyname os.system(adb) # 向左滑動 def left(keyname= Event.KEYCODE_DPAD_LEFT): adb = ‘adb shell input keyevent %s‘ % keyname os.system(adb) # 向右滑動 def right(keyname= Event.KEYCODE_DPAD_RIGHT): adb = ‘adb shell input keyevent %s‘ % keyname os.system(adb) # adb也可以輸入文本 def input_text(text): u‘adb輸入是text文本,不支持中文‘ adb = ‘adb shell input text %s‘ % text os.system(adb) if __name__==‘__main__‘: back() back()
adb shell按鍵操作(input keyevent)