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