GestureSign icon indicating copy to clipboard operation
GestureSign copied to clipboard

GestureSign passes touch events to underlying app when it shouldn't

Open asampal opened this issue 8 years ago • 13 comments

GestureSign 2.2, Windows 10 64 bit.

I'm using gestures for forward and back in the browser (the bundled gestures modified to send alt+left/alt+forward) using the original gestures you defined for these actions (a single point touch with a second point dragging away or towards the first touch point).

What seems to happen is that the browser is sent the hotkey and responds by navigating forward and back as intended, but it also seems to get the touch events for a pinch gesture which is similar to the ones you defined for forward and back (two points moving towards or away from each other), and so it also zooms the page in and out.

Looking through the source I see that you register GestureSign as the PointerInputTarget, and, from what I've read of the MS docs, while it's registered, the app that is under the touchpoints shouldn't receive the touch events - but it seems to. I haven't dug through the code to see how this happens, but maybe you can figure out why.

asampal avatar Apr 08 '16 05:04 asampal

Check "Intercept Touch Input" ,and touch events will not be sent to the program. intercept

TransposonY avatar Apr 09 '16 17:04 TransposonY

That option is disabled for me. How can I make it available? Also, when, for an application, would you not want to intercept touch input? I would think that the it would always make sense to intercept touch and only pass through gestures that aren't handled by GestureSign.

asampal avatar Apr 09 '16 17:04 asampal

Only the installable version support "intercept touch input" feature.

TransposonY avatar Apr 18 '16 14:04 TransposonY

Is there a reason for needing to install in order to intercept? Also, would you mind answering the other question I had regarding intercepting?

asampal avatar Apr 18 '16 17:04 asampal

This is the reason: RegisterPointerInputTarget function:

An application with the UI Access privilege can use this function to register its own window to receive all input of the specified pointer input type.

uiAccess Values

In addition, the application must reside in a protected location in the file system. *\Program Files* and \windows\system32\ are currently the two allowable protected locations

Just ask.

TransposonY avatar Apr 19 '16 02:04 TransposonY

I meant the question in the previous comment:

"Also, when, for an application, would you not want to intercept touch input? I would think that the it would always make sense to intercept touch and only pass through gestures that aren't handled by GestureSign."

asampal avatar Apr 19 '16 05:04 asampal

GestureSign is not a real-time gesture recognition software,but the gestures like zoom in and zoom out in browser are real-time.Your idea can not be realized.

TransposonY avatar Apr 19 '16 10:04 TransposonY

What do you mean by real-time with respect to gestures? I'm pretty sure that for browser zoom in/out, events are collected and compared to a predefined set. Or, do you meant that the method used for the browser uses continuous recognition without needing fingers to be lifted while GestureSign does need that in order to process a gesture? If that's the case, couldn't you also use a sliding window onto the events and, if a particular sequence bounded by that window isn't recognized you could pass the last captured event to Windows (that is if GestureSign was configured to pass them through).

asampal avatar Apr 22 '16 19:04 asampal

If so, the result is not receiving continuous feedback, which makes the experience poor.I think there are a few applications need intercepting touch input to prevent misuse, just enable "intercept touch input" for specifying applications is not such inconvenient.

TransposonY avatar Apr 27 '16 13:04 TransposonY

I wasn't sure if I should post this here or create a new issue, but since it is definetly related and the ticket is still open I decided to post here after all. Please advise me accordnigly and I will create a new issue if needed.

So this is applicable as of version 7.1.0. I am looking for a way to "intercept touch input" on the installed version for global events. However the option there is missing. It is available under Firefox for example and works fine there if enabled.

user00101010 avatar Dec 30 '18 20:12 user00101010

I came here for looking for an "Intercept Touch Input" for a "(Global actions)". Is it possible or planned?

tempuserr avatar Jan 12 '19 23:01 tempuserr

I confirm this option exists in the installer version 7.3.7067.896 (not the windows store version). If you have the windows store version installed, you'll have to uninstall it first.

image

theMajc avatar Jun 14 '20 01:06 theMajc