adb shell按键操作(input keyevent)

摘要:
inputkeyevent操作发送一些常用于移动电话的按键操作。1.键事件事件对应于数字电话键KEYCODE_ CALL:拨号键KEYCODE _ ENDCALL:挂断键KEYCODE_HOME:按HOME KEYCODE_ MENU:菜单键KEYCODE_BACK:返回键KEYCODE_SEARCH:搜索键KEYCODE_CAMERA:KEYCODE_ FOCUS:相机聚焦键KEYCODE_P

前言: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)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端px4飞控调参笔记下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

QCefView实现与JS的交互

Cef主动向JS通信主要有一种方法:首先在Cef中 QCefEvent event ( const QString& eventName ); //定义一个CEF事件 event.setStringProperty ( const QString& key, const QString& msg ); //为事件添加参数 board...

Android sendevent/getevent 用法

源文;https://blog.csdn.net/kickxxx/article/details/7482392 getevent/sendevent源码 这两个命令的源码在system/core/toolbox/下,sendevent.c getevent.c getevent 使用getevent获得/dev/input/eventX设备汇报的事件,这...

shell脚本中if的“-e,-d,-f”

文件表达式-e filename 如果 filename存在,则为真-d filename 如果 filename为目录,则为真-f filename 如果 filename为常规文件,则为真-L filename 如果 filename为符号链接,则为真-r filename 如果 filename可读,则为真-w filename 如果 filenam...

初识shell编程

一、shell编程基础 什么是shell 命令解释器:你输入的命令,谁来给你运行、解释 Centos默认的Shell是bash [root@luffy-001 log]# echo $SHELL SHELL变量 /bin/bash [root@luffy-001 log]# cat /etc/shells 所有的命令解释器 /bin/sh /bi...

Win7:修改注册表来更改“桌面”、“我的文档”、“收藏夹”的位置

“我的文档”,“收藏夹”等的默认位置都在C:\Documents and settings\(用户名)\。 如果要重装系统后,“我的文档”“收藏夹”里的内容都会不在。如果修改“我的文档”“收藏夹”等的默认位置,就没有上述的烦恼。注册表开启:开始-运行-regedit-确定。修改的关键注册表项(两个项中的相同值应同时修改) 1.HKEY_CURRENT_U...

debian linux 中如何查看软件包是否已经安装和如何安装、卸载软件

练习 1 方案:确定软件包是否安装 如果您不确定某个软件包是否已经安装,可以使用dpkg的-l(L的小写) 选项: $ dpkg -l zsh No packages found matching zsh. 上面结果这表明 zsh没有安装。 练习 2 的方案. 搜索软件包 可以使用apt-cache命令和它的search子命令来搜索软件包:zsh,如清单...