On 29 Apr 2013, at 5:25 PM, Matteo Brichese wrote:

> Hi everyone, I'm having some trouble using a PathView on QtQuick2.0 (Qt5.0.2) 
> with my multitouch panel.
> 
> If I use a ListView and I drag it, it scroll smooth and istantly, same as 
> with mouse.
> If I use a PathView and I drag it, it don't scroll istantly bu after some 
> delay, the movement isn't smooth too, it's unusable. onDragStarted and 
> onDragEnded events went in the right moment (as I start dragging)

We were looking at this bug recently, maybe it's related, but I don't think 
it's as severe as what you are describing:

https://bugreports.qt-project.org/browse/QTBUG-29801

> I launch my test with the option: -plugin evdevtouch:/dev/input/event1 for 
> enable the multitouch, if I launch it with -plugin 
> evdevtouch:/dev/input/event0 I enable only one touch at a time (mapped over 
> the mouse) and everything goes fine.
> 
> So, my question is: is it possible to remap the touch events on the PathView? 
> It's an unhandled situation or there is some hack that I didn't know? Google 
> didn't help me much.
> 
> It could be a problem of my panel as well, but before starting to debug my 
> panel I want to know if some of you is using a PathView with his multitouch 
> device.

PathView, like many QtQuick components that you might think of as 
touch-oriented, is actually only handling mouse events.  So it works because it 
will get synthesized mouse events on devices that don't already provide them.  
(The upside is it should work the same with mouse and touch.  The downside is 
the circuitous path the touch events take to get there.)

If your device is running Linux with x11 you might try xev or xinput or mttest 
to see if it sends any events otherwise.  It's strange that just having 
multitouch makes it worse.  Can you send the output of lsinput?

If you are using evdevtouch, I guess it's because the X11 driver isn't working 
or isn't installed or you aren't running X?  So probably Qt will only see touch 
events, not mouse events, by reading them directly from evdev, and there are 
about 3 places mouse events could be synthesized, but we expect that they 
should be synthesized in QQuickWindow.  Hopefully you are using 
QGuiApplication, but if you have a QApplication you might need to turn off the 
Qt::AA_SynthesizeMouseForUnhandledTouchEvents attribute to make sure it can't 
happen twice.  (That type of synthesis will probably be removed, by this patch: 
 https://codereview.qt-project.org/#change,54816  because it seems redundant.)

Nowadays Qt has support for multitouch via xinput 2.2, so if you have a recent 
X server, xinput and evdev, you shouldn't need the evdevtouch plugin anymore.

_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to