详细用法如下:

  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. MYSQL 解锁与锁表

    解锁 第一种 show processlist; 找到锁进程,kill id ; 第二种 mysql>UNLOCK TABLES; 锁表 锁定数据表,避免在备份过程中,表被更新 mysql> ...

  2. 解决远程连接mysql很慢的方法(mysql_connect 打开连接慢)

    http://www.jb51.net/article/27616.htm   有次同事提出开发使用的mysql数据库连接很慢,因为我们的mysql开发数据库是单独一台机器部署的,所以认为可能是网络连 ...

  3. android 网络通讯

    //get方式请求网络数据 String urlPath="http://192.168.98.112:8080/CloudMusicPlayer/fragment1_1_lv2/json/ ...

  4. Java实现注册时发送激活邮件+激活

    最近从项目分离出来的注册邮箱激活功能,整理一下,方便下次使用 1.RegisterController.java package com.app.web.controller; import java ...

  5. ASP.NET MVC Model绑定的简单应用

    Model绑定是 MVC 框架根据 HTTP 请求数据创建 .NET 对象的一个过程. 一.简单类型 1.单一值

  6. toastr 自定义提示

    在线实例 实例演示 使用方法 <button type="button" class="btn btn-primary" id="showtoa ...

  7. Hyhyhy – 专业的 HTML5 演示文稿工具

    Hyhyhy 是创建好看的 HTML5 演示文档的工具.它具备很多的特点:支持 Markdown,嵌套幻灯片,数学排版,兼容性,语法高亮,使用 Javascript API ,方便的骨架.它支持 Fi ...

  8. Hexo - 快速,轻量,强大的 Node.js 博客框架

    Hexo 是一个快速,轻量,强大的 Node.js 博客框架.带给你难以置信的编译速度,瞬间生成静态文件:支持 Markdown,甚至可以在 Hexo 中集合 Octopress 插件:只需要一个命令 ...

  9. window7安装git详解

    1.Git详细介绍 一.Git的诞生 Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢? 事实是 ...

  10. 总结CSS3新特性(Transform篇)

    概述: CSS3新添加的Transform可以改变元素在可视化区域的坐标(这种改变不会引起文档的重排,只有重排),以及形状,还有些3D形变.结合 Animation(这里以后会有个链接的) 能实现酷炫 ...