Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
140 stars 2 forks source link

Scroll via touchpad/joystick #149

Open gentlecolts opened 1 year ago

gentlecolts commented 1 year ago

Is your feature request related to a problem? Please describe.

scrolling can be a pain, especially when your contacts list is long, or you're working through big components in inspectors such as vrik or other avatar-related items

Describe the solution you'd like

Scrolling via touchpad: Holding the top of the touch pad down scrolls one way, holding the bottom of the touch pad down scrolls the other, no flicking, dragging, etc. Mods have implemented this functionality and it greatly improves user experience, should be a first-party feature

Describe alternatives you've considered

Have experienced this with mods and it's a great boon to user experience

Additional Context

zangooseoo

ShrikeAlvaron commented 1 year ago

Further note on this behavior, it works such that when pointing your laser at a UIX canvas that has a scrollable area on it, the touchpad on that controller can be used to scroll by touching the pad with the scrolling speed varying based on how far from the center vertically the touch is. For non-Index controllers, this could instead use the thumbstick of the pointing controller to control the scrolling.

XDelta commented 1 year ago

In my experience having used the mod that adds this, it should have something of a deadzone and of course the setting to turn it off, and maybe another setting controlling scroll speed. while it helps a bunch being able to scroll, it was also regularly kinda annoying scrolling a little when trying to grab from an inspector or place a held reference into an inspector.

FlameSoulis commented 1 year ago

NOW I know why things have felt off... I forgot that was even a mod and just thought the feature broke.

Yeah... please... we really need this... Especially when having to go through 'look at all the bone slots and blendshapes' hell called SkinMeshRenderer.

Readun commented 11 months ago

Its indeed a great boost in user experience, not only to manage inspectors better, the existing mod is also scrooling through everything else scroolable.

Additionally it is a security for interacting with inspectors, as it prevents from accidental deletion of components, bones of else.

Current mod by Artii: https://github.com/art0007i/InspectorScroll/releases

Frooxius commented 11 months ago

I'd like to add something like this, but there's a few issues with how to approach this before we can begin work.

Generally we want all controls and mechanisms to be available across multiple devices and controllers. This means we'd ideally make this work with Vive wands, Oculus Touch and other controllers.

However those either have just a touchpad or just a joystick, which would require to overload some of controls - e.g. joystick/touchpad is used for movement and we don't want the user to be stuck, not being able to move when pointing at anything scrollable.

One way is that you'd first have to "click in" with those controllers to focus them and then unfocus, but that adds complexity - both for users and on development side.

We could make this exclusive to just Index and such, but that also has issue that users without those controllers will not be able to use that functionality.

shiftyscales commented 11 months ago

What feels the most intuitive to me would just be to utilize the secondary axis to control this whenever the cursor is hovering over a scroll area, @Frooxius - for Index that would be the touchpad, but for other controllers like Quest it'll be the joystick.

If it were tied to the laser itself being active I don't think that should cause too many issues for the user getting stuck- if they do not have a tool equip, they'd have to soft/full-pull their trigger to activate their laser in the first place.

If they have a tool equipped, they can either just not aim at the scroll area or de-equip the tool.

I think for the most part this would be a fairly intuitive process as it would require the user to:

To stop scrolling they would need to do any of the following:

To go along with this we could also introduce a couple of settings post-settings rework:

I don't think this feature should be Index exclusive, @Frooxius - it definitely makes sense to consider it as an option for other platforms.

Otherwise, #157 would also help in allowing all controller types to scroll in another way regardless of what is decided with this issue.

5H4D0W-X commented 11 months ago

The approach that the mod takes is that - outside of userspace - scrolling on touch controllers only works when the controls are blocked anyway, for example by a Dev Tool being equipped. I think that this is not necessarily a clean enough solution for vanilla integration but it's something to consider

ShrikeAlvaron commented 11 months ago

So I just got a Quest Pro and when using the scrolling mod I've found that scroll via joystick will cause you to move around still which is less than ideal. For an official implementation I think it'd be best that when pointing at a scrollable canvas with your laser (when using non-Index controllers) it would disable movement on that controller in favor of scrolling with it while still letting you move with the other controller. I don't think there'd be concern about getting stuck or anything since you can just point away from the canvas or deactivate your laser, on top of the other controller still controlling movement; having to toggle scrolling through some means would be a bit unintuitive compared to just pointing and scrolling

Readun commented 6 months ago

Been trying to help a new user setup their avatar, but he accidentally pressed multiple times on some conversions of meshes, deleted references or even components by accident..

While inspector scroll would help a lot against such things, he also had some Feedback.

"Why is there no confirmation on press? It will trigger immediately and not when trying to press, scrool and let go again. It should be press -and- let go, without moving to ensure it wasnt a scroll attempt."

PS: another idea, with the new settings rework, we could ask the user the way how scrolling should work for them. If it should be touchpad or thumbstick. If lasering an inspector should block movement or not and things like that.

5H4D0W-X commented 6 months ago

Buttons already have an option to ignore presses that end in movement (like when scrolling), it's called RequireLockInToPress. A simple change to the inspector generation code (UI Builder) could fix this problem. Sliders don't have it at the moment (or it doesn't work, don't remember which)

Redd56 commented 4 months ago

with the latest update this issue has once again reered its ugly head in the form of every single mod breaking, including inspector scroll the main mod used to fix this problem. Because of this i was reminded how actualy bad it is when having to manualy scroll in this game in vr.

clicking buttons on accident, slow clunky click and drag, click and drag, click and drag, click and drag oops clicked a button that deleted all the other root node components, guess ill just readd those later

why dont we have inspector and other similar menu scrolling with thumbsticks. Inspectorscroll has done it for years as a mod perfectly fine, Its a simple feature that if someone had a day or two (or week at most) proabably throw into the game. I love this platform but the lack of being able to just, scroll? it puts me off and makes me not want to create much of anything. not to mention the user experience for new users. imagine going onto a new browser and being told you have to click and drag to go down the page on youtube. and theres not even a scrollbar.

tldr: we need a scrolling solution that isnt just click drag click drag. pcvr and esp desktop feel super fucking clunky with the click drag of current day.

ps im sorry if any of this came off as me yelling or angry im terrible with tone and didnt mean it that way, im just really passionate about it and want a solution to (hopefully soon) be made. as its a huge part of the creation proccess in game, and thats like half the game

Frooxius commented 4 months ago

Make sure to upvote the issue if you haven't! That helps to prioritize it.

gentlecolts commented 4 months ago

and esp desktop

for the record you can mouse wheel scroll inspectors on desktop

FlameSoulis commented 4 months ago

tldr: we need a scrolling solution that isnt just click drag click drag. pcvr and esp desktop feel super fucking clunky with the click drag of current day.

This... a thousand times this...

With inspecting avatars with face tracking, going through pages of just blendshapes is an absolute chore, not to mention the spawn of (insert religious antagonist here) component for HANDLING said blendshapes, and this almost kills any amount of willpower I have left when working on such projects. The fact we don't even have a scroll bar just makes the situation worse.

Look, we have had many new things come out that add MORE and MORE components that continue to get LONGER and LONGER. We need something that makes going through component conga lines not push RSI.

Also, I have upvoted... since October, and this was an issue previously. This is a dev PAINPOINT. It's actually painful to drag scroll through so much junk all the time.

Redd56 commented 4 months ago

and esp desktop

for the record you can mouse wheel scroll inspectors on desktop

oh thank god

also rml and harmony just updated a bit ago so im gonna hop on and see if inspector scroll is once again working. cause if so my gripes of is being gone are gone but its still really strange we dont have it on vanilla, its such a simple feature thats so usefull