I'm having trouble understanding the Oculus Touch controller bindings in Elite Dangerous.
Ignoring the Oculus and Hamburger (Menu/Pause) buttons and the analogue Hat, there are 8 buttons in total between the two controllers (A, B, X, Y, plus left and right versions of both trigger and grip), but there are 12 different values used in the original Elite Touch controller .binds
files.
When I capture my own bindings, I only see the eight binding values for the eight buttons:
Buttons I can capture Buttons only seen in .binds file
--------------------------------- ---------------------------------
Pos_OculusTouch_IndexTriggerLeft OculusTouch_IndexTriggerLeft
Pos_OculusTouch_IndexTriggerRight OculusTouch_IndexTriggerRight
Pos_OculusTouch_HandTriggerLeft OculusTouch_LThumb
Pos_OculusTouch_HandTriggerRight OculusTouch_RThumb
OculusTouch_A OculusTouch_B
OculusTouch_X OculusTouch_Y
I now have custom bindings which work for me, but I want to understand how I was supposed to be using the Oculus Touch controllers, and how I might use those binding values myself.
- On the controller, how do I activate functions bound to
OculusTouch_LThumb
andOculusTouch_RThumb
? - On the controller, how do I activate functions bound to
OculusTouch_IndexTriggerLeft
andOculusTouch_IndexTriggerRight
? - What is the difference between
Pos_OculusTouch_IndexTriggerLeft
andOculusTouch_IndexTriggerLeft
? - What is the difference between
Pos_OculusTouch_IndexTriggerRight
andOculusTouch_IndexTriggerRight
?
Examples
In original Oculus Touch bindings, the Pos_
versions are used for
--------------------------------- ---------------------------------
Pos_OculusTouch_IndexTriggerLeft Pos_OculusTouch_HandTriggerRight
--------------------------------- ---------------------------------
SecondaryFire PrimaryFire
CyclePreviousPage CycleNextPage
CamZoomOut CamZoomIn
MultiCrewSecondaryFire MultiCrewPrimaryFire
StoreCamZoomIn & StoreCamZoomOut !
ExplorationFSSZoomOut ExplorationFSSZoomIn
while the non Pos_
versions are used for
OculusTouch_IndexTriggerLeft OculusTouch_HandTriggerRight
--------------------------------- ---------------------------------
DecreaseSpeedButtonPartial IncreaseSpeedButtonPartial
MoveFreeCamDownAxis MoveFreeCamUpAxis
and the Thumb
keys are bound to
OculusTouch_LThumb OculusTouch_RThumb
--------------------------------- ---------------------------------
UseAlternateFlightValuesToggle ToggleFreeCam
ToggleBuggyTurretButton FixCameraRelativeToggle
MultiCrewToggleMode
FixCameraWorldToggle
Incidentally, it looks like StoreCamZoomOut
on Pos_OculusTouch_HandTriggerRight
is a mistake.
Note, checking suggestions in comments, I can confirm that Elite Dangerous doesn't use any position or orientation information (6DOF) from the Oculus Touch controllers at all. You can use vJoy with elite-vr-cockpit to create a virtual HOTAS, but it's very fiddly (launch vJoy, then elite-vr-cockpit, then Elite in Windows 7 compatibility mode, to force it to run in Steam VR, plus having to reboot after every vJoy configuration change) and it really didn't work well for me.
I also verified that Elite doesn't register a trigger or grip until those buttons are actually pressed - just touching them isn't enough. Nor does Elite have any binding for 'thumb in it's rest position'.
Pos_OculusTouch_IndexTriggerLeft
, neverOculusTouch_IndexTriggerLeft
.