1. 程式人生 > >觸控式螢幕驅動分析之——tslib概覽

觸控式螢幕驅動分析之——tslib概覽

    Tslib 是觸控式螢幕驅動和運用 層之間的適配層,它從觸控式螢幕驅動處取得 原始的裝備 座標資料,經過 一系列的去噪、去抖、座標變換等操作,來去除噪聲並將原始的裝備 座標轉換為相應的螢幕座標。從 tslib/src/tslib.h檔案能夠 看出,在tslib中為應用 層提供了2個首要 的介面:

     ts_open(),ts_close();

     ts_read()和ts_read_raw();

    其中ts_read()為正常情況下的介面,ts_read_raw()為校準情況下運用 的介面。從tslib預設的ts.conf檔案中能夠 看出包含 如下基本外掛:

  pthres 為Tslib 提供的觸控式螢幕靈敏度門檻外掛;

  variance 為Tslib提供的觸控式螢幕濾波演算法外掛;

  dejitter 為Tslib 提供的觸控式螢幕去噪演算法外掛;

  linear為Tslib 提供的觸控式螢幕座標變換外掛。

  tslib 從觸控式螢幕驅動取樣到的裝備 座標實行 處理再提供給運用 端的流程 大體如下:

  raw device --> variance --> dejitter --> linear --> application

  module         module       module      module

  再來看看ts_calibrate首要 做了哪些事情,校準情況下,tslib對驅動取樣到的資料實行 處理的通常 流程 如下:

  1。讀取屏上5個點的座標(Top Left,Top Right,Bottom Left,Bottom Right,Center),在實行 一系列的變換,取樣的5個點,實際上是包含3個不一樣 的X值,3個不一樣 的Y值。和scaling 值一共7個值,一起儲存到/etc/pointercal中.

  2.這個/etc/pointercal檔案首要 是供linear外掛運用 。而咱們 每次的觸控的操作都實行 多次觸控座標變換。