DeviceDriver(十四):多点触摸(MT协议,Input子系统)

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
  • 7
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值