Input子系统框架参考:
02_输入子系统_猩猩の點燈的博客-CSDN博客
电阻式多点触摸驱动参考:
05_触摸屏驱动_猩猩の點燈的博客-CSDN博客
一:电容触摸屏知识点
1、电容触摸屏是I2C接口,需要触摸IC,因此框架为I2C设备驱动框架。
2、通过中断引脚(INT)向Linux内核上报触摸信息,因此需要用到Linux中断驱动框架,坐标上报在中断服务函数中完成。
3、触摸屏的坐标信息,屏幕按下和抬起信息都属于Linux和input子系统,因此向Linux内核上报触摸屏坐标信息就得用到input子系统。
二:多点触摸(MT)协议
1、MT协议被分为两种类型,TypeA和TypeB
TypeA:适用于触摸点不能被区分或者追踪,此类型的设备上报原始数据(较少使用)
TypeB:适用于有硬件追踪并且能区分触摸点的触摸设备,此类型的设备通过一个slot更新某一个触摸点的信息。
触摸点的信息通过一系列的ABS_MT事件上报给Linux内核,只有ABS_MT事件是用于多点触摸的:
#define ABS_MT_SLOT 0x2f /* MT slot be