在之前的讨论中,根据蓝牙鼠标和手指点击会发生冲突断触的现象,我们得知了一个“常识”,Android手机中不同的设备touch事件会断触,想要不断触,必须重构MotionEvent事件,

最近发现某些游戏手柄,竟然做到了和屏幕touch不断触,

看起来确实很强,猜测一下其大概原理,

我们需要打开开发者选项中input相关的点击轨迹显示,来方便查看touch事件,

1.为什么有input注入的权限?

一般是系统级应用才可以,或者是通过辅助功能认证的才有权限,

但是通过app_process方式来启动的程序,就可以有shell权限,模拟调试状态,参考如下:

android免root运行adb高级权限命令,例如修改手机设置等(转)_宓庆堂的博客-CSDN博客_adb权限受限

2. 合并手柄和屏幕的touch事件,才可以做到不断触,这个是怎么做的呢?

一个方案是通过InputFilter来进行,但这个手柄看起来没有使用InputFilter,手柄连接激活后,getevent不再打印屏幕touch的信息了,很奇怪。

猜测是用了某种方案,独占了/dev/input/eventX 设备,不知道用的什么巧妙的方式,期待大佬解答。

2022-4-9 update

有大佬了解底层这一块,帮忙解答了,确实是独占了设备:

这里的grab的意思是设备被抓或者设备被独占的意思,通过EVIOCGRAB ioctl设置,设置后当前设备变成唯一的来自设备的所有输入事件的接收者。

我们之前说过,当多个应用打开这个eventx的时候,都会接收到事件,但是当某一个应用通过EVIOCGRAB ioctl设置后,就只有当前应用可以接收到事件了
————————————————
版权声明:本文为CSDN博主「dianlong_lee」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ldl617/article/details/117350717

在getevent的源码中,添加 ioctl(fd, EVIOCGRAB), 可以发现,会独占设备事件。

另外一个疑问,多个进程打开了设备,如果A进程接收数据后,处理比较慢,比如sleep几秒,

会不会导致接收的总数据比其他进程少?即丢失了数据?

相关资料

​​​​​​linux input子系统 -- 05 数据上报_dianlong_lee的博客-CSDN博客

Linux input子系统分析之四 input handler驱动实例evdev分析_jerry_chg的博客-CSDN博客

Android手游手柄touch猜想相关推荐

  1. gamepad android手柄,CF手游手柄怎么玩 CF手游怎么设置安卓手柄

    CF手游是一款将端游完美移植到手机端的枪战射击类游戏,因为玩家们无法在PC端中使用手柄操作游戏,现在在CF手游版中就可以实现啦~那么CF手游手柄要怎么玩,具体要如何操作?下面为玩家们列出了详细的步奏咯 ...

  2. Android手游《》斗地主完整的源代码(支持单机和网络对战)

    Android手游<斗地主>完整的源代码(支持单机和网络对战)下载.一个很不错的源代码. 斗地主掌游是一个独特的国内社会斗地主棋牌游戏,之后玩家可以下载网上斗地主和全世界.掌游斗地主特点: ...

  3. 浅析android手游lua脚本的加密与解密

    2018.05.02更新 这段时间在翻备份的硬盘,突然发现了以前的分析项目和代码,从里面提取了之前附件的内容,现在上传给大家,真是柳暗花明又一村啊.附件包括201703版本的梦幻手游里面提取的so文件 ...

  4. 安卓修改大师揭秘Android手游破解全过程

    由于安卓修改大师的零门槛学习成本,让安卓应用程序的破解和二次开发变得相当简单,也正因如此,手机APP遭受破解和盗版问题长期存在,且愈演愈烈.尤其是手游行业,如刀塔传奇.植物大战僵尸.2048等知名游戏 ...

  5. Android手游SDK那点事(四)聚合打包

    更新: 聚合SDK 我们的SDK其实也可以称为聚合SDK,所谓聚合,就是CP游戏方接入聚合SDK,然后通过打包工具将游戏分发到更多渠道上,我们的SDK也有这个能力,相对渠道少一点 分发渠道包 以下操作 ...

  6. 关于android手游Sdk开发的专题(一)

    随着手游行业的蓬勃发展,以及各大IP加入,对于Android手游插件sdk的开发也多了起来. 下面我将给大家分享手游插件的开发细节 1.sdk开发与传统的app开发的不同点 首先做为sdk由于要兼容e ...

  7. Android手游SDK那点事(二)SDK项目结构设计(初版,废弃)

    项目构建 上一个完整架构图 以KSDK为名称模拟项目构建 项目建议: 1.这里游戏sdk不使用mvp或者mmvm的方式,其实这两种模式开发者在开发应用的时候不要盲目的使用,根据自己项目业务情况选择一个 ...

  8. Android手游SDK那点事(一)简述

    常见名词 CP:游戏厂商,就是开发游戏的,一般情况下CP常常指提供游戏的一方,不一定是研发,只要接入我们SDK,提供给我们游戏,你就是CP. 发行:代理游戏产品,进行渠道的发行. SDK:这里指游戏开 ...

  9. 浅析android手游lua脚本的加密与解密(番外篇之反编译的对抗)

    前言   去年在看雪论坛写了一篇<浅析android手游lua脚本的加密与解密>的精华文章,今年写一篇番外篇,将一些lua反编译对抗的内容整合一起,并以3个实例作为说明(包括2018腾讯游 ...

最新文章

  1. div模拟textarea文本域轻松实现高度自适应——张鑫旭
  2. aws python lambda_AWS Lambda
  3. argparse.ArgumentParser
  4. posix自己搭建消息队列_蘑菇街消息系统上云实践
  5. 杭电2068RPG的错排
  6. osql sql2012_您可能不知道SQL Server实用程序-SQLdiag,osql和SqlLocalDB
  7. react中IOS手机里面两个input同时存在时,聚焦focus失效解决办法
  8. 细嚼浏览器兼容----条件注释判断浏览器版本
  9. 计算机一级多分,多少分能过一级计算机考试
  10. Excel批量插入图片小技巧
  11. 直播美颜滤镜软件加持下的网络直播
  12. 使用protobuf_example_addressbook.proto项目时的问题:PROTOBUF_USE_DLLS
  13. arm体系结构总结笔5-总线接口
  14. formality 命令/变量的使用及各种设置
  15. Final阶段基于NABCD评论作品
  16. 管理系统类项目的登陆与权限功能的实现
  17. 基于单目视觉的同时定位与地图构建方法综述
  18. 双目线激光三维扫描技术原理剖析
  19. 新学:DES加密 小知识点(S盒,初始置换)
  20. 基因数据处理56之bwa运行paird-end(1千万条100bp的reads).md

热门文章

  1. tomcat的原理及作用
  2. 【实验报告】实验五 继承的应用
  3. 2012网络团购 你了解吗?
  4. 立体视觉——NCC视差匹配
  5. 很有意思的一个2D转3D电影的解析
  6. ubuntu设置ntp定时任务校时
  7. 【40本】算法与数据结构技术书籍从入门到进阶附技术书阅读方法论
  8. BlueJ is a kind of awesome software!
  9. n76e003引脚图_N76E003学习之路(二)
  10. 平面设计师之路2——图像的裁剪与拼合还原