android觸控螢幕ar1011驅動

2021-07-16 21:12:31 字數 1487 閱讀 6031

前些天,工作需要,把ar1011的驅動從linux移來支援imx6q + android4.3.0。

ar1011是ti出的一塊串列埠型別的觸控控制晶元,支援4,5,8線屏。介面是串列埠的,這個晶元有點貴,但支援溫度廣。原理上是通過串列埠上傳x,y,pre值。

1.在kernel下,把driver配置編譯進去。具體修改原始碼.linux 和android 有些不同。

linux相對說來比較簡單,在driver/input/touchsreen下加進去,原始碼都不用修改。但在/udev下增加自動配置指令碼。在android裡面,每次上送的值是轉換後的值。

這個轉換演算法是把實際的值,通過校正座標的值來轉換,得到轉換後的座標,再上傳到應用層。

//static int a[7] = ;

static int a[7] =   ;

//static int a[7] =   ;

static int ts_linear_scale(int *x, int *y, int swap_xy)  

return 0;  

} 2.在externl裡,把inputactivty作為乙個應用編譯進去。這個編寫android.mk

3.在system/usr/idc裡增加配置檔案.這個配置檔案命名必須和driver裡註冊名是一樣的。microchiptouchscreen.idc

# basic parameters

touch.devicetype = touchscreen

touch.orientationaware = 1

# size 

touch.size.calibration = diameter

touch.size.scale = 10

touch.size.bias = 0

touch.size.issummed = 0

# pressure 

# driver reports signal strength as pressure.

# a normal thumb touch typically registers about 200 signal strength

# units although we don't expect these values to be accurate.

touch.pressure.calibration = amplitude

touch.pressure.scale = 0.005

# orientation

touch.orientation.calibration = none

4.在啟動指令碼裡,增加啟動配置指令碼

service touchscreen /system/bin/inputactivate -ar1*** /dev/ttysac3

class late_start

oneshot

校驗值要麼在linux得到,要到移植tslib到android系統下進,對屏進行校正後得到的。還在在轉換時,要注意屏的解析度大小。    

Android觸控螢幕手勢識別

public class gesturetest extends activity implements ontouchlistener override public boolean ontouch view v,motionevent event 當我們捕捉到touch操作的時候,如何識別出使用...

觸控螢幕開發 觸控螢幕甩屏互動系統

這是南京酷牛科技最新開發的一款上下屏聯動觸控螢幕軟體。比較獨特的是,玩家可以通過控制乙個下屏,與上屏五個顯示屏進行展示的互動。軟體組成 軟體特點 1 一台大的顯示器 支援led屏,投影儀,拼接屏 可以和多個觸控螢幕組成區域網實現觸屏資料飛至大屏,不限制觸控螢幕的個數。如果只有1個觸控螢幕也可以用擴充...

android 移植 之二 觸控螢幕

其實,對android移植而言,觸控螢幕的驅動改動不是特別大。這裡只講兩個部分。第一,就是btn touch的新增。在普通的系統中,這個型別的event是可以不加的。意思就是,比如qt2.0,它並不依賴這個事件來判斷是否有拖動的事件,記得qt2裡好像沒有拖動的概念。而android中系統是根據這個事...