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

Tap not being recognized on multitouch #683

Open
hachigoro opened this issue Oct 6, 2014 · 5 comments
Open

Tap not being recognized on multitouch #683

hachigoro opened this issue Oct 6, 2014 · 5 comments

Comments

@hachigoro
Copy link

Hello,

I have been using Hammer for a while and I have found out that when having 2 different touch areas, in most devices if you are touching one of those areas and then touch the second one, the touches from the latter are not recognized properly.

There is an example of this here http://jsfiddle.net/jyd2coz0/5/

Imagine the left panel is a virtual joystick and the right panel a tap or swipe area. Try moving one finger continuously on the left panel, and at the same time tap the right panel. Only some taps get recognized. If you try tapping without touching the left panel everything works fine.

The only device where I have not seen this problem, or in a very minimized way is the Nexus 5. I have made some videos of the issue on several devices:

Nexus 7: http://youtu.be/ydAy8faZBJI
iPad 2 iOS 7: http://youtu.be/52SNDvYRJ5I
iPhone 5S iOS 8: http://youtu.be/7mhFE9bm8Rw

This issue occurs in all 2.0.x versions of hammer. Please let me know if you need more details. Special thanks to bumbu for helping me out testing this issue.

Thanks!

@tsukasa1989
Copy link

I have somelike the same issue. Most of the time my tap events are not triggered, also the example page (http://hammerjs.github.io/) does not work with tap most of the time. This is on Android 4.4.2 on an Sony Xperia Z2 cellphone. But the tap seems to work on a Android 4.3 Samsung Galaxy S3.

I think this issue has something to do with the default Chrome browser introduced in Android 4.4.

@hachigoro
Copy link
Author

From my tests this occurs in both Android and iOS, although in some Android devices it happens less frequently than in the iOS devices.

@shopwood
Copy link

This is happening consistently with me on a fly-in div containing a list. The list elements are being activated by the browser but the hammer tap event sometimes fails to trigger around 10% of the time. Once a failure occurs further touches fail about 90% of the time. Closing and reopening the div resets the behaviour.

My guess is that the state machine inside hammer is getting out of sync.

Sony Xperia Z2 running Android 4.4.2,

@kicktipp
Copy link

I have this problem too, but only on tablets. On my nexus 5 everything works fine. On Ipad2 and nexus 7 it fails sometimes 10%-90% of taps. I can see the touchstart and touchend event in Chrome Console for nexus 7 when I run "monitorEvents(document.body, 'touch')" in chrome console

@kmc059000
Copy link

I believe I am running into this issue as well, even on the hammer.js homepage. My case is more simple than the ones mentioned above. I am simply tapping on an element and the tap event is not firing.

On the hammerjs home page, when I tap the box, it responds to the tap maybe 10% of the time. I tried this on numerous devices

Device OS Version Works?
Galaxy S6 5.0.2 no
Galaxy S5 5.0 no
Galaxy S4 5.0.1 no
Galaxy S3 4.4.2 no
Nexus 6 5.1.0 yes
Nexus 10 4.4.3 yes
HTC M8 5.0.2 yes
HTC M8 5.0.1 yes
iPhone 5s 8.3 yes
iPhone 6 8.1.3 yes
iPhone 6+ 8.1 yes

Based on my tests, it only seems to happen on galaxy devices (and maybe all samsungs).


Update

From testing, it appears that when the tap event is not firing, the pan recognizer is actually being recognized. Specifically, the hasMoved variable is true in the directionTest function in the pan recognizer whenever the tap is not fired. When the tap does fire, hasMoved = false.

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

No branches or pull requests

5 participants