[X11] Question about TouchCancel event like ACTION_CANCEL in android

강정현 jhyuni.kang at samsung.com
Thu Apr 16 04:19:57 PDT 2015


> From: Peter Hutterer [mailto:peter.hutterer at who-t.net]
> Sent: Thursday, April 16, 2015 4:38 PM
> Cc: xorg-devel at lists.x.org
> Subject: Re: [X11] Question about TouchCancel event like ACTION_CANCEL in
> android
> 
> On Thu, Apr 16, 2015 at 03:50:41PM +0900,        wrote:
> > Hello, Peter Hutterer.
> >
> > I  m planning to add a   Event cancel  (Touch Cancel?) event in x11
> > protocol.
> >
> > Like below article I want to send a event to apps for notification
> > about current events are canceled!.
> >
> >
> >
> > How/What I doing for this job?
> >
> > I need your advise. Please give me your help.
> 
> what's the use-case you're trying to solve? many use-cases for cancel can
> be solved with the touch ownership approach, the remaining ones may be a
> valid justification but you'll be running into the issue that no
> application currently supports cancel so if you do add this you can only
> add it to the TouchEnd. and most applications will think it's a normal
> touch release and proceed as normal.
> 
> Cheers,
>    Peter

Thank you for your reply.

I understand your worry. Yes. Currently there are no applications exist 
to support the cancel event. Only my own applications will work if I add 
a touch cancel event. But I know this issue, so I want to make 
a cancel event at least only my own applications are work.

And I have some concern to touch ownership event will work normally about
single finger touches. Single finger events are generated to emulated
pointer events such as ButtonPress/Motion/ButtonRelease instead of
TouchBegin/TouchUpdate/TouchEnd events.

One of use-case is releated this.

For example, assume that two full screen window are exist, WinA and WinB.
The WinA is top-visible window, so it can get touch events. And WinA launch
AppC if it get tap event(ButtonPress/Motion/ButtonRelease).
The WinB is going to be top-visible window, if the HomeKey is pressed.
In this situation, when I press WinA and WinA get a ButtonPress event. And I
press HomeKey while touch press, WinA is disappeared and WinB is appeared.
Window stack is changed. But Button events are keep going to propagate to 
WinA although WinA disappeared on screen. And then if I release my touch,
WinA get a ButtonRelease event and AppC will be launched.

How can I resolve this use-case?

Thanks and regards,
Jeonghyun Kang.


> 
> >
> > From:        [mailto:jhyuni.kang at samsung.com]
> > Sent: Wednesday, April 15, 2015 7:39 PM
> > To: 'xorg-devel at lists.x.org'
> > Subject: [X11] Question about TouchCancel event like ACTION_CANCEL in
> > android
> >
> >
> >
> > Hello, Dears.
> >
> > I send this email again. Because of HTML (not text)
> >
> >
> >
> > I'm planning to add a touch cancel event(like ACTION_CANCEL in
> > Android) in
> > X11 protocol.
> >
> >
> >
> > So I invested XI events and I found a variable named "flags" in
> > DeviceEvent structure.
> >
> > The "flags" variable can get values like below.
> >
> >
> >
> > ==========================================================
> >
> > (defined in XI2.h)
> >
> > /* Device event flags (common) */
> >
> > /* Device event flags (key events only) */
> >
> > #define XIKeyRepeat                             (1 << 16)
> >
> > /* Device event flags (pointer events only) */
> >
> > #define XIPointerEmulated                       (1 << 16)
> >
> > /* Device event flags (touch events only) */
> >
> > #define XITouchPendingEnd                       (1 << 16)
> >
> > #define XITouchEmulatingPointer                 (1 << 17)
> >
> > ==========================================================
> >
> >
> >
> > So I think how about insert "Device event flags" for a touch cancel
> > event like below.
> >
> > #define XITouchCancel  (1 << 18)
> >
> > or
> >
> > #define XIPointerCancel (1 << 18)
> >
> > we can distinguish Normal touch events and a touch cancel event using
> > XITouchCancel definition.
> >
> >
> >
> > Another way is make new events: struct TouchCancelEvent( have a type
> > "XI_TouchCancel")
> >
> >
> >
> > Each method has its advantages and disadvantages.
> >
> >
> >
> > So I hope to hear opinions.
> >
> > Would you give me some advice or opinion?
> >
> >
> >
> > I will wait your reply.
> >
> > Best regards,
> >
> > Jeonghyun Kang.
> >
> >
> >



More information about the xorg-devel mailing list