oromis / touch-vtt Goto Github PK
View Code? Open in Web Editor NEWIntroduces touch screen support to FoundryVTT
Introduces touch screen support to FoundryVTT
Issue: When mouse is moved out of main canvas (to chat log area or another screen) this occurs:
When mouse is moved to hover over canvas again the above behaviors stop.
Pinch to pan, 3 finger pan work as expected at all times.
Expected behavior: Single-touch functions work at all times no matter where mouse is hovering.
To reproduce
Other details
@shawnp in FoundryVTT if there are any questions. It's certainly possible I've boofed something obvious. Thanks for your great work!
Hey, libwrapper is reporting the following issues, and I'm not savvy enough to grok whether you or the drag-ruler dev would be able to resolve it, so I'm posting on both modules:
"Potential conflict detected between module 'drag-ruler' and module 'touch-vtt'.
Detected non-libWrapper wrapping of 'MeasuredTemplate.prototype._onDragLeftStart' by module 'drag-ruler'. This will potentially lead to conflicts."
"Potential conflict detected between module 'drag-ruler' and module 'touch-vtt'.
Detected non-libWrapper wrapping of 'MeasuredTemplate.prototype._onDragLeftMove' by module 'drag-ruler'. This will potentially lead to conflicts."
"Potential conflict detected between module 'drag-ruler' and module 'touch-vtt'.
Detected non-libWrapper wrapping of 'MeasuredTemplate.prototype._onDragLeftDrop' by module 'drag-ruler'. This will potentially lead to conflicts."
"Potential conflict detected between module 'drag-ruler' and module 'touch-vtt'.
Detected non-libWrapper wrapping of 'MeasuredTemplate.prototype._onDragLeftCancel' by module 'drag-ruler'. This will potentially lead to conflicts."
I noticed measurement templates stopped working a few days ago and I just went through troubleshooting all the mods I have enabled and it appears to be TouchVTT.
With TouchVTT enabled you can draw a template (say a 20' cone) but the effected squares don't show up and you can not interreact with the template or draw further templates till you refresh the screen, at which point the template disappears.
TouchVTT seems to be required for some modules such as mobile improvements while conflicting for others such as material plane. It would be useful to be able to disable the module on a per user setting, depending on the use case of that user.
I've used the "pan with 3 fingers" option before, but recently it does not work. Players can pan with 2 fingers as well, which makes it difficult to not accidently move the map.
Is there a way to disable to the pan/zoom functions complete? I could always take over the map. We use a game table with touch that all players can use, and without the 3-finger option, there is a lot of accidental panning/zooming.
Any help welcomed, thanks!
Hello,
On any iGadget, e.g. iPad, iPhone, I tried panning and zooming is very jittery. I was wondering if it is expected.
Cheers,
Thomas
Zooming and panning with 2 fingers is kinda wonky. While zooming the map tends to move around and while panning the zoom is ever so slighty adjusted continuously.
Possibly assigning 2 touch points for zoom and 3 for pan could improve usability.
In the Manage Modules dialog, there is a link to "Module Documentation." It attempts to go to "http://(myserver_ip)/README.md" which does not exist. Looking in the module folder and here on GitHub, the only README.md file is the main one for the repo.
Should there be another one somewhere? Or should "Module Documentation" point to the main README.md file on Github?
There seems be a odd bug manifesting between Token action hud and Touch VTT on when running on a Microsoft surface 8 on chrome (I mean to test FF too).
When both module are enabled Token action Bar hud interface bar can't be dragged around and repositioned. If Touch VTT is disabled then it can repositioned consistently.
Some sort of touch race condition maybe?
Shot vids show the two different state.
https://photos.app.goo.gl/L9uQUpohMGrdCt3h7
This isn't really your issue. I was wondering if you have an iPad to test this with? In 0.7.7 I am unable to log in to a user to get to the map.
I would love to track down this issue.
is there a way to ping? could be a nice feature to add a tool on the left bar for pinging.
There is no way to delete tokens if you don’t have a keyboard. Can there be an added feature to delete tokens in the token selection menu? Please and thank you for all the work on this!
Tested on surface 8 and ipad. Can't drag items from menus to canvas. Foundry 10, all modules updated on stable 10.291
If the GM has audio and/or video turned on, the player cards will show when App menu is selected (whether canvas is turned on or off). The camera-view section affects the bottom portion of the app area and prevent the mobile player from pressing buttons. Either the camera view should be turned off when either the canvas is disabled or not viewing the scene or better yet:
Add the ability to toggle camera-views section on and off. This way players can use Foundry for audio while not having the camera views take up a lot of screen space.
when clicking on dmg & attack roll widget the confirmation window dosnt show
also you should ass a UI Scale to this considering what its for
@media only screen and (max-width: 600px) {
body > div {
zoom: 0.5
}
}
Hi,
I was wondering if there is any update coming to make this compatible with V10? Would it work without?
FVTT: 0.7.9 (running via node.js on a RaspberryPi or logging in to Windows stand-alone app)
Modules: Only TouchVTT and Tidy Settings
Tablet: iPad 7th Gen (regular not Pro)
I can select the GM or Player account but the "Join" button never becomes active or available to click.
I am using a bluetooth keyboard that has a track point mouse-type device but even with that, I cannot click the "join" button.
When using the measurement tool there is currently no way to create a measurement with a node that changes direction of the measurement. Is it possible to do this?
Not sure if V9 or module or other issue but just reporting since v9 update I've observed some odd behavior on ipad with GL enabled since v9. Everything works great for about 5-10 minutes and then the browser tab just dies, forever reconnecting, refresh/reload does not help. PC chrome connections stay up and stable and server stays up etc. I also noticed similar behavior on the the Microsoft surface (only tablet mode, running crone, couldn't repeat using trackpad), the tab just seems to die, pen and touch stop working. I have to kill the tab entirely and log it back on to foundry. Switching tabs and other os functions continue to work normally, just interaction with foundry tab gets locked up.
I have an unreleased module that adds better support for wall drawing on touch screens.
https://gitlab.com/tiwato/pen-wall-tools/-/blob/master/src/pen-tools.js
Is this something you'd be interested in a PR to absorb into your module?
On tables with mixed token styles (like top-down monsters and portrait-style PCs) it's useful to select Lock Rotation in the token configuration for the tokens that shouldn't rotate. With direction arrows enabled in TouchVTT, this creates a UX problem: players with locked-rotation tokens see the arrows, but they do nothing.
TouchVTT should hide the arrow buttons on the token's HUD for locked-rotation tokens, even if “Direction arrows in Token HUD” is set On. This will make the appearance of the token HUD arrows context-sensitive, removing UI elements that are non-functional for that token.
We play using a horizontal TV with a cheap IR frame from AliExpress, so some things are not that smooth for us
It would be great to be able to block double-click from opening character sheets as it can get troublesome to get them closed
Love your module and sorry for accidental fork :D
Sorry if this is a known or unfixable issue. I've noticed that the current version of TouchVTT seems to not work properly with the popular module 'Dice So Nice'.
I've found that the scene is visible on the mobile device upon entering the game for a short time, and then gets replaced by a black screen. The elements at the bottom of the screen remain functional.
I have just started using this awesome module with a 27” inch touchscreen on the players side but have found a big issue when moving tokens. It becomes very difficult to single press and move a token because Windows 10 pans the foundry canvas with a single press.
So far I’ve found a way around it using Lock View to lock the panning for players so the canvas doesn’t move but it means they can’t move the canvas at all and I have to control their view the whole time.
Is there a way of having canvas panning lock when a token is being moved? I don’t see any way or disabling single finger panning at the Windows level.
Hi!
I noticed that the Firefox console get spammed with error messages on any mouse movement. I've tested it with my hosted version as well as with my local one. Chromium and the inbuilt browser don't show any errors. Apart from that, I couldn't notice any problems.
FoundryVTT Version: 0.7.9
Firefox Version: 86.0.1
OS. ArchLinux
Uncaught ReferenceError: TouchEvent is not defined
isTouchEvent touch-vtt.js:1
handleTouch touch-vtt.js:1
p touch-vtt.js:1
T touch-vtt.js:1
init touch-vtt.js:1
<anonymous> touch-vtt.js:1
_call foundry.js:2496
callAll foundry.js:2456
setupGame foundry.js:6560
_initializeGameView foundry.js:7319
initialize foundry.js:6471
_call_wrapped wrapper.js:298
call_wrapper wrapper.js:389
o lib-wrapper.js:409
call_wrapper wrapper.js:421
🎁 lib-wrapper.js:1
<anonymous> foundry.js:7449
async* foundry.js:7447
Let me start by saying this module is awesome for IRL games. I'm currently running a multitouch enabled TV that we will be using for IRL games. I'm using several modules, one of which is the Lock View (https://foundryvtt.com/packages/LockView/) module to keep the screen from panning and zooming when we interact with it. However, I noticed when I enable TouchVTT it overrides LockView and most the time when I touch the screen the map zooms or pans when I don't want it to. Even selecting tokens can cause the map to accidently zoom or pan. This may just be a function of my touch device too, but I want to check to see if there was anyway to make these two modules play nice together so that I can lock the view but still move tokens around the screen. If not, no worries.
Thanks for the time.
There is an eraser for measurements, can a similar eraser be added that supports drawing tools?
Warning is being thrown for deprecated object.
foundry.js:5119
game.data.version is deprecated since V9 in favor of game.version
get @ foundry.js:5119
Currently I have to hold the shift key while tokens are being moved by players on the touchscreen if the intention is to move a token so that it does not snap to grid. Is it possible to activate a shift key on the touchscreen so that tokens can be moved freely instead of snapping to the grid?
I haven't had a chance to test this yet but wanted to ask if you've had a chance to test this out in conjunction with Zoom/Pan Options. I have a feeling these two modules interact with similar parts of Foundry Core and might conflict.
I can't seem to drag a token through an open door with this module.
It would be useful to be able to drag items around while using the touch screen. This would include things like: dragging items between inventories/compendia, dragging effects to tokens, etc.
The measurement hud seems to not be working at all, we tried on multiple browsers and devices, with only this module active, and still, no one can see the hud
First, very nice other then the 2 finger pan jittering allot with a Surface Pro 7, when not in F11 full screen. Works better in F11 full screen. Still could be smoother though.
When the cursor is in the browser game window TouchVTT works great(other then above)
If you aren't playing in F11 full screen and touch the top of the browser, you lose TouchVTT usage for touching things, zoom and pan still work, until you use a mouse or track pad to move it back to the game window area. Touching the areas in the main window doesn't return the mouse cursor to allow me to select things.
I've searched, read docs, googled, reddited, etc. I can find no way to toggle the pause state in this add-on. This is an issue for my GM who only has a mobile device.
As is mentioned in issue #29 , there is a problem with the long-press context-menu, but this seems to be a problem for GMs only.
My guess is, that players can't drag'n'drop components from the sidebar, so TouchVTT assumes the user wants to right-click, whereas the Gamemaster has the option to drag'n'drop components onto the board and TouchVTT seems to prioritize drag'n'drop before the context menu.
Now, I don't find the drag'n'drop functionality to be too important during play. The context-menu, on the other hand, is. Without it, it is impossible to be the GM on a tablet, to be honest. You can't change scenes, for example, as you'd need the context-menu for that. You can't delete tokens from the current scene either.
On nearly everything I’ve tried long-pressing, it sets up for a drag instead of a right-click. I’m trying to bring up the context menu on Actors from the sidebar, but so far I haven’t found anything that I can long-press on other than Tokens. For Actors, Items, folders, Scenes (from the scene bar at the top), it always seems to set up for a drag. For Macros (from the macro bar), it opens up a preview window (like it does when you long-press a link). Is there something I’m doing wrong?
FoundryVTT 0.8.9
iOS 4.7.1
IPad Pro (11-inch)
WebGL 2.0 enabled in Settings
Please add the ability to target tokens on a single tap if you don't own them. It would make it so much easier for touch users to use and form of automation like midi-qol since most often you need to Alt-Click or go to a menu, change to targeting, target, then go back afterwards, which takes a while.
Is there any way we could get an option to turn off pinch to zoom and 3 finger pan? I'd like to use physical minis on a tv with an infrared touch frame but it always detects all the minis so if you move 1 while others are on the table it often detects that as a pinch or a pan, and I can always zoom and pan without the touchscreen when needed but actually don't want to with the touchscreen because I want to keep 1 inch squares since I'm using physical minis
Looks like it's incompatible with drag ruler though it's a little hard to say since the tab stops updating and is difficult to reset. See on both android and IOS browswers.
Not sure if this is a Touch VTT issue or one associated with the windows touch environment but if i tap on Foundry whilst on another active window, on another monitor, it doesnt register. The circle that indicates where the touch input is appears on the display, but the mouse doesnt move to that spot and i cant move actors or activate any controls unless i move the mouse back over to chrome on the touch screen display and click on the chrome window. Alt+Tab doesnt work either. Unless i click the window, the touch controls dont register at all.
I have dual screen setup with a 32 inch monitor and a 50 inch TV built into a table that has a capacitive touch foil attached to a 6mm glass panel over the top.
foundry.js:20952 The Canvas#getLayer method is deprecated without replacement. Callers should instead reference Canvas attributes directly.
getLayer @ foundry.js:20952
get ruler @ touch-vtt.js:1
J @ touch-vtt.js:1
🎁Ruler.prototype.clear#touch-vtt @ touch-vtt.js:1
🎁call_wrapper @ libWrapper-wrapper.js:619
🎁Ruler.prototype.clear#0 @ libWrapper-wrapper.js:188
updateRuler @ foundry.js:28031
_handleUserActivity @ foundry.js:12879
🎁call_wrapped @ libWrapper-wrapper.js:510
handleUserActivity @ socketlib.js:320
🎁call_wrapper @ libWrapper-wrapper.js:619
🎁Users.prototype.constructor._handleUserActivity#0 @ libWrapper-wrapper.js:188
T.emit @ index.js:143
value @ socket.js:276
value @ socket.js:263
value @ socket.js:231
T.emit @ index.js:143
value @ manager.js:200
T.emit @ index.js:143
value @ index.js:105
value @ manager.js:192
T.emit @ index.js:143
value @ socket.js:323
T.emit @ index.js:143
value @ transport.js:99
value @ transport.js:92
ws.onmessage @ websocket.js:76
We chatted on Discord briefly. It would be great that you could have an option to enable the default touch movement of tokens to match that of a mouse with ctrl click. You could start the move with one finger, then tap a second finger during the move to add a waypoint. Then you could release to activate the token movement along the path drawn.
Hello.-
I'm running into this issue where I would like to hide the direction arrows for all my players, but as it is a client-based setting I am not able to do so. I could use the socketlib sync function and turn it off for all players, but I believe there could be a third dropdown option dependent on the existence of the Mobile-Improvements module, which only made that UI appear when on mobile mode).
Thoughts?
Disregard, have to learn how to use FoundryVTT! LOL.
With a token selected you are not able to alter which direction a token with vision is looking. By default all tokens face south and cannot alter direction. Could a direction changer be added along side the drag movement
It would be great if you could rotate the output windows (hero sheet, rehearsal window, chat) so that part of the group does not see the text rotated by 180°. Maybe a menu in which you can set the players' seating position at the beginning of the round so that the windows rotate automatically, or a rotary knob on the window. Otherwise, unfortunately, part of the group always remains somewhat inactive because the other players read aloud or press buttons.
I am not sure if this locked to the main application or if a hook can be added in to remove the camera overlays. Our group is planning to stream some players and want video, however ONE person is on mobile only and the camera overlay just completely cuts out a huge portion of the already small phone screen.
Hopefully, you can see just how much of the screen this covers up in the below screenshot. Even this minimal is only AFTER clicking the slider button to disconnect from the Livekit server(thats what I am running but I assume the same would be with Foundry's built in peer to peer video connection since livekit is just the data transfer parts). Prior to disconnecting from livekit, I had up to three camera overlays showing up!
Id be happy to assist in any testing if this is something the author could possible fix via a global setting(default to off perhaps??????)
Request some method of disabling the 2/3 point pan and zoom feature in Touch VTT. A preference would be a button, but including a "None" setting in the configuration settings would work as well.
We use have been attempting to use TouchVTT as a horizontal in person battlemap. it is quite easy to 2 or 3 point touch and cause both zooming and panning when attempting to move a token on accident.
Hi there!
When using mouse and keyboard, I can minimize windows by double clicking the title bar.
I tried the same by double tapping on my touch device but it didn't seem to do anything.
Is there a way to minimize windows using touch controls already? If not I would like to propose it as a feature request :)
Thank you!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.