浙江福彩3d走势图
我們來自五湖四海,不為別的,只因有共同的愛好,為中國互聯網發展出一分力!

Linux 多點觸摸簡介

2012年07月09日18:04 閱讀: 2363 次

標簽: Linux, 多點觸摸, 簡介

 

  在Linxu內核中,手指信息被內核抽象為一個個ABS數據包,由驅動順序的發送給應用。

  多點觸摸的ABS數據包通常由ABS_MT標志。驅動調用input_mt_sync發送SYN_MT_REPORT來表示一個ABS數據包結束。應用收到SYN_MT_REPORT事件后,會處理當前數據包并準備接收下一個數據包。如果本次多點觸摸所有手指的數據包都發送完畢,需要調用input_sync發送SYN_REPORT,以通知上層本次多點觸摸結束了。input_sync之后就進入了下一次多點觸摸周期。

 

  通常的多點觸摸周期可以描述為:

  ABS_MT_*|SYN_MT_REPORT|ABS_MT_*|SYN_MT_REPORT|SYN_REPORT

  有些ABS_MT事件是必須實現的,如ABS_MT_POSITION_X和ABS_MT_POSITION_Y.而某些事件,如ABS_MT_TOUCH_MAJOR和ABS_MT_WIDTH_MAJOR是否需要實現則取決于具體的硬件。

  ABS_MT_TOUCH_MAJOR表示了手指接觸TP的直徑的近似。ABS_MT_WIDTH_MAJOR是手指的直徑的近似。當手指和觸摸屏接觸的越緊密,則壓力越大,手指和屏幕接觸的面積(直徑)也會越大。而手指的直徑通常是一個常量。這樣ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR就可以用來表示壓力了。而且這個值在[0,1)間。對于某些提供了壓力值的TP,可以使用ABS_MT_PRESSURE來替代ABS_MT_TOUCH_MAJOR.

 

分享到: 更多
藍客門戶
©2001-2019 中國藍客聯盟 版權所有.
關于藍客聯盟歷史宗旨章程技術服務聯系我們藍客社區

浙江福彩3d走势图 重庆秒速时时规律 七乐彩大星彩票走势图百度 360新时时删除 福建麻将打法 高手论坛 排列三跨度振幅走势图 腾讯分分彩高手经验总结 河北麻将怎么玩 福彩3d开机号试机号 加拿大快乐8开奖官网