首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自android内核的Simulte触摸事件

来自android内核的Simulte触摸事件
EN

Stack Overflow用户
提问于 2017-05-04 21:02:35
回答 1查看 475关注 0票数 3

我在android内核中开发了一个新的触摸屏驱动程序。我的目标是模拟一个触摸屏事件。因此,在探测我的新驱动程序时,我分配了所需的键:

代码语言:javascript
复制
input_set_abs_params(in_dev, ABS_MT_TRACKING_ID, 10000, 0, 0);
input_set_abs_params(in_dev, ABS_MT_POSITION_Y, 0, 1000, 0, 0);
input_set_abs_params(in_dev, ABS_MT_POSITION_X, 0,1000, 0, 0);
input_set_abs_params(in_dev, ABS_MT_TOUCH_MAJOR,0,1000,0, 0);
input_set_abs_params(in_dev, ABS_MT_TOUCH_MINOR,0,1000,0, 0);

在代码中,我尝试模拟一个触摸屏事件:

代码语言:javascript
复制
input_event(in_dev, EV_ABS, ABS_MT_TRACKING_ID, ++counter);
input_event(in_dev, EV_KEY, BTN_TOUCH, 1);
input_event(in_dev, EV_KEY, BTN_TOOL_FINGER, 1);

input_event(in_dev, EV_ABS, ABS_MT_POSITION_X, 0x00000336);
input_event(in_dev, EV_ABS, ABS_MT_POSITION_Y, 0x0000059a);
input_event(in_dev, EV_ABS, ABS_MT_TOUCH_MAJOR, 7);
input_event(in_dev, EV_ABS, ABS_MT_TOUCH_MINOR, 6);

input_event(in_dev, EV_ABS, ABS_MT_TRACKING_ID, 0xffffffff); 
input_event(in_dev, EV_KEY, BTN_TOUCH, 0);
input_event(in_dev, EV_KEY, BTN_TOOL_FINGER, 0);

使用正确的值,我可以在shell中看到几乎所有的事件(只有在shell中看不到的BTN_TOUCH事件)。此外,我还在电话屏幕的一角看到一个圆圈。但是这个圆圈什么也做不了。几秒钟后它就消失了。

我会感谢你的帮助。我觉得我错过了一些东西...

EN

回答 1

Stack Overflow用户

发布于 2017-06-21 06:36:17

你需要在"/system/usr/idc“和"/system/usr/keylayout”中有与你的输入设备名称相匹配的相应布局文件(/sys/class/inputX/ name中的那个)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43783654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档