1.調試新的觸摸屏
1.1 確定設備信息
輸入設備的設備節點名為/dev/input/eventX(也可能是/dev/eventX, X 表示 0、 1、 2 等數字)。查看設備節點, 可以執行以下命令:
ls /dev/input/* -l
可以看到類似下面的信息:
怎么知道這些設備節點對應什么硬件呢?可以在板子上執行以下命令:
cat /proc/bus/input/devices
這條指令的含義就是獲取與event對應的相關設備信息,可以看到類似以下的結果:
1.2 使用命令讀取數據
調試觸摸屏時, 執行下面的命令, 然后操作觸摸屏設備即可讀出數據:
hexdump /dev/input/event1
在開發板上執行上述命令之后, 點擊觸摸屏, 就會打印以下信息:
type:type 用于描述發生了哪一種類型的事件(對事件的分類),Linux 系統所支持的輸入事件類型如下所示:
#define EV_SYN 0x00 //同步類事件,用于同步事件 #define EV_KEY 0x01 //按鍵類事件 #define EV_REL 0x02 //相對位移類事件(譬如鼠標) #define EV_ABS 0x03 //絕對位移類事件(譬如觸摸屏) #define EV_MSC 0x04 //其它雜類事件 .....
code:code 表示該類事件中的哪一個具體事件,觸摸點的信息通過一系列的 ABS_MT 事件(有的資料也叫消息)上報給 linux 內核,只有ABS_MT 事件是用于多點觸摸
#define ABS_MT_POSITION_X 0x35 /* Center X touch position */ #define ABS_MT_POSITION_Y 0x36 /* Center Y touch position */ ......
value:內核每次上報事件都會向應用層發送一個數據 value, 對 value 值的解釋隨著 code 的變化而變化。
上圖中第三行的type 為3 ,對應EV_ABS ,即絕對位移類事件;code為0x39 ,對應ABS_MT_TRACKING_ID , value=0x51=81 說明給SLOT0分配的ID為81 。
上圖中的第六行type為3,對應EV_ABS ,即絕對位移類事件;code為0x36,對應ABS_MT_POSITION_Y,即上報觸摸點 的 Y軸 坐標信息。value=0x0145=325,說明觸摸點 Y 軸坐標為 325。
-
觸摸控制
+關注
關注
0文章
35瀏覽量
19169 -
開發板
+關注
關注
25文章
4959瀏覽量
97214 -
全志T113
+關注
關注
0文章
49瀏覽量
218
發布評論請先 登錄
相關推薦
評論