看板 LinuxDev 關於我們 聯絡資訊
最近也在看這方面的應用 我的kernel版本為2.6.37 Qt為4.7.2 電容式touch screen支援二點 實做下來的感覺是 應用tslib如原po所說 就是當成滑鼠來應用 因為當我執行Qt touch的fingerpaint範例時 並不會實際在螢幕上顯示手指畫過的軌跡 而是移動滑鼠游標而已 實際從code下去把值print出來看,得到的也的確是滑鼠的事件 所以該範例當然也不會有動作 想問的是 若我想要單純得到touch event 而不是 mouse event的話 就不該用tslib? 還是要再另外設定? 這部分google了好久 都沒有找到答案(不知道是不是方向錯誤 XD) 請有這方面經驗的大大 也給我一點建議 謝謝 ※ 引述《askacis (ASKA)》之銘言: 在過去電阻式單點觸碰的時代,想要在QT使用Touch Screen 無非是使用環境變數QWS_MOUSE_PROTO來告訴QT要怎麼驅動 (透過tslib或是qt內建的plug-in) EX. export QWS_MOUSE_PROTO="linuxinput:/dev/input/event0" export QWS_MOUSE_PROTO="tslib:/dev/input/event0" 說穿了其實也就是把他當作滑鼠裝置來使用。 而現在電容式多點觸碰螢幕正當紅,不但kernel有一套新的 multi-touch protocol支援多點,QT4.6開始也有支援多點觸碰 class QTouchEvent,但是小弟有一點不明白的是在QT下我們要怎麼 驅動支援標準多點protocol的觸碰螢幕,是繼續沿用QWS_MOUSE_PROTO 的方式自己寫plug-in來驅動或是有其他更方便的步驟呢? 小弟目前多點觸碰螢幕還是回單點的相關資料,只是第二點利用 ABS_RX,ABS_RY傳遞座標值給user space,同時第二點也模擬成BTN_RIGHT ;在這樣的情況下,我在QT裡利用滑鼠事件轉成QTouchEvent再send event 給自己,這樣做起來雖然可以套用QT新的class,但是寫起來還是有其限制 (例如在移動的時候就沒辦法分出是哪一個點在移動等等) 先在此感謝大家的解答:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.244.105.125 ※ 編輯: askacis 來自: 60.244.105.125 (08/10 18:15) ※ 編輯: askacis 來自: 219.87.142.254 (08/10 18:21)
uranusjr:http://goo.gl/Zt4JG Qt Developer Network 很棒的 08/10 19:13
elpam:Qt4.7之後應該就有支援gesture了 08/11 15:12
askacis:感謝一樓,看起來還是要自己寫個plug-in~ 08/11 23:00
askacis:有支援手勢沒錯,但第二點移動偵測不出來,手勢也出不來XD 08/11 23:02
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.245.165
askacis:先拿到mouse event然後轉成touch event再發給自己 07/03 23:43