触摸事件查询
getevent -lrt
以上数据格式:时间,具体节点文件名,事件类型,事件值
input问题排查,如果数据能打印出来,则是framework 问题,如果没有数据打印出来,则要看驱动问题。
只监听某一个节点
代码如下
nfds = 1;
614 ufds = calloc(1, sizeof(ufds[0]));
615 ufds[0].fd = inotify_init();
616 ufds[0].events = POLLIN;
617 if(device) {
618 if(!print_flags_set)
619 print_flags |= PRINT_DEVICE_ERRORS;
620 res = open_device(device, print_flags);
621 if(res < 0) {
622 return 1;
623 }
多指协议
1.EV_SYN
0004/0005:代表一个事件的开始
SYN_REPORT:代表一个事件的结束
2.EV_ABS
ABS_MT_SLOT ,其value 代表手指id,可以代表不同的手指
ABS_MT_TRACKING_ID
每个slot与一个id对应,一个非负数表一此接触,-1表示接触结束。
ABS_MT_POSITION_X , ABS_MT_POSITION_Y
相对于屏幕中心的x,y坐标。
3。EV_KEY
BTN_TOUCH
触碰按键,其值是DOWN或者UP。