Qt-contributors-summit-2014-QtCS14TouchAndGestures: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
Touch and Gestures


=mouse and touch=
* Qt Quick: handle actual touch events instead of synthetic mouse events when possible (work in progress)
* propagating events without consuming them
* hover events: if one MouseArea contains another, they both should see hover when it happens
* <span class="caps">OSX</span>: enabling gestures means we eat hover events in PinchArea
* dragging stuff with touch is not as smooth as flicking is
** synthesize interpolated touch events per-frame?
** then we need a means to turn it on/off
* should every event contain velocity?
* use platform timestamps when possible/available
=the transfer-of-touch problem=
* touch a control like a ComboBox, a window pops up, then drag to select an item
* drag in one Flickable and continue dragging in another (in the same window)
* reemit(event, targetItem);
* similar to keys forwardTo
* idea: MouseArea { priority: 2 }
=system gestures=
* no more gesture framework
** could recognize only one gesture at a time
** too many bugs
* <span class="caps">OSX</span> and Windows 8.x can give us native flick/scroll and pinch
** qtquick needs to support them
** Note though that on Windows, gestures will suppress touch events
* still have to solve the issue of choosing, or being able to get both gestures and touch somehow
* could receive one type of event first, accept/reject, then the other type will come
* TouchCancel is intended as notification that touch started but the effects should be un-done
** sometimes difficult….

Revision as of 14:12, 25 February 2015

Touch and Gestures

mouse and touch

  • Qt Quick: handle actual touch events instead of synthetic mouse events when possible (work in progress)
  • propagating events without consuming them
  • hover events: if one MouseArea contains another, they both should see hover when it happens
  • OSX: enabling gestures means we eat hover events in PinchArea
  • dragging stuff with touch is not as smooth as flicking is
    • synthesize interpolated touch events per-frame?
    • then we need a means to turn it on/off
  • should every event contain velocity?
  • use platform timestamps when possible/available

the transfer-of-touch problem

  • touch a control like a ComboBox, a window pops up, then drag to select an item
  • drag in one Flickable and continue dragging in another (in the same window)
  • reemit(event, targetItem);
  • similar to keys forwardTo
  • idea: MouseArea { priority: 2 }

system gestures

  • no more gesture framework
    • could recognize only one gesture at a time
    • too many bugs
  • OSX and Windows 8.x can give us native flick/scroll and pinch
    • qtquick needs to support them
    • Note though that on Windows, gestures will suppress touch events
  • still have to solve the issue of choosing, or being able to get both gestures and touch somehow
  • could receive one type of event first, accept/reject, then the other type will come
  • TouchCancel is intended as notification that touch started but the effects should be un-done
    • sometimes difficult….