If I work with BABYLON.Scene.ExclusiveDoubleClickMode = true, i cannot get anymore the simple click on a mesh (EVENT=32) and i’m pretty sure that it worked in the past.
BUT
If i work with BABYLON.Scene.ExclusiveDoubleClickMode = false, i get the click (EVENT=32) before the double click (EVENT=64) and i don’t want that because the triggered events are different on the click and the double click.
Hey @bvaisman,
I just want to confirm. Are you saying that when you have ExclusiveDoubleClickMode = true that you don’t see a single click event but when it’s false, you see the single click event occur before the double click event after a double click is initiated?
The reason I wanted to confirm this is because when I try that PG, I see the following interactions (ignoring any move events): ExclusiveDoubleClick = false
Click down on mouse
a. POINTERDOWN observable fired
Release mouse
a. POINTERUP observable fired
b. POINTERTAP observable fired
Click again
a. POINTERDOWN observable fired
Release again
a. POINTERUP observable fired
b. POINTERDOUBLETAP observable fired
ExclusiveDoubleClick = true
Click down on mouse
a. POINTERDOWN observable fired
Release mouse
a. POINTERUP observable fired
Click again
a. POINTERDOWN observable fired
Release again
a. POINTERUP observable fired
b. POINTERDOUBLETAP observable fired
When ExclusiveDoubleClick = true, it should ignore any single click events (but still fire up and double tap). When false, it’s supposed to either fire a tap or a double tap but never both off of a single click. If what I’ve described above isn’t what you’re seeing, could you tell me what browser you’re seeing this behavior on?
And before, i’m sure it did not work like that because i used ExclusiveDoubleClick = true to avoid the click event when i double clicked. Now i never obtain the click event even if I click once.
And my purpose is to avoid the click event when i double click.
I already posted a question a few weeks ago and you told me to proceed like that (Bug on PointerEventTypes?). It worked well until two or three weeks ago.
Sorry about the delay on this. So when I started digging into the code for that flag, it looks like what was happening was that the InputManager was creating an UP event but firing the TAP event without properly resetting the pointer capture flag. Because of this, the input was getting canceled prematurely as an UP event was already process (ie. we’ve already release the mouse button so we can’t logically release it again. My tentative fix is to try and separate the UP and TAP functionality so that the up releases on time but just the TAP code executes on the determination that the input isn’t a DOUBLETAP. Since we use a timeout to handle the delay handling, I’ve been working on making sure that the timeout is properly handled and that the actual timing of event execution is working as it’s expected to. The fix has been a bit more complex than expected. I’m still working on this and will update when I’ve made more progress.
I don’t know how to help you. I’ve seen that you wrote a PR to change the logic for ExclusiveDoubleClick mode but i’m ABSOLUTELY sure it worked perfectly well before. The problem is that i’m not able to tell you the exact version in which it began to fail. What i know is that you gave me the solution of my question on 09/22/2022. So i assume that there were no issue with this version of Babylon. And it worked well until… the first or second week of february i presume
May be it is just a side effect of another part of the code.
Thanks anyway for your speed. Even if we have to wait for a couple of days to solve a bug, with some other softwares, we have to be a little bit more patient and wait for a couple of… years… decades…