详细用法如下:

  1. Usage: getevent [-t] [-n] [-s switchmask] [-S] [-v [mask]] [-d] [-p] [-i] [-l] [-q] [-c count]
    [-r] [device]
  2. switchfor given
    bits
  3. switch
    ,
    dev=, name=,
    info=, vers=,
    pos. events=, props=)
  4. if

    Usage: sendevent <device> <type> <code> <value>

首先,adb shell进入android设备,运行getevent命令得到如下信息,为各类事件的驱动设备,每部

  1. add device :
    /dev/input/event1
  2. :
    /dev/input/event3
  3. :
    /dev/input/event2
  4. :
    /dev/input/event5
  5. for /dev/input/mice,
    Not a typewriter
  6. :
    /dev/input/event0
  7. :
    /dev/input/event4

在点击设备屏幕之后得到:

  1. /dev/input/event0:   000002a5
  2. 0000017b
  3. 000001cf
  4. 003a
    0000001c
  5. ffffffff
  1. /dev/input/event0: EV_ABS       ABS_MT_TRACKING_ID     000002a6

type: 输入设备类型,在手机系统中经常使用的键盘(keyboard)和小键盘(kaypad)属于按键设 
备EV_KEY,轨迹球属于相对设备EV_REL,触摸屏属于绝对设备EV_ABS 
code: 按键扫描码,区别于ASCII码和SDK中KeyEvent的键码 
value: 附加码,1/0 down/up

一次touch此8行是必须的,如果是longTouch呢,在touch的基础上,重复若干次第2~6行,即看起 
来可能是这样子:

  1. /dev/input/event0: EV_ABS       ABS_MT_TRACKING_ID     000002a6

如果是drag呢,在longTouch的基础上,xy坐标从起点到终点是渐变的,其他可认为一样。

  1. /dev/input/event0:

所以清楚了之后,使用sendevent进行事件模拟就很轻松了,关键是从input.h中获取按键对应的扫

值得注意的是使用getevent获取的数值都是16进制的,而sendevent使用的是10进制的,需要进行

如点击坐标: 120,254

  1. sendevent /dev/input/event1         <---事件开始
  2. <---点击开始
  3. <---  触摸范围
  4. <---  x坐标
  5. <---  y坐标
  6. <---点击结束(同步)
  7. <---事件结束
  8. <---事件同步

对于longTouch,重复几次上面提到的步骤,而drag再弄个坐标渐变。

  1. sendevent /dev/input/event0

模拟事件的话,可以转向input命令。

供的功能还不一样,但它毕竟好用啊,如下:

  1. usage: input ...
  2. input swipe <x1> <y1> <x2> <y2>

输入文本: input text abcdefg 
按键 : input keyevent KEYCODE_MENU 
点击 : input tap 100 300 
拖拽 : input swipe 100 600 500 600

②对于longTouch,使用input如何模拟?

这是个难题

Android getevent的更多相关文章

  1. Android getevent用法详解

    getevent 指令用于获取 input 输入事件,比如获取按键上报信息.获取触摸屏上报信息等. 指令源码路径:/system/core/toolbox/getevent.c getevent -h ...

  2. Android sendevent/getevent 用法

    前言:最近在弄一个模拟用户点击屏幕的功能,并且不需要用户点击屏幕,后台自动给输入框赋值,类似pc端按键精灵的功能,在网上找了很多人的资料,写的都不是太详细,一知半解.还要自己慢慢研究.于是我这边写一篇 ...

  3. (转)使用getevent监听Android输入设备文件

    尊重原创转载请注明:From AigeStudio(http://blog.csdn.net/aigestudio)Power by Aige 侵权必究! 炮兵镇楼 上一节Android事件分发完全解 ...

  4. Android自动化 -- sendevent/getevent 用法

    getevent&sendevent 是android系统下的一个工具,可以 模拟 多种按键和触屏操作,产生的是raw event,raw event经过event hub处理产生最终的ges ...

  5. Android官方文档

    下面的内容来自Android官方网站,由于访问这个网站需要FQ,不方便,所以我把部分内容copy下来了,不保证内容是最新的. Source Overview    Codelines, Branche ...

  6. android键盘输入读取

    android键盘输入读取  监控android键盘输入方式有两种,一种在java层实现,重写onKeyDown和onKeyUp方法.另一种是在jni层实现,监控/dev/input/event0键盘 ...

  7. Android的常用adb命令

    第一部分:1. ubuntu下配置环境anroid变量:在终端执行 sudo gedit /etc/profile 打开文本编辑器,在最后追加#setandroid environment2. 运行E ...

  8. Android ADB 命令大全

    1 cpu号: 文件在: /proc/cpuinfo 通过Adb shell 查看: adb shell cat /proc/cpuinfo 2 mac 地址 文件路径 /sys/class/net/ ...

  9. android遥控器的映射

    第一编写kl文件时先在盒子上输入getevent -v查看设备信息,设备信息里有vendor.product.version, 假如分别是xxxx,yyyy,zzzz,那么你的文件名就要命名为Vend ...

随机推荐

  1. 几个简单的js正则验证

    //校验身份证,身份证分为15位和18位 function checkIdCard(obj) { if ((/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.tes ...

  2. netmiko初窥

    paramiko 和 pexpect在笔记里被跳过 因为,他们都可以被netmiko所取代,不想在他们身上浪费太多时间 补一个地方就是,如果用paramiko遇到了connection莫名自己关闭的情 ...

  3. css 属性选择器

    css2的属性选择器 1.[class~="flower"]:选中有flower的class class="flower ss" class="ss ...

  4. ASP.NET登录控件login。

    1.Login控件.通常情况下会出现3个核心元素.用户名文本框.密码输入框.提交凭证的按钮. 1>.比较重要的属性:CreateUserText属性:包含站点注册页的链接文本.CreateUse ...

  5. jQuery Panorama Viewer – 360度全景展示插件

    jQuery Panorama Viewer 这款插件可以帮助你在网站中嵌入全景图片.要做到这一点,首先只需要在页面中引入最新的 jQuery 库,以及 jquery.panorama_viewer. ...

  6. 【小贴士】虚拟键盘与fixed带给移动端的痛!

    前言 今天来公司的主要目的就是研究虚拟键盘与fixed的问题,期间因为同事问起闭包与事件委托(阻止冒泡)相关问题,便穿插了一篇别的: [小贴士]工作中的”闭包“与事件委托的”阻止冒泡“,有兴趣的朋友可 ...

  7. hibernate 入门([数据访问中间件] 开源框架)

    1.内容:  hibernate 也是一个经典的[数据访问中间件] 开源框架.    2.hibernate核心组件       SessionFactory[整个数据的操作]重量级组件       ...

  8. HTML 文本格式化实例

    一,文本格式化:此例演示如何在一个 HTML 文件中对文本进行格式化. <html> <body> <b>This text is bold</b> & ...

  9. Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解

    Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...

  10. iOS上架90034问题解决

    开发完成的APP,我们当然要上传到AppStore里面了,这可是我们心血的结晶. 可是,就当我们兴奋之余,却发现我们的App根本无法上传到AppStore.我们百度.谷歌了N种方法,就像我这种逗逼,整 ...