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

Touch input not recognized on chrome in windows 8 hybrid devices #233

Closed
harshavarma opened this Issue Oct 3, 2013 · 19 comments

Comments

Projects
None yet
2 participants
@harshavarma

harshavarma commented Oct 3, 2013

Hello,

I'm a long time user of reel and I encountered a couple of issues a few days back. One is the image flickering in firefox (#196), which is already reported.

The other one is the touch input (swipe) is ignored in chrome in devices that support both mouse and touch inputs (windows hybrids). It's actually the blink engine I think as both Opera and Chrome are not responding to touch where as Safari, Firefox and IE are working fine.

Reel just doesn't seem to respond to any touch gestures on chrome. Any help would be greatly appreciated.

@pisi

This comment has been minimized.

Show comment
Hide comment
@pisi

pisi Oct 3, 2013

Owner

Currently touch events are bound only on devices with touch support, which is performed using simple user agent matching. So it is possible, that this doesn't work for your device and I have a suspicion the method employed won't work for these hybrids.

Please run http://test.vostrel.cz/jquery.reel-development/test on the device in question, allow it to finish and let me know when you did. Thanks.

Owner

pisi commented Oct 3, 2013

Currently touch events are bound only on devices with touch support, which is performed using simple user agent matching. So it is possible, that this doesn't work for your device and I have a suspicion the method employed won't work for these hybrids.

Please run http://test.vostrel.cz/jquery.reel-development/test on the device in question, allow it to finish and let me know when you did. Thanks.

@ghost ghost assigned pisi Oct 3, 2013

@harshavarma

This comment has been minimized.

Show comment
Hide comment
@harshavarma

harshavarma Oct 3, 2013

Hi,

I ran the test suite on the device, there are a lot of errors in the chrome console about missing resources but somehow all the tests (1864) in the suite passed. I ran it in both Firefox and Chrome. The touch events are working fine in every browser except chrome ( & Opera) though.

Are there any touch specific tests that I can perform to give you more information? It is just that Chrome has the best performance out of all the browsers and It's sad that I can't use it right now.

harshavarma commented Oct 3, 2013

Hi,

I ran the test suite on the device, there are a lot of errors in the chrome console about missing resources but somehow all the tests (1864) in the suite passed. I ran it in both Firefox and Chrome. The touch events are working fine in every browser except chrome ( & Opera) though.

Are there any touch specific tests that I can perform to give you more information? It is just that Chrome has the best performance out of all the browsers and It's sad that I can't use it right now.

@pisi

This comment has been minimized.

Show comment
Hide comment
@pisi

pisi Oct 4, 2013

Owner

Great. The missing resources don't matter. Sometimes it is even testing what happens when resource IS missing.

But, sadly, your test run didn't get recorded for some odd reason, so I will need you to:

  1. Copy paste the user agent string you see in white on blue in the tests.
  2. Execute $.reel.touchy in the console on the actual device - I'm guessing it will read false.

Thank you! Btw what is the actual device of yours?

Owner

pisi commented Oct 4, 2013

Great. The missing resources don't matter. Sometimes it is even testing what happens when resource IS missing.

But, sadly, your test run didn't get recorded for some odd reason, so I will need you to:

  1. Copy paste the user agent string you see in white on blue in the tests.
  2. Execute $.reel.touchy in the console on the actual device - I'm guessing it will read false.

Thank you! Btw what is the actual device of yours?

@harshavarma

This comment has been minimized.

Show comment
Hide comment
@harshavarma

harshavarma Oct 4, 2013

The userAgent is Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36

And yes, $.reel.touchy returns false. The device I'm using is a Lenovo Thinkpad Helix. We deployed the app using reel on a PC which connects to a touchscreen monitor. It's basically a normal monitor with a panel overlay that adds the touch function. Chrome didn't recognize that touch input either while all other browsers did.

harshavarma commented Oct 4, 2013

The userAgent is Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36

And yes, $.reel.touchy returns false. The device I'm using is a Lenovo Thinkpad Helix. We deployed the app using reel on a PC which connects to a touchscreen monitor. It's basically a normal monitor with a panel overlay that adds the touch function. Chrome didn't recognize that touch input either while all other browsers did.

@pisi

This comment has been minimized.

Show comment
Hide comment
@pisi

pisi Oct 4, 2013

Owner

Um, ok, that's what I was afraid of - user agent detection won't cut it this time. Will rewrite the touch capability detection then ;) Stand by.

Owner

pisi commented Oct 4, 2013

Um, ok, that's what I was afraid of - user agent detection won't cut it this time. Will rewrite the touch capability detection then ;) Stand by.

@harshavarma

This comment has been minimized.

Show comment
Hide comment
@harshavarma

harshavarma Oct 4, 2013

Appreciate the quick response. Let me know if you want me to do any more tests. Will be glad to help you in anyway I can.

harshavarma commented Oct 4, 2013

Appreciate the quick response. Let me know if you want me to do any more tests. Will be glad to help you in anyway I can.

@pisi

This comment has been minimized.

Show comment
Hide comment
@pisi

pisi Oct 4, 2013

Owner

Pls, verify for me that 'ontouchstart' in window returns true on the device. Thanks!

Owner

pisi commented Oct 4, 2013

Pls, verify for me that 'ontouchstart' in window returns true on the device. Thanks!

@harshavarma

This comment has been minimized.

Show comment
Hide comment
@harshavarma

harshavarma Oct 4, 2013

window.ontouchstart returned null.

harshavarma commented Oct 4, 2013

window.ontouchstart returned null.

@pisi

This comment has been minimized.

Show comment
Hide comment
@pisi

pisi Oct 6, 2013

Owner

That's actually excellent! :) , because null indicates unused yet available bind point. It would equal false otherwise.

Owner

pisi commented Oct 6, 2013

That's actually excellent! :) , because null indicates unused yet available bind point. It would equal false otherwise.

pisi added a commit that referenced this issue Oct 6, 2013

With the advent of all sorts of different hybrid devices, the touch c…
…apability can no longer be guessed from the user agent signature. More robust event bind point based detection is employed instead. #233
@pisi

This comment has been minimized.

Show comment
Hide comment
@pisi

pisi Oct 6, 2013

Owner

@harshavarma Test the revised touch capability detection code in the gh-233-touchy branch please. It should be able to pick the device up as touch-enabled and hopefully there won't be any actual touch issues ;) Let me know.

Owner

pisi commented Oct 6, 2013

@harshavarma Test the revised touch capability detection code in the gh-233-touchy branch please. It should be able to pick the device up as touch-enabled and hopefully there won't be any actual touch issues ;) Let me know.

@harshavarma

This comment has been minimized.

Show comment
Hide comment
@harshavarma

harshavarma Oct 10, 2013

I just tested the new branch and the touch support is great. However, on devices that support both mouse and touch, the mouse no longer works for reel. This is not a big issue but will be nice to have both working (all other browsers support both).

The other thing is, can you port this touch detection to a previous branch of reel (1.2). The images flicker in firefox (21+) as reported in #196. And the css workaround mentioned in that thread no longer works with this branch.

harshavarma commented Oct 10, 2013

I just tested the new branch and the touch support is great. However, on devices that support both mouse and touch, the mouse no longer works for reel. This is not a big issue but will be nice to have both working (all other browsers support both).

The other thing is, can you port this touch detection to a previous branch of reel (1.2). The images flicker in firefox (21+) as reported in #196. And the css workaround mentioned in that thread no longer works with this branch.

@pisi

This comment has been minimized.

Show comment
Hide comment
@pisi

pisi Oct 10, 2013

Owner

Oh, OK T_T Then I would have to bind them both somehow. I may end up porting it back, but it still is rather half-finished. I made advancements on the flicker issue, so @harshavarma please check that once again.

Owner

pisi commented Oct 10, 2013

Oh, OK T_T Then I would have to bind them both somehow. I may end up porting it back, but it still is rather half-finished. I made advancements on the flicker issue, so @harshavarma please check that once again.

@pisi

This comment has been minimized.

Show comment
Hide comment
@pisi

pisi Oct 10, 2013

Owner

So am binding to touch and mouse events both at once now. On mouse only devices, the unknown touch events will be ignored. Touch only devices will pick up touch events only (and cancel eventual mouse events) and on hybrid devices, both should work, again with touch events taking precedence.

@harshavarma Looks promising, can't wait for you to test this! :)

gh-233-touchy branch

Owner

pisi commented Oct 10, 2013

So am binding to touch and mouse events both at once now. On mouse only devices, the unknown touch events will be ignored. Touch only devices will pick up touch events only (and cancel eventual mouse events) and on hybrid devices, both should work, again with touch events taking precedence.

@harshavarma Looks promising, can't wait for you to test this! :)

gh-233-touchy branch

pisi added a commit that referenced this issue Oct 16, 2013

Removed `$.reel.touchy` client flag as it became obsolete with #233 r…
…esolution, which doesn't make this distinction anymore.
@pisi

This comment has been minimized.

Show comment
Hide comment
@pisi

pisi Oct 16, 2013

Owner

Unless there are objections, this is ready for release. Still would appreciate independent verification ;)

Owner

pisi commented Oct 16, 2013

Unless there are objections, this is ready for release. Still would appreciate independent verification ;)

@pisi pisi closed this Oct 21, 2013

@pisi

This comment has been minimized.

Show comment
Hide comment
@pisi

pisi Nov 5, 2013

Owner

Released today as part of v1.3.0

Owner

pisi commented Nov 5, 2013

Released today as part of v1.3.0

@pisi

This comment has been minimized.

Show comment
Hide comment
@pisi

pisi Mar 28, 2014

Owner

@harshavarma an issue (#260, which I just fixed) arose as a consequence of the fix here. And since that fix was made in the general thereabouts of this fix, I would like you to re-test the code from [gh-260-touch-fix branch just in case. Thanks very much!

Owner

pisi commented Mar 28, 2014

@harshavarma an issue (#260, which I just fixed) arose as a consequence of the fix here. And since that fix was made in the general thereabouts of this fix, I would like you to re-test the code from [gh-260-touch-fix branch just in case. Thanks very much!

@pisi pisi reopened this Mar 28, 2014

@harshavarma

This comment has been minimized.

Show comment
Hide comment
@harshavarma

harshavarma Mar 29, 2014

Hi @pisi, Sure, will let you know how it goes.

harshavarma commented Mar 29, 2014

Hi @pisi, Sure, will let you know how it goes.

@harshavarma

This comment has been minimized.

Show comment
Hide comment
@harshavarma

harshavarma Apr 10, 2014

@pisi Just tested the code and can confirm it works well.

harshavarma commented Apr 10, 2014

@pisi Just tested the code and can confirm it works well.

@pisi

This comment has been minimized.

Show comment
Hide comment
@pisi

pisi Apr 29, 2014

Owner

Awesome. Thanks!

Owner

pisi commented Apr 29, 2014

Awesome. Thanks!

@pisi pisi closed this Apr 29, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment