Increasingly, I'm getting reports (several per day) that drag and drop doesn't work in ZIM games on Interactive Whiteboards which are now commonly used in schools.
My research indicates that this is because ZIM doesn't use Pointer Events which are the modern unified input model. See:
From a quick look at the implementation of .drag(), I see event handlers for "mousedown", "mouseuplus", "pressmove", and "pressup", but no pointer events.
Are there plans to migrate to the Pointer Events model?
@Ferudun - might have some things to say... we worked through interactive whiteboards a while back and thought pointerevents are built into createjs. So when you see mousedown, pressmove, etc. in ZIM these call CreateJS and work with their touch events.
But if they are not working, we will revisit. Let's see what Ferudun has to say...
On Windows touchscreens in Edge and Chrome, "mousedown" click handling works. But dragging does not work.
There is an awkward work around for users suffering the issue. In 2025 the Pointer Event API seems the way to go as it's a single unified model which doesn't care if the user is using a mouse, pen or finger touch.
Open the Chrome or Edge on the whiteboard.
In the address bar, type chrome://flags or edge://flags/ depending on the browser.
And for the drag, Chris, you are using obj.drag()? No special settings in the Frame for touch, allowDefault, singleTouch, etc.?
We have done work in drag() specifically over the ZIMs with respect to touch... so you could try doing a test with ZIM 018. Just a circle with drag and see if that works. But even back in those versions, we were testing on smart boards and it worked as far as we know.
So you are not using the ZIM drag() but doing the drag code yourself?
And yes - the mousedown and pressmove are provided by CreateJS, not directly by JavaScript. They should be pointer events - and pretty well certainly on Windows touch screens on Edge and Chrome. I have a Windows touch screen and drag works in Edge and Chrome and has for over 10 years.
But... if there are problems reported then I would like to get to the bottom of it and see if we can solve it.
I'm getting hundreds of reported issues, indeed. I also have a touchscreen Windows laptop which I specifically bought for this type of testing, and it "works for me" too.
I am using ZIM's obj.drag(), the example lines of code with "mousedown" and "pressmove" were cited from ZIM's drag() implementation.
Okay, why don't I make a test file and perhaps there is someone you can work with to test on their board. @Ferudun I think teaches with boards, etc. so he might also get involved. I will do a test file now.
Thank you. Yes, I have been busily posting the workaround around, while I've been working on other priorities, but figure there must be a better way than having the resources not work. I bet only a small subset of users even contact me to report the issue. So anything that can be done to make it more robust out of the box would be ideal!
I need to understand the magic CreateJS event handling / mapping better!