Linux底下Touch Screen的Device名稱為ts,所以我們可以在/dev底下找到一個ts的device,而/dev/ts又為一個區塊設備 並非像RS232(/dev/ttySX)等是字元設備,所以在處理/dev/ts時需要先了解區塊內有包含了那些訊息
typedef struct {
unsigned short pressure;
unsigned short x;
unsigned short y;
unsigned short pad;
} TS_EVENT;
而/dev/ts包含的訊息就如上述所示,包含x,y等等的訊息。所以我們了解了這些之後 就可以寫程式來測試一下Touch Screen讀出來的訊息囉!程式碼如下:
#include < stdio.h >
typedef struct {
unsigned short pressure;
unsigned short x;
unsigned short y;
unsigned short pad;
} TS_EVENT;
static TS_EVENT ts_event;
static int ts;
int main()
{
ts = open ("/dev/ts", 0);
if (ts < 0) {
fprintf (stderr, "/dev/ts: Can not open touch screen!\n");
return 0;
}
while(1)
{
if(read(ts,&ts_event,sizeof(TS_EVENT)))
{
printf("X=%d,Y=%d,Pressure=%d \n",ts_event.x,ts_event.y,ts_event.pressure);
}
}
return 0;
}
一般我們見到的觸控面板大多都是電阻式的觸控面板,因為成本便宜,技術也算成熟。而像是iPhone的多重觸控方面其實原理就有點不一樣了,它是使用電容式的觸控面板,成本也較電阻式面板高。而像是iPhone的多點觸控操作對程式來說也是去抓取點的位置,你可以透過手的縮小、放大去計算兩指之間的距離,達到縮小放大的功能
關鍵報告式的未來空間操作系統Oblong G-Speak
g-speak overview 1828121108 from john underkoffler on Vimeo.
又一個未來科幻操作的影片,是有關於建築的系統的未來短片,此未來短片由Bruce Branit所拍攝並做後製,故事蠻感人的,有興趣的朋友可以去看看。Bruce Branit也有自己的工作室Branit VFX
World Builder from Bruce Branit on Vimeo.
不知道這些操作系統何時才會真正的普及於我們一般的生活當中..
Reference:
Touch Panel校正Screen
TouchLight: An Imaging Touch Screen and Display for Gesture-Based Interaction
觸摸屏技術發展介紹
Oblong G-Speak
Branit VFX
World Builder
No comments:
Post a Comment