Mouse for Touch on Windows 10 doesn't give InputTouchBegin until finger moves

I’m trying to implement a tap gesture on a Windows 10 touch screen by enabling Use Mouse For Touch. The screen is using the standard Windows “HID Compliant Touch Screen” driver.

I have an input mapped to Touch 1 as well as Left Mouse Button, which is called “Touch”. I replaced InputTouchBegin/End with this input in an attempt to fix this problem, since InputTouchBegin/End has the same issue.

My method is to record the initial touch position when Touch Pressed is fired and then record the position until Touch Released fires and compare the initial position with the last position, checking that the distance is within an acceptable threshold, and fire off a “Tap” if it is.

I’m currently printing out the X and Y screen position of the touch every tick between the Pressed and Release events. What I’m finding, however, is that if I touch the screen and don’t move my finger, Pressed never fires. I can touch the screen indefinitely without triggering the event if I don’t move my finger, making it impossible to get a true “Tap” to fire, since each tap requires a bit of movement on the screen.

I know Windows Touch features are a much lower priority than other things right now, but Use Mouse For Touch is the only alternative option, and that at least should work properly.

EDIT: Just an update to add that switching all of this over to pure mouse input and using Window’s abstractions of a touch screen as a mouse yields the same results.

Hello hclmed,

I have a few questions for you that will help narrow down what issue it is that you are experiencing.

Quick questions:

  1. Can you reproduce this issue in clean project?
  2. If so, could you provide a detailed list of steps to reproduce this issue on our end?
  3. Could you provide screen shots of any blueprints that may be involved with this issue?

Just created a new project with 4.11. In the level blueprint I added string outputs when it detects an input.

Without any inputs enabled the top print string will output with it detects InputTouchBegin.

As I said, however, I’ve also tried this with an input action, which in the clean project I called “Press”.

With the input defined, it will use touch if Use Mouse For Touch is set to true or it will use just regular mouse input if Use Mouse For Touch is set to false. Either way, the same result happens, as is the case without the input at all when I monitor InputTouchBegin.

My goal is to detect a quick “tap” where the user touches the screen in one place and then lifts their finger up, which is a really common thing to want to capture for a touchscreen, and one Windows 10 usually reliably turns into a “click”, but UE4 doesn’t seem to capture that.

When this is packaged and put onto a Windows 10 machine with a touchscreen using the regular plug and play “HID Compliant Touch Screen” driver, I don’t get any output when I initially touch the screen. The output prints when I move my finger slightly. Having to move the finger position in order to register any input at all makes it so a regular “tap” that should start and end in a single place on the screen is impossible to capture.

It seems like a similar problem to [this post][3], but under different circumstances.

I hope that’s enough information to recreate the problem.

Hello hclmed,

We were able to reproduce this issue on our end. I have written up a report (UE-30320) and I have submitted it to the developers for further consideration. I will provide updates with any pertinent information as it becomes available. Thank you for your time and information.

Make it a great day

is this issue been resolved because i am still encountering the same issue in 4.12?

cheers,
N

Hello NiekPixelpool,

I went ahead and double checked on this issue for you. It appears that this issues status has not yet been updated to fixed. However, I will be sure to bump up the community interest on the report for this issue.

Make it a great day

Any news?

Hey Yael-M,

I have provided a link to the public tracker. Please feel free to use the link provided for future updates.

Link: Unreal Engine Issues and Bug Tracker (UE-30320)

Make it a great day

Hi Rudy any updates on when this will be addressed or any solutions?