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

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

Closed
harshavarma opened this issue Oct 3, 2013 · 19 comments
Closed
Assignees
Milestone

Comments

@harshavarma
Copy link

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
Copy link
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
Copy link
Author

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
Copy link
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
Copy link
Author

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
Copy link
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
Copy link
Author

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
Copy link
Owner

pisi commented Oct 4, 2013

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

@harshavarma
Copy link
Author

window.ontouchstart returned null.

@pisi
Copy link
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
…apability can no longer be guessed from the user agent signature. More robust event bind point based detection is employed instead. #233
@pisi
Copy link
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
Copy link
Author

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
Copy link
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
Copy link
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
…esolution, which doesn't make this distinction anymore.
@pisi
Copy link
Owner

pisi commented Oct 16, 2013

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

@pisi pisi closed this as completed Oct 21, 2013
@pisi
Copy link
Owner

pisi commented Nov 5, 2013

Released today as part of v1.3.0

@pisi
Copy link
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
Copy link
Author

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

@harshavarma
Copy link
Author

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

@pisi
Copy link
Owner

pisi commented Apr 29, 2014

Awesome. Thanks!

@pisi pisi closed this as completed Apr 29, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants