discussion about touch events

Assaf Yavnai assaf.yavnai at oracle.com
Mon Nov 11 02:51:37 PST 2013


Hi Guys,

I hope that I'm right about this, but it seems that touch events in 
glass are translated (and reported) as a single point events (x & y) 
without an area, like pointer events.
AFAIK, the controls response for touch events same as mouse events 
(using the same pickers) and as a result a button press, for example, 
will only triggered if the x & y of the touch event is within the 
control area.

This means that small controls, or even quite large controls (like 
buttons with text) will often get missed because the 'strict' node 
picking, although from a UX point of view it is strange as the user 
clearly pressed on a node (the finger was clearly above it) but nothing 
happens...

With current implementation its hard to use small features in controls, 
like scrollbars in lists, and it almost impossible to implement 
something like 'screen navigator' (the series of small dots in the 
bottom of a smart phones screen which allow you to jump directly to a 
'far away' screen)

To illustrate it consider the bellow low resolution sketch, where the 
"+" is the actual x,y reported, the ellipse is the finger touch area and 
the rectangle is the node.
With current implementation this type of tap will not trigger the node 
handlers

                 __
               /     \
              /       \
        ___/ __+_ \___    in this scenario the 'button' will not get pressed
        |    \         /    |
        |___\ ___ / __ |
               \___/

If your smart phone support it, turn on the touch debugging options in 
settings and see that each point translate to a quite large circle and 
what ever fall in it, or reasonably close to it,  get picked.

I want to start a discussion to understand if my perspective is accurate 
and to understand what can be done, if any, for the coming release or 
the next one.

We might use recently opened RT-34136 
<https://javafx-jira.kenai.com/browse/RT-34136> for logging this, or 
open a new JIRA for it

Thanks,
Assaf


More information about the openjfx-dev mailing list