如题,触摸芯片为GT911,只能触发clicked事件,无法触发长按和连续长按事件。
1. 刚开始怀疑是自己写的代码有问题,直接用官方例程,也不行。
2. 怀疑找的GT911库有问题,单独运行库的例程,OK,换了一个库,问题还是存在。加日志发现即使长按,输出的触摸点每隔几个点就会输出一个未按下,导致无法累积达到长按时间阈值。
3. 查看GT911数据手册,发现GT911的最快坐标刷新时间为7~10ms,而自己的LVGL输入设备刷新周期(lv_conf.h中的LV_INDEV_DEF_READ_PERIOD)为5ms,所以可能是GT911坐标刷新读取后,坐标还没刷新时又去读了,什么都没读到。增加LVGL刷新周期到10ms,解决。
更深入的原因没有继续深究,欢迎了解的小伙伴赐教。