Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
118 stars 1 forks source link

ThumbRestTouch output of Touch Controller node does not work properly #449

Open antrobot1234 opened 7 months ago

antrobot1234 commented 7 months ago

Describe the bug?

The thumbRestTouch bool output of the touch controller node does not enable when you touch the thumb rest area.

To Reproduce

open game with quest 2 (via oculus link) spawn in touch controller node and link it to your user touch the thumb rest the boolean does not toggle

Expected behavior

the boolean is supposed to toggle

Screenshots

image

Resonite Version Number

10.20.831

What Platforms does this occur on?

Windows

What headset if any do you use?

Quest 2 Via link

Log Files

THETOWER-XVI- - 2023.10.20.831 - 2023-10-26 16_20_29.log

Additional Context

No response

Reporters

No response

shiftyscales commented 7 months ago

As a quick sanity check, @antrobot1234 - does the thumb on your avatar move in response to touching your joystick?

shiftyscales commented 7 months ago

There is also a setting in the settings menu to debug input bindings. Could you enable that, and see if it is being properly read there?

image

shadowpanther commented 7 months ago

Works properly for me - Quest 3 via Airlink and Oculus runtime. image

Nammi-namm commented 7 months ago

I remember this issue. It would work with another user on a Rift CV1. But me on Quest 2 via airlink it wouldn't ever show true. But my avatars thumb did move when my finger went on the spot. That was a long time ago though.

amplified1 commented 7 months ago

From my experience this issue is only present when playing on a Meta/Oculus headset through steamVR, and doesn't show up when playing directly through Oculus. This explains why it only shows up for some people, as some people use Oculus directly, and some use steamVR. I have been playing on quest for my entire time playing Resonite and the previous platform and was always under the impression that the thumbrest input was just broken, but the one time I tried playing it through oculus directly it worked fine. So the issue seems localized to running Resonite through steamVR

shadowpanther commented 7 months ago

Might it be that SteamVR just doesn't pass that input properly or is emulating the other type of controllers?

WayaShinzui commented 7 months ago

The thumb moves but the Quest 2 thumb rest has never worked with the node even back in LogiX. I remember having the same frustration. The avatar's thumb moves to a different position from any of the other touch buttons but does not pass a true on the node.

shiftyscales commented 2 months ago

I saw in a SteamVR Beta update released today:

Oculus:

  • Hooked up thumbrest input for Touch controllers.

This sounds like it may have resolved this issue. If someone could test, and verify, this issue can be closed out. @antrobot1234 @shadowpanther @Nammi-namm @amplified1 @WayaShinzui.

amplified1 commented 2 months ago

I saw in a SteamVR Beta update released today:

Oculus:

  • Hooked up thumbrest input for Touch controllers.

This sounds like it may have resolved this issue. If someone could test, and verify, this issue can be closed out. @antrobot1234 @shadowpanther @Nammi-namm @amplified1 @WayaShinzui.

I had to manually hook it up in steam bindings but it works. idk how modifying the default steamvr binds works from the developer side, but if that is fixed, this issue will be resolved

amplified1 commented 2 months ago

Can this issue be renamed to clarify the current issue, being that the game's default steamvr bindings don't have the thumb-rest connected. @shiftyscales

shiftyscales commented 2 months ago

Wait- I just noticed- what is the functional difference between "thumbrest" touch and "joystick" touch, @amplified1? What part of the Touch controllers are considered to be the "thumb rest"? I looked it up but I don't think my model of Touch Controllers even have that input?

I have the Quest 1 Touch Controllers.

Otherwise, yeah- I see the relevant bindings inside of SteamVR and they should probably be hooked up regardless- I'm curious about the discrepancy between models of the Oculus Touch controllers though- was the thumb rest something they added later?

amplified1 commented 2 months ago

Wait- I just noticed- what is the functional difference between "thumbrest" touch and "joystick" touch, @amplified1? What part of the Touch controllers are considered to be the "thumb rest"? I looked it up but I don't think my model of Touch Controllers even have that input?

I have the Quest 1 Touch Controllers.

Otherwise, yeah- I see the relevant bindings inside of SteamVR and they should probably be hooked up regardless- I'm curious about the discrepancy between models of the Oculus Touch controllers though- was the thumb rest something they added later?

the thumb rest was specifically omitted from the quest 1 controllers, but has been present in every touch controller before and after, on the quest 2 and original touch controllers it is a little circle of rough material on the face of the controller, and on quest 3 and pro it's an invisible capacitive sensor on the curved empty area of the face of the controller next to the buttons

shiftyscales commented 2 months ago

Curious for your thoughts on how to best handle this, @Frooxius.

Based on what I've learned about this issue- there are a few points to consider:

jeanahelver commented 2 months ago

just stumbled on this issue a swell. i think touch controllers should stay as a single node for touch controllers as ease of use reasons and extend a "ThumbRestForce" set to 0 for ones that don't have it, and relying on the type.

shiftyscales commented 2 months ago

How would that work in the case of an end-user making something that relies on the thumb rest input, @jeanahelver? If their tool, etc. required use of it and I don't have it- then I wouldn't be able to use that functionality.

The point of having controller nodes is supposed to be that any controller which fits that definition should have access to every input for that type of controller. This is why the standard controller has the inputs it does- a standardized set of inputs that every device should have access to.

If the user would have to specify a condition based on the type enum of the controller used- then they may as well just use a separate node for that controller type outright.

Merith-TK commented 1 month ago

Quest 2, 3, and Pro controller owner here On the quest 2 the thumbrest is the discolored circle to the inside of the controller (in the flat space) On the 3 and pro it is the slanted portion of the face (pro has an unused mousepad like feature that meta never exposed to the API)

The oddity of this particular spot is that the VRIK does respond to users using the thumbrest, but the Protoflux node does not. Which is the main reason why I am annoyed that this is broked because I want to be able to setup gestures but I cant

ExoTheWicker commented 1 month ago

I have seen this same issue.

WayaShinzui commented 1 month ago

The oddity of this particular spot is that the VRIK does respond to users using the thumbrest, but the Protoflux node does not. Which is the main reason why I am annoyed that this is broked because I want to be able to setup gestures but I cant

Iirc the fingers respond because of the Steam skeletal stuff. I'm guessing Steam can see the input but it wasn't getting passed to the game?

Also I swear I read somewhere you can now manually add it to your Steam binding for Resonite and it should passthrough to the node now? I could absolutely be misremembering though and have not tested it yet myself. ADHD go brrr...

Merith-TK commented 1 month ago

yep, once i figure out how to share my map here to make it work i will

EDIT: Custom Map published to Steam, search "Quest 2/3/Pro Thumbrest Support"

Merith-TK commented 1 month ago

@shiftyscales apologies for the direct mention The fix is simply actually mapping the thumbrest_touch in the SteamVR default layout

shiftyscales commented 1 month ago

Sounds like this issue has everything it needs, @Frooxius @ProbablePrime - sounds like a fairly simple tweak to the default SteamVR bindings for Oculus Touch controllers.

Unfortunately I don't have later model Touch controllers that feature that input so I am unable to test it myself- but it sounds like that functionality just works after making the above recommended change.

Merith-TK commented 15 hours ago

It is mapped, I hope to see this pushed to the default steamvr bindings soon-ish