Re: [問題] QT Embedded 與多點觸碰螢幕如何結合的 …

看板LinuxDev作者 (低調一點的好)時間13年前 (2012/07/03 14:13), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/4 (看更多)
最近也在看這方面的應用 我的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)

08/10 19:13,
http://goo.gl/Zt4JG Qt Developer Network 很棒的
08/10 19:13

08/11 15:12,
Qt4.7之後應該就有支援gesture了
08/11 15:12

08/11 23:00,
感謝一樓,看起來還是要自己寫個plug-in~
08/11 23:00

08/11 23:02,
有支援手勢沒錯,但第二點移動偵測不出來,手勢也出不來XD
08/11 23:02
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.245.165

07/03 23:43, , 1F
先拿到mouse event然後轉成touch event再發給自己
07/03 23:43, 1F
文章代碼(AID): #1FyesHQ8 (LinuxDev)
文章代碼(AID): #1FyesHQ8 (LinuxDev)