editing controller bindings?
i'm running flatland on my original HTC Vive and the default binding for the corner handles is grip, which needs a bit too much force to comfortably hold while moving windows around, is there any way i can go about changing this to trigger or menu?
71 Replies
ah shoot that's kinda hardcoded in :/
most controllers have comfy grips
i didn't think anyone would have an htc vive controller :p
but i'll see what i can do
can i just change it myself for the time being?
yeah if you look in
sk_controller.rs
i believe
you should be able to see datamap.grab =
something like thatand yeah, completely understandable that you wouldn't expect someone using this hardware in 2024 lol
just search up
grab: controller.grip,
in the server
you'll find it
i want to make it comfy for all setups so actually this is very usefulone thing i'm very surprised about is how readable text is even on my ancient hardware
ahaha yeah i stole the lanzcos filter from simulavr
it blurs text intelligently even with perspective warp
you really don't need the highest spec stuff to get readable text, that's Big Headset wanting you to buy the higher res headset instead of making the headset do anything useful :p
jk but it's not a common technique is what it really boils down to
lol yeah, honestly the only thing i didn't like about this HMD was the garbage-tier factory lenses, but you can just use a 3D printed adapter to swap them out for GearVR ones and then the picture gets like 10x better
oh nicee
is it comfy to read?
haven't read anything long enough to determine that just yet, once i get the bindings changed and figure out keyboard input i'll try reading for a bit and see how it is
i just know its orders of magnitude better than any other text i've ever seen rendered on this headset
ok for keyboard you just run
manifold | azimuth
and that'll take input from a desktop window you can click into to capture mouse/keyboard and turn it into a virtual pointer
or manifold | simular
to beam your keyboard to whatever you're looking at (eye tracking not included it's just a ray coming from your head directly forward lol) from the manifold windowlol, believe it or not the lack of eye tracking support is not a deal-breaker for me
stardust actually does support eye tracking but monado as of yet does not so i cannot test it
i can even replicate transient pointers like visionOS using stardust and the SUIS
well i just mean i don't really have the hardware regardless
fair fair haha
this is, until i get the dbus stuff working, in which case i'm gonna break apart the hardcoded input methods and put them in clients and such and allow mode switching to fix the issue architecturally
so uh, how do i actually go about changing the button?
you'll be able to switch between controllers/hand modes so you could have an extendo-hand mode, telekinesis, etc.
change
controller.grip
to controller.<something else>
was assuming i'd find the typical OpenXR path stuff
tried changing that to menu and it didn't compile
since i'd imagine trigger is already mapped somewhere
trigger is select
uhhh hmm
idk lol
grab: controller.stick_click.is_active() as u32 as f32,
try this
it'll middle click too but whatever
this should do it so you can press the circle pad to move stuff
but can't middle click any flatland panelsunrelated, but it's awesome that cargo just doesn't bother building stuff that hasn't changed
everyone complains about rust compile times but like
it's not that bad when iterating on stuff
i mean, the more i learn about rust the more i like it honestly
i've been reading the rust book and slowly figuring things out
yeah now i just can't grab things
dangit stick click must not map to the circle pad
what the sigma
the joys of old hardware
vive controllers really barely had anything didn't they
hmm ok actually
try this
it should work fine actually, the SUIS can handle stuff like this just fine
i've got a total of 4 buttons and a trackpad lol
what buttons?
you can make the trigger do both grab and select given how the system works
grip, menu, system and trackpad click
thank god i made the SUIS like this
literally no other system would support this shenanigan
well, and trigger of course
yeah, so if you remap grab to trigger it should work given the way that the SUIS does capturing
anything you wanna grab won't do trigger
it'll capture the thing so nothing else detects it as trigger
and vice versa
working great
tried
manifold | simular
and it works, but inputs get stuck if i look away from a windowyeah that's... a bug
it's very complex to fix it
i'd imagine it would be
so i've been focusing on a lot of other stuff before it
understandable
the fact that it works at all is very impressive
you can hold the same key when not looking then look back at it then unpress to fix it
:p
yeah i figured that out lol
it's easy enough to work around
is mouse input a thing?
well yes but actually no
it's... broken
fair enough
and simular's mouse input doesn't get routed anywhere because flatland can't process it
because that's a lot more work i haven't had time to do yet
understandable
azimuth moves the pointer but the input methods don't work in clients for some reason
oh right i think it can't find the input handlers properly yet
:blobcatgoogly:
even the idea of the workflow with this is super cool
what would you say is better about this workflow compared to other XR headsets or compositors
like, the ability to just look at the thing you want to interact with and just instantly interacting with it is crazy
i invented the basis for that back in 2020
it's like a step above focus follows mouse which i can't live without anymore
you could look at a cube and flick your head to rotate it
what about stardust as a whole vs other stuff?
admittedly i've never used any other XR compositors, but so far this feels like the future in a way i didn't imagine it would
cool, thanks for your feedback, customer #1564151354
:p
i mean, combine this with passthrough and hand tracking and i don't even know that i would ever buy another monitor lol
well we have hand tracking
and passthrough technically too
but that one's janky
alright, weird question time. would it be possible to create a window that renders a different thing in each eye?
haven't added custom shaders yet but when that happens, yes
that's also gonna take a while since i am not a graphics programmer
my mind is instantly going to the ability to play 3D content on this without the need for garbage like bigscreen
yes absolutely
totally not something any other headset could do
not like apple can
lol
i even want to make a special virtual controller for games
i've literally had the same for a while actually
having a virtual environment with whatever kind of display you want and whatever kind of controller you want just seems so cool
yeah, it's total freedom since you can virtualize the hardware
not good for everything
like flight sticks are very good stilll
but it can make a lot of stuff obsolete
but like, imagine having a virtual arcade cabinet type thing
oh yeah you could def do that
the argument against it is "why not just have a list of games you tap like on a phone"
like take space harrier for example, this seems like it would translate perfectly
but anyway, thanks for the help (and the amazing software)
thanks! if you wanna make your own stardust apps/objects ping me and i can help you understand how
it's just basic rust
i'll absolutely start making stuff for this once i have a better understanding of rust
i think just trying this has done wonders for my motivation to actually learn rust as well
it's taken me 5 years to get to this point
2 years since i ported it to rust
it's like, almost strange that i have a proper goal of something i want to make
that's the beauty of stardust and XR in general, the end result is tangible because it's a 3D thing
instead of just learning a language for the sake of it
exactly