adb shell按鍵操作(input keyevent)

前言: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()

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章