Index Controllers Grip Issues
This appears to be a "feature" rather than a bug, but I've never benefited from it and I can't imagine anybody else benefiting.
I have the Valve Index and the controllers for it make a difference between all fingers curled around the controller properly, and actually squeezing the controller. Unfortunately OpenBrush does not use the squeezing feature, and instead uses the contact feature, so it's extremely easy to accidentally trigger the grip behavior. One way in which this is a huge problem is when I am painting, and naturally my hand shifts in various ways over time with different strokes, and inevitably I'll hold the controller such that it triggers the gripping feature, and suddenly my brush is interrupted. Over and over and over.
If it only triggered with squeezing pressure then it would be fine because that's an unreasonable amount of force for using a brush, but as it is, it's a hair trigger and cuts me off way, way too much. It's the only problematic aspect of the app but it's so significant because it can happen at any time and very easily. Needing to hold my controller so lightly like it's a dry leaf in danger of crumbling is ridiculous and even then often fails based just on how it sits in my hand. If I have too much contact, that's it, brushing interrupted.
Please tell me that this is something that can be fixed. My experience with a really amazing, extraordinary app is being ruined thoroughly.
46 Replies
Hi, I'm really sorry you're hitting this issue. Interestingly, we are actually using the squeeze rather than the contact input! It's unfortunately a bug with Unity's input system that means their per-input deadzones aren't respected, which means your grip is activating far lower than it should be doing (0.1 vs 0.5~). We finally had the bug accepted by Unity's QA team (we submitted it back in august last year...) so we're hoping it can be fixed really soon.
This is good to hear as I also noticed the same issue. It is manageable but it just feels a tad too sensitive.
Could you compensate for Unity's issue by for now making brushing override gripping instead of vice-versa? I can't ever imagine a circumstance where I'm brushing and would want to grip while I'm still pressing the trigger yet I don't want to be brushing anymore...
That does sound like a good idea. When painting why would anything override that except releasing the trigger? I'll try and have a look today or tomorrow to see how easy it is to untangle this part of the code.
Thank you, my thoughts exactly! If it's possible, it could only benefit users. π
Only reason I can think of is if it affects combination things, like some of Moat's work, or scaling or similar. Can't think of any specific instances off the top of my head right now, but there might be some?
I feel like mods should account for a base behavior that doesn't do this kind of thing by default, rather than expecting it to do such weird things
I'm new so I'm unsure what kind of pace development happens or how things are prioritized and really everything, so I'm just curious about this.
We're all volunteers, so features and fixes happens as and when people have time to work on it I'm afraid! We're always looking for more contributors of course π
Yeah - sorry. I meant to look at this and got sidetracked. I'll bump it up my list.
Indeed, I meant specifically that I don't know what the pace is. I wouldn't mind waiting however long but just wondered about the process so I could decide whether to wait or to use the app anyway.
This is nice to hear though!
This is interesting. It looks like the code intends to prevent you grabbing whilst drawing:
UpdateGrab handles more than just widgets - it's the only method that calls "UpdateGrab_World".
I think we should be checking MainPointerIsPainting rather than IsMainPointerProcessingLine:
@ancientworlds and @zandyxr - can you think of any situation where grabbing should be allowed whilst painting?
To alternate between functions
Like if you use the trigger it does one thing but if you use trigger and grip another is activated
Itβs used a lot on gravity sketch
Not so much with grabbing alone
I mean in Open Brush. I'm proposing we change the current behavious so grabbing is disabled during any painting action.
At the moment it seems to be allowed unless you're using the Straight Edge Tool.
It's just with the Index controllers - it's really easy to grab by accident.
Yeah really no need for it while painting
Index here, not sure if the architecture is the same
I can imagine using one hand to hold a selection and rotate it around while the other hand paints on its local position on the fly (new strokes added to the selection). However, aside from being cool, I don't think it's actually super useful, especially since selection obscures paint for highlighting purposes. So aside from that (not so useful) case, it would be highly unusual, I would imagine.
Ha! I never thought to actually try it. It's fine with Quest controllers (running on PC - guess it's the same with standalone)
i.e. grip doesn't interrupt painting.
so it's weird that it's different on the index...
@mikesky βοΈ
wait what? now i'm even more confused...
me too. it seems specific to index controllers. do you have any handy? my vive isn't set up
rather dead ones, but due to other commitments it's gonna be tomorrow night but realistically the weekend before I can try it π
Is it reasonable/okay to ask about this again?
Hiya. Sorry - I keep forgetting to dig out my Vive to test this. I got as far as checking if "grip interrupts drawing" is a general thing and to my surprise it wasn't. (tested on the Quest). Seems strange that grip interacts differently with drawing only with the Index Controllers? That's what I want to check.
Oh, so it's not just that it's easier to set off than with the others.
That's very weird
Has anything changed for this? Hope it's cool for me to inquire π
Yeah sorry - I've been having too much fun working on the new plugin stuff and testing on the Vive/Index controllers involved tidying up the spare room. I've now (finally) done the latter so I'll try and give this a test in the next couple of days
Cool! Yeah, it is unfortunate that the Index doesn't have a standalone mode, sure does make setting up annoying. Maybe the Index 2 in, like, 2024/25? I presume they'll make one someday...
You mean like this? https://vrscout.com/news/report-valve-is-working-on-a-new-vr-headset/
Kyle Melnick
VRScout
Report: Valve Is Working On A New VR Headset
A follow-up to the Valve Index may be in the works according to a recent interview with Product Designer Greg Coomer.
Good to know sales were enough to merit a second one. I know that Valve thought of the Index as a dev platform and priced it accordingly (aka high), so they might not ever think of making one that can stand alone (being without a cord would really stifle its power and maximum potential), but VR is also about freedom so if they're finally interested in exploring that avenue then hopefully the next one will be amazing.
My mind sort of deviated there, it's also the more niche audience that risked lesser sales on its own. Good to see it was enough of a success.
I think Valve can do really good stuff for the industry compared to broader monsters like Meta and Apple who want to control all that you do everywhere you go
Just checking in π
Hey - I finally got my Vive working again.
Using Index controllers and it seems to work fine for me. I can't recreate the problem
I'll try to check today in case some seemingly unrelated fix had a domino effect and it's just not there anymore
Then I can reinstall in case it's somehow on my end
From there I'd have no clue what to do though
So hopefully it's one of those
I can think of one thing to try - I didn't try the actual build version. It should be the same but maybe that's it.
Bit unfortunate that the high entry price for Index means there's not many people talking about it or developing solutions for it. For example, I've tried looking up keyboard mods for the floating keyboard and people don't seem to make any, which just feels baffling to me. People love modding that kind of stuff usually.
Yeah. I can't test on an actual index - just a Vive with Index controllers
It's hard to imagine the HMD itself could be an issue since (nearly?) all the software is hosted on the computer rather than the physical devices (which I imagine are all firmware and hardware) but if there was something about how the HMD and controls communicate with each other that caused the problem, it wouldn't be easy to test.
So - just tried with the Steam regular release version and again - it's fine. I can grip all I want and it doesn't stop the brush stroke.
Changed anything in the controller configuration? Steam has so many complex settings for controller mapping
Not before/when I used Open Brush last
If the issue is still there when I try in a few hours I could at least demonstrate how it looks, although it's nothing special, just exactly what it sounds, so I'm not sure anything would come of that.
But again, hopefully it's just magically gone.
Given the lack of issues on your end
@andybak It does work fine... but not for every tool, it seems
In fact, here is what I observe:
- Brush: If painting, neither grip squeeze interrupts or activates in any manner. If not currently painting, painting completely overrides left squeeze, while right squeeze cannot be overridden by painting (trigger), thereby blocking it.
- All other tools: If using, left grip does not override the tool usage, but will still activate (visually, at least), so they both work at the same time -- but for this same situation, right grip overrides active tool. Meanwhile, if the tool is not yet active, left grip will allow the tool to activate, while right grip will override tool. The same situation as if the tool was used beforehand, for both.
So interestingly for one situation the squeeze behaviour is dependent of order, while for the other it's independent (yet still not mirrored left to right). This is the rather inconsistent outcome that I have observed.
It is definitely fair to say that painting is the most important tool so it's nice to see that unlike what I noticed before, it does not get overridden mid-task, but all those other behaviours are still troublesome.
Oh yeah, also I confirmed what you said before that grip isn't initiated purely by finger contact but just a really light squeeze, and yeah I see that, it's a touch more than just contact. It is unfortunate what you said about how this can't really be changed because of Unity, but I think fixes with regard to these above behaviors would make that an irrelevant quirk, which would be just as good!
I'm glad that it seems I didn't make you get all your setup out for nothing, ha ha.
Interesting. I wonder how controller swapping affects this? (Left handed usage?)
I would have guessed it would flip things, but I didn't try. I could see later tonight.
Ya, hard saying, might help diagnose it though
@andybak I can confirm the same issues in reverse when I switch the hand settings.
Just checking in about this π
Should I submit a new ticket called "Gripping Behavior Inconsistent Between Hands Can Override (Supercede) Non-Brush Tools and Can Block Brushing"?
Hiya - I can edit this post title. @mikesky - do you have a working Index controller setup yet so you can try to reproduce this?
I can put things on to charge, just having covid made me not want to put on a headset anytime soon π
Fair enough!
I thought I did test this and struggle to reproduce it though?
This one has been hanging around for a while and we've now got a fairly clear description of the issue (pinned).
And poor @krax27 has been very patient π
but - on the other hand - nobody else has reported it. I tried to repro the original report but that was before we had the clear explanation
Gotcha
I cannot confirm whether the original issue I experienced disappeared through a coincidental domino from some unrelated patch or if I simply was lazy in my original experimentation because whatever did happen annoyed me into not thinking too hard. But I can say that I repeatedly tried things now and it is highly consistent with my newer description (...on my system, anyway).
Just a little check-in π
Hi
Sorry if it feels like I'm impatient! (And for having a weird issue nobody else is reporting)
Oh god. I'm sorry too. Just not had time to look into this. The fact I have to set up the lighthouses even to test it doesn't help.