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

看板LinuxDev作者 (ASKA)時間13年前 (2011/08/29 19:06), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
原本的問題現在用偷吃步的方式解XD 當QT底層收到key值還沒往上傳的時候 先讓他偷寫key value在file裡;至於上層的AP則是在 收到mouse move event的時候除了紀錄原本QT傳上來的座標值 之外也開檔去讀key value得到正在移動點的ID,之後轉成 QTouchEvent再餵給自己,同時也開啟QT偵測手勢的function, 現在已經可以實現兩指pinch讓圖片放大縮小等功能了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
文章代碼(AID): #1EMtB8sd (LinuxDev)
文章代碼(AID): #1EMtB8sd (LinuxDev)