Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replaced touch mechanizm for Windows Phone. #2145

Closed
wants to merge 5 commits into from
Closed

Replaced touch mechanizm for Windows Phone. #2145

wants to merge 5 commits into from

Conversation

ebatiano
Copy link

@ebatiano ebatiano commented Dec 3, 2013

Replaced Windows.Phone.Input.Interop manipulation mechanism to Touch.Frame reported, due to loosing PointerReleased events and leaving ghost touches in TouchPanel. Issue #2140.

…Touch.Frame reported**, due to loosing PointerReleased events and leaving ghost touches in TouchPanel. Issue #2140.
@mgbot
Copy link
Member

mgbot commented Dec 3, 2013

Can one of the admins verify this patch?

1 similar comment
@mgbot
Copy link
Member

mgbot commented Dec 3, 2013

Can one of the admins verify this patch?

@Nezz
Copy link
Member

Nezz commented Dec 4, 2013

By the way, does #2109 not solve the ghost touches for you?

deluksic said:

I did some tests and I can say that this also solves the touch ghosting issue I had: #1922 (comment)

@ebatiano
Copy link
Author

ebatiano commented Dec 4, 2013

No, it doesn't. I made this change (#2109) and created simple project displaying all touch points, and ghost touches remained.

I wrote couple days ago about that in #2140.

It's easy to repeat this bug by pressing screen with more than 5 fingers (On Lumias) at one time. Direct3DInterop mechanism goes crazy and doesn't send PointerReleased events.

Due to this:

http://stackoverflow.com/questions/17306881/mismatch-between-pointerpressed-and-pointerreleased-events

bug is in Direct3DInterop implementation of touch handling.

My fix is based on native silverlight, most responsive touch handling mechanism, which is Touch.FrameReported.

After that change, I fired up my test project (and also my current primary project) and it works now without leaving ghost touches,

@deluksic
Copy link

deluksic commented Dec 5, 2013

Weird, I ran a test app on my htc 8x and could not get any ghost touches to appear even while tapping with 10 fingers at once.

@ebatiano
Copy link
Author

ebatiano commented Dec 5, 2013

For me was weird why changing method from static to non-static would make a difference in ths case. There's only one surface, so there should be no difference. Anyway it didn't fix ghost touches when testing on Lumia 520.

@Nezz
Copy link
Member

Nezz commented Apr 21, 2014

I tried this in our game and noticed that the touch positions are according to the orientation of the screen, while the previous method was always reporting in portrait (at least with DrawingSurfaceBackgroundGrid).
That means that this is a breaking change.

@tomspilman
Copy link
Member

Touch is a very delicate chunk of code... between this PR having a breaking change and it not being able to merge... seems like we should close this PR.

To deal with these sorts of issues i proposed #2579 for creating a set of TouchPanel unit tests. This will allow us to make these sorts of fixes without breaking existing correct behaviors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants