HTC Sensation 事件操作.
来源:互联网 发布:java获取天气预报 编辑:程序博客网 时间:2024/05/11 20:18
真机于模拟器的区别是,网上一大堆的说明,操作方法都是针对的模拟器,用到真机上,不起作用了.
一般模拟器的事件就一个.
模拟器获取事件信息
root@generic:/ # geteventadd device 1: /dev/input/event0 name: "qwerty2"就一个/dev/input/event0 因此能搜到的文章都是写的event0
真机就比较多了,如我的这个HTC
有8个设备
# geteventadd device 1: /dev/input/event6 name: "proximity"add device 2: /dev/input/event5 name: "lightsensor-level"add device 3: /dev/input/event4 name: "dummy_keypad"add device 4: /dev/input/event3 name: "pyramid-keypad"add device 5: /dev/input/event2 name: "cy8c-touchscreen"add device 6: /dev/input/event1 name: "rcp_events"add device 7: /dev/input/event0 name: "h2w headset"add device 8: /dev/input/event7 name: "htc_headset"
需要给手机发送指令,那么就需要知道你摸了手机,是哪个设备相应的
通过getevent很容易
用手点了下
/dev/input/event2: 0003 0030 00000040/dev/input/event2: 0003 0032 00000040/dev/input/event2: 0003 0035 00000196/dev/input/event2: 0003 0036 000002e5/dev/input/event2: 0000 0002 00000000/dev/input/event2: 0000 0000 00000000
输出一大堆event2 那么接受点击的就是 /dev/input/event2 这个设备了
点了下开机键
/dev/input/event3: 0001 0074 00000001
/dev/input/event3: 0001 0074 00000000
输出了event3 那么开机键关联的就是 /dev/input/event3 这个设备了
手机的分辨率是540 960
按照这个尺寸获取坐标小心,发送sendevent 是不对的.
通过getevent -p 获取event2的参数信息
add device 5: /dev/input/event2 name: "cy8c-touchscreen" events: SYN (0000): 0000 0001 0003 KEY (0001): 0066 008b 009e 00d9 ABS (0003): 0030 value 0, min 0, max 255, fuzz 0 flat 0 0032 value 0, min 0, max 512, fuzz 0 flat 0 0035 value 0, min 11, max 1012, fuzz 0 flat 0 0036 value 0, min 6, max 940, fuzz 0 flat 0
0035的值范围是 11 ---- 1012
540这个尺寸需要调整下按比例缩放.
540/1001 + 11 才是实际映射到事件的尺寸.
通过 getevent -t 查看手机接受的事件信息
25804-683810: /dev/input/event5: 0003 0028 0000000225804-684206: /dev/input/event5: 0000 0000 0000000025805-734866: /dev/input/event2: 0003 0030 0000003c25805-737734: /dev/input/event2: 0003 0032 0000003c25805-737795: /dev/input/event2: 0003 0035 0000022125805-737856: /dev/input/event2: 0003 0036 0000012025805-737917: /dev/input/event2: 0000 0002 0000000025805-737978: /dev/input/event2: 0000 0000 00000000
事件发送的速度是很快的,是在同意秒内进行处理,
所以你发送sendevent 是跟不上这个节奏的,如果要进行划屏的操作,那么一个一个的发送指令,执行时就成了长按效果了.
因此网上的一堆指令发送是达不到想象的效果的.
非要达到这个效果,那么需要把指令错开,并发执行.
XXXXXXXXXXXXXXXXXX &
sleep XXX
一般通过这样子来模拟并发并且有间隔,但是因为执行时间不固定,因此也还是会存在指令错位导致的异常.
还有一种功能就是通过直接在设备上安装代理,通过agent的方式发送keyevent的方法进行,不过这样实现较复杂.
对于android更高版本的系统input会支持更多的参数,此类设备比较好实现,也不会存在等版本android指令不知道导致使用折中方法导致的问题.
- HTC Sensation 事件操作.
- HTC Sensation Android MOVE 操作的一点问题处理
- HTC G21 Sensation XL一键获取ROOT权限教程
- HTC Sensation 4G root教程_方法
- HTC G14 Sensation 新手刷机详细教程 获取root权限
- 关于htc sensation xl 开机只有最上面的通知栏的解决办法之一
- HTC G21 Sensation XL 官方解锁、刷Recovery刷机图文教程
- Cryengine中获取 HTC Vive 的操作和事件
- HTC G14刷机教程!HTC Sensation G14 RECOVERY,ROOT教程!HTC G14解锁教程!G14 ROOT教程!S-OFF教程!!
- htc android操作
- HTC View 手柄操作简介
- HTC基础篇四--(事件)
- htc
- htc
- htc
- htc
- Unity开发HTC vive 二、操作GUI
- Unity开发HTC vive 二、操作GUI
- Halcon C#.net 编程指导(3): 元组(Tuples)的使用
- uva 10177 (2/3/4)-D Sqr/Rects/Cubes/Boxes?
- java 自制类加载器的简单实现
- hadoop compile eclipse-plugin
- 服务创新企业的崛起
- HTC Sensation 事件操作.
- linux压缩命令
- Transact-SQL存储过程
- Android canvas上画图时改变canvas
- socket和serversocket
- Windows下INF驱动安装文件内容分析
- 卷积神经网络
- 提高网站打开速度的秘诀
- Lisp语言学习记录(初学者)