VR Controller support is missing. Please add in addition to 3D mouse

I bought FS2020 because of VR. But it turned out to be a joke so I want my money back.

1 Like

Not supported vr controls doesn’t make vr mode a joke.
It may not meet someone’s requirements, but for others it is pretty useable and even enjoyable.

@DarkNick1, I believe that it works for people enriching their MSFS experience with VR, but it is a joke for many people coming to MSFS from other VR games.

I am, too, waiting for full VR controllers support to purchase the game.

3 Likes

how is it not a joke when “doing VR right” took asobo 1 year, and you cant even use VR controllers. so it will take them another year to “do VR right again”, and implement controllers, and there will be another major issue with it, and it will take another year to “do it even better” and fix that

i have a problem with a MOUSE being implemented first in VR

@MrJewb Your claims are not right. VR was playable (with bit stuttering sometimes, in bigger cities ~20-25 fps, but still - nothing terrible) since it was released - I played since beginning of January. Now it is 8 months since launch and it is hugely improved. Didn’t you thought that maybe they are not hurrying up with VR controllers, because they are working to make it good? And btw. do you have any idea how software development process works? Having some resources / people available, having to make priorities? Complexity of software, different hardware, etc.? :slight_smile:

And mouse was implemented before VR, first MSFS “flat” was made and released. It had mouse in cockpit. So not much if any changes were needed to bring it to VR vs implementing VR controllers from scratch. :slight_smile:

All in all, nobody forces anyone to buy before all features buyer require are implemented :slight_smile: Creators didn’t lied claiming that something is already implemented, but it weren’t :slight_smile:

1 Like

Well you just made my point for me. Their definition of “doing VR right” is to take a 2D mouse and slap it into 3D with 3 lines of code. I bought the game to support the developers when they said they were going to implement VR and took them a year to “do it right”. I’m just pointing out that it wasn’t really done as right as it could’ve been. How on earth do you release “VR” without VR controllers? Is this a joke?

1 Like

I think the main benefit of adding VR controller support to this is that the sim can be run in a different room to where the computer is located - and not to replace a mouse or joystick, but because there is no mouse or joystick within reach. Obviously a joystick and mouse is better, but that presumes you can reach them, as for VR that uses airlink’s this allows VR to be done in any room of the house regardless of where ones computer is setup.

If you have a wireless headset, that is.

1 Like

What nearly all posts in this topic are about is:
→ controlling the switches, knobs, levers, etc… as if you’d action them directly with you hand.

I’ve no doubt some/many/nearly everyone? are wanting the VR controller to replace the need for physical controllers, allowing to “play” flightsim in the living room for example like you’d play HLA, but I believe the video in the 1st message of this topic is clearly showing the need has nothing to do whatsoever to that at all.

I’m upvoting the subject for ‘VR controller support’ more than a desire to ‘feel clicks of knobs’, for if hand controller support is added that is useful as well, but walking before running would be actually getting controller support which does not require mouse or joysticks. Consider the original post and mine as mutually exclusive in the context of voting for development and introduction seems… unnecessary?
I’d love it if they shipped haptic feedback gloves (so long as they are nomex flight gloves!) for the deep immersion but it’s a bit of an overreach I think.

2 Likes

Well according to the updated roadmap it seems we can finally expect to get VR controller support by sim update 7 so excited to fly this simulator with VR controllers as I find it disturbing to use a 3d mouse.

Yes indeed. Good news :slight_smile:

By the way, VR controller input mapping is in the game deliverables since at least v1.16.2.

The files are located in the app “Input” subfolder (not in the “Official” folder). For example:

HP_Mixed_Reality_Controller_Left.xml
<?xml version="1.0" encoding="utf-8"?>
<DefaulftInput Primary="1">
  <Version Num="1787" />
  <Device DeviceName="HP Mixed Reality Controller Left" GUID="43b7baed-76bb-4266-b745-be5671c8b073" ProductID="2706">
    <Axes>
      <Axis AxisName="X" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="Y" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="SliderX" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="SliderY" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="Z" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="rX" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="rY" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="rZ" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
    </Axes>
    <Context ContextName="ALWAYS">
      <Action ActionName="KEY_VR_MENU" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="Y_CLICK">27</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_RESET_VIEW" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="X_CLICK">25</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_SELECT" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="TRIGGER_VALUE">24</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_SWITCH_PROXIMITY_RAYCAST" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="SQUEEZE_VALUE">9</KEY>
        </Primary>
      </Action>
    </Context>
  </Device>
</DefaulftInput>
HTC_Vive_Controller_Left.xml
<?xml version="1.0" encoding="utf-8"?>
<DefaulftInput Primary="1">
  <Version Num="1787" />
  <Device DeviceName="HTC Vive Controller Left" GUID="43b7baed-76bb-4266-b745-be5671c8b073" ProductID="2706">
    <Axes>
      <Axis AxisName="X" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="Y" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="SliderX" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="SliderY" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="Z" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="rX" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="rY" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="rZ" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
    </Axes>
    <Context ContextName="ALWAYS">
      <Action ActionName="KEY_VR_DISPLAY_TOOLTIP" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="TRACKPAD_UP_CLICK">32</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_MENU" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="MENU_CLICK">5</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_RESET_VIEW" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="TRACKPAD_DOWN_CLICK">31</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_SELECT" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="TRIGGER_CLICK">22</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_SWITCH_PROXIMITY_RAYCAST" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="SQUEEZE_CLICK">7</KEY>
        </Primary>
      </Action>
    </Context>
  </Device>
</DefaulftInput>
Oculus_touch_Controller_Left.xml
<?xml version="1.0" encoding="utf-8"?>
<DefaulftInput Primary="1">
  <Version Num="1787" />
  <Device DeviceName="Oculus touch Controller Left" GUID="43b7baed-76bb-4266-b745-be5671c8b073" ProductID="2706">
    <Axes>
      <Axis AxisName="X" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="Y" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="SliderX" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="SliderY" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="Z" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="rX" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="rY" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="rZ" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
    </Axes>
    <Context ContextName="ALWAYS">
      <Action ActionName="KEY_VR_RESET_VIEW" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="X_CLICK">25</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_SELECT" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="TRIGGER_VALUE">24</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_SWITCH_PROXIMITY_RAYCAST" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="SQUEEZE_VALUE">9</KEY>
        </Primary>
      </Action>
    </Context>
    <Context ContextName="MODE_PAUSE">
      <Action ActionName="KEY_PAUSE_TOGGLE" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="Y_CLICK">27</KEY>
        </Primary>
      </Action>
    </Context>
  </Device>
</DefaulftInput>
Valve_Index_Controller_Left.xml
<?xml version="1.0" encoding="utf-8"?>
<DefaulftInput Primary="1">
  <Version Num="1787" />
  <Device DeviceName="Valve Index Controller Left" GUID="43b7baed-76bb-4266-b745-be5671c8b073" ProductID="2706">
    <Axes>
      <Axis AxisName="X" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="Y" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="SliderX" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="SliderY" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="Z" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="rX" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="rY" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="rZ" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
    </Axes>
    <Context ContextName="ALWAYS">
      <Action ActionName="KEY_VR_MENU" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="B_CLICK">2</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_RESET_VIEW" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="A_CLICK">0</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_SELECT" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="TRIGGER_CLICK">22</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_SWITCH_PROXIMITY_RAYCAST" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="SQUEEZE_FORCE">8</KEY>
        </Primary>
      </Action>
    </Context>
  </Device>
</DefaulftInput>
WMR_Controller_Left.xml
<?xml version="1.0" encoding="utf-8"?>
<DefaulftInput Primary="1">
  <Version Num="1787" />
  <Device DeviceName="WMR Controller Left" GUID="43b7baed-76bb-4266-b745-be5671c8b073" ProductID="2706">
    <Axes>
      <Axis AxisName="X" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="Y" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="SliderX" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="SliderY" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="Z" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="rX" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="rY" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
      <Axis AxisName="rZ" AxisSensitivy="0" AxisSensitivyMinus="0" AxisDeadZone="0" AxisOutDeadZone="0" AxisNeutral="0" AxisResponseRate="-1" />
    </Axes>
    <Context ContextName="ALWAYS">
      <Action ActionName="KEY_VR_DISPLAY_TOOLTIP" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="TRACKPAD_UP_CLICK">32</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_MENU" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="MENU_CLICK">5</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_RESET_VIEW" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="TRACKPAD_DOWN_CLICK">31</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_SELECT" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="TRIGGER_VALUE">24</KEY>
        </Primary>
      </Action>
      <Action ActionName="KEY_VR_SWITCH_PROXIMITY_RAYCAST" Flag="2" ValueEvent="0">
        <Primary>
          <KEY Information="SQUEEZE_CLICK">7</KEY>
        </Primary>
      </Action>
    </Context>
  </Device>
</DefaulftInput>

I’ll let you see the “right” variants!

I like the look of the “raycast” binding. That suggests similar to XP in terms of being able to “point” at the control you wish to manipulate.

Can anyone tell me (as I haven’t tried and don’t have a chance right now) - can you use the mouse to control the yoke by manual means? What I mean by that is not e.g. binding ailerons to mouse x-axis in the settings but by click-and-drag on the yoke when in the cockpit?

Please tell me there is hand tracking mention in the Oculus file :drooling_face:

Pimax headsets also have hand tracking so I hope they will consider this option as well. Perfect scenario for me is using a yoke and throttle along side using hand tracking for knobs and buttons in the flight deck.

It looks like the top post is due for another update. If what internet says is true, we should see hand tracking released mid-November!

1 Like

Why? What does internet say? As much as I’d love to see hand tracking, I haven’t seen a single mainstream PC VR HMD that has it implemented and working in any mainstream PC game. Why should we expect it in MSFS? I think you’re just setting yourself for disappointment. I suspect the hardware isn’t build for this and camera passthrough that gets to PC for processing isn’t present, or is too bad to use. That’s why the only mainstream HMD that has hand tracking (in theory, though it wasn’t widely accepted) is Oculus Quest, because it has on-board CPU that has access to cameras feed. Anyway, I’d love to be mistaken, but I don’t expect hand-tracking without external cameras etc. any time soon on PCVR. I’m afraid HMD has to be designed with hand tracking in mind - maybe in near future…

1 Like

Although i haven’t personally used it, i hear there’s a 737 mod for Xplane that implements VR controllers really well. Maybe not VTOL VR level interaction but a certain step in the right direction. So the people that gush over this mod say.

But that’s like literally it as far as i’m concerned. DCS does have vr controller support but it’s janky…