作者askacis (ASKA)
看板LinuxDev
标题Re: [问题] QT Embedded 与多点触碰萤幕如何结合的 …
时间Mon Aug 29 19:06:45 2011
原本的问题现在用偷吃步的方式解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