nunuStudio
nunuStudio copied to clipboard
Scene does not support windows touchscreen events
nunu Scenes cannot be interacted with via a windows touch screen
Description
- Our clients using windows touch screen laptops can navigate nunu scenes with a paired mouse peripheral, but if they utilize the windows touch screen, none of those touch events are being picked up by the nunu scene/code. The scenes when viewed on other touch based devices (iOS or Android tablets) work as expected. It's only windows touch screen devices that seem to experience the issue.
- If you have a windows touch screen laptop, you can visit the nunustudio.org home page and see this issue on the sample scenes hosted their.
Version
- current version
Platform
- [X] Web Version
- [X] Windows
- [ ] Linux
Hello Jordan
Currently dont have a windows based touchscreen device a hand, could you please create a sample web app to see what kind of DOM events are triggered when using touch on windows devices?
I will try to check if there is any sort of emulator that can be used to test these.
Thanks in advance
Hi José,
This has been part of the problem with us figuring out the issue. We develop on macOS, with one developer working on a windows desktop, but don't actually have surface pros or another windows touch screen device, so our being able to recreate has been having friends/family try on one of their devices. I'll need to look into getting a test device to see if I can run the web app in debug mode and see what kind of events are getting fired from a windows touch screen.
Thanks, Jordan
Just dumping some notes in here. I created a new web project and installed three.js using node ("version": "0.150.1")
, created a scene, camera, renderer, cube, etc and applied a three.js orbit controller to the camera/renderer.domElement. Everything works as expected with a mouse, and it works with a windows touch screen. I added an event listener to the canvas for touchstart and just console logged the touch event
TouchEvent {isTrusted: true, touches: TouchList, targetTouches: TouchList, changedTouches: TouchList, altKey: false, …}
isTrusted: true
altKey: false
bubbles: true
cancelBubble: false
cancelable: true
changedTouches: TouchList {0: Touch, length: 1}
composed: true
ctrlKey: false
currentTarget: null
defaultPrevented: false
detail: 0
eventPhase: 0
metaKey: false
path: (5) [canvas#myCanvas, body, html, document, Window]
returnValue: true
shiftKey: false
sourceCapabilities: InputDeviceCapabilities {firesTouchEvents: true}
srcElement: canvas#myCanvas
target: canvas#myCanvas
targetTouches: TouchList {0: Touch, length: 1}
timeStamp: 7502.700000047684
touches: TouchList {0: Touch, length: 1}
type: "touchstart"
view: Window {window: Window, self: Window, document: document, name: '', location: Location, …}
which: 0
[[Prototype]]:
TouchEvent
I'm almost wondering if the issue with windows touch screens might be related to the three.js version maybe. I wonder if once this issue is implemented if windows touch events would work. Ultimately it's super weird that other touch devices work just fine.
Can you please test using this https://github.com/tentone/syncinput
Should allow for pinch events and three finger swipe. If it works here i might be able to easily fix this in nunuStudio.
This library was built from the input elements of nunuStudio.
https://tentone.github.io/syncinput/demo/
Ok had a friend test the demo site on their windows surface pro and it looks like the touches are working \(^o^)/ Let me know if there's anything else I can do to help. Also if there's an ETA on when a fix might be available to test, please let me know. We have a client that has an upcoming event (4/11) where they were going to use a bunch of surface pros as kiosks with a solution we built for them running on them.
Great, i will put some time this week to swap the input controls in nunuStudio to use the more recent code.
Thanks a lot!
Hello
Made some changes to the mouse input last week. To use screenX/screenY seems to be the main diference that i have made to the lib where you tested.
Can you test with the current version on master?
I will update the online build soon.
Cheers