dantman / elite-vr-cockpit

A SteamVR Overlay providing a virtual throttle and joystick and holographic buttons for ship functions, with custom integration into Elite Dangerous
Other
326 stars 36 forks source link

Axis/some controls not recognized by elite dangerous #176

Closed Hokage3211 closed 4 years ago

Hokage3211 commented 4 years ago

I'm having an issue that kindof baffles me? All controls work except the axis inputs. I've set the game to run on windows 7 mode, and while that prevents my oculus SDK from intrusively booting up (which is good since as a dev I have both installed, and I want it to just run on steamVR) I can navigate menus fine but no axis controls will register themselves in the controls setting screen.

Controllers: Valve Index Headset: Vive (actually pimax but let's call it a vive for all intents and purposes) Version: Most recent as of this post, 0.7.0

I can see if I grip the throttle and move my hand, that the line on it moves up and down, and I can see the vJoy monitor showing my controls moving perfectly fine, and I have enabled the second vjoy device with the same settings as the first. But nothing seems to make the axis controls bind. I believe it also knows when I'm in ship mode as the axis lines show up only when in the cockpit so far, and not in menu mode.

I've tried looking this issue up here but couldn't find any results. Any help or things I need to provide to help? I really want to play elite dangerous with only VR controls.

dantman commented 4 years ago

Some debugging / sanity checks:

Hokage3211 commented 4 years ago

Screenshot_1 This is as much as I could fit on the screen. I also did a fresh install of both elite dangerous, vjoy, and the cockpit program.

I actually can't bind the primary/secondary/pov using the menu when in menu mode and unlocking edit, but I can bind the trackpad click button (which it perceives as [space]) when I physically press it.

I did try pressing the -1 / +1 buttons and while I could see the axis responding on JVoy, it didn't respond at all on ED. I have no idea what you mean galaxy map axis, I apologize I'm new to the game and wanted to play it in VR only since I learned it might be possible.

Hokage3211 commented 4 years ago

I can navigate the menus fine though with the menu mode stuff, so I'm unsure why that works and vJoy is getting input but elite isn't.

dantman commented 4 years ago

Menu mode, holographic buttons, etc are implemented using keyboard button presses, so they aren't affected by vJoy issues. The desired action is pre-defined so the correct key is just read from the bindings file. Axis, joystick buttons, and POVs are implemented using vJoy devices you bind. These are not pre-defined but are a virtual HOTAS device you need to setup bindings to in-game controls like you would, just like you would if you bought a HOTAS and plugged it in.

However it sounds like your issue is that you simply have not configured any bindings.

I actually can't bind the primary/secondary/pov using the menu when in menu mode and unlocking edit, but I can bind the trackpad click button (which it perceives as [space]) when I physically press it.

Trackpad click is not [space], POV outputs on the joystick are mapped to POV1, POV2, and 2 JOY-# buttons. I'm guessing that you are trying to bind something by pressing buttons on your controller, that won't work. In menu mode your controller outputs arrow keys and space to allow you to navigate the menu so pressing buttons won't output cockpit controls. Also primary/secondary/alt/POV controls are on the in-cockpit joystick and throttle not buttons on your controller so pressing buttons on the Index controller won't do anything when you're not grabbing the relevant throttle/joystick. Think of it like having a virtual HOTAS, if you bind the throttle's secondary button to boost then it doesn't matter if you grab the throttle with your left or right hand, pressing the controller's secondary will trigger boost if you're grabbing the throttle.

To bind primary/secondary/alt/POV and axis you need to enable menu mode+edit mode and go to ED's controls menu. Then select the control you want to bind in the ED controls menu and when it asks you to press the key to bind you press buttons on the edit panel in front of you to bind that axis/button to an in-game control. e.g. Select the yaw axis and then press the +1 beside "Yaw" under the joystick section. Select primary fire and then press "Primary" under the joystick section to bind the trigger on the joystick to primary fire. etc.

In the upper right of the panel there is a button with the galaxy map symbol. That will bring you to a separate page with galaxy map bindings. You'll also need to bind those axis in order to use the galaxy map controls.

Hokage3211 commented 4 years ago

bind primary/secondary/alt/POV and axis you need to enable menu mode+edit mode and go to ED's controls menu. Then select the control you want to bind in the ED controls menu and when it asks you to press the key to bind you press buttons on the edit panel in front of you to bind that axis/button to an in-game control. e.g. Select the yaw axis and then press the +1 beside "Yaw" under the joystick section. Select primary fire and then press "Primary" under the joystick section to bind the trigger on the joystick to primary fire. etc.

I've done this, I click the "Yaw Axis" ED remap button, it says move axis, and I try moving the virtual joystick line after grabbing, or pressing the +1 / -1 buttons (on the menu+edit mode window popup) and nothing happens. It didn't work for the other buttons in that window either, of course on button-related inputs, I wasn't expecting a button to map to an axis.

Hokage3211 commented 4 years ago

Basically feels like VJoy is not sending any inputs to ED, or ED won't see them.

Hokage3211 commented 4 years ago

Under steam controller settings both vjoy controllers look like this, is this normal? image

dantman commented 4 years ago

I've never inspected the vJoy device in the Steam big screen interface.

Hokage3211 commented 4 years ago

Okay, I got it, apparently having support for generic gamepads in steamVR controller settings breaks vJoy, making steam not see the controls. Weird?

But small quick issue, it says I have no button mapped for select next target, but it was already mapped by default to T, and the button is red. Any quick ideas? Didn't want to bug you with a second issue report if it was a quick answer.

dantman commented 4 years ago

But small quick issue, it says I have no button mapped for select next target, but it was already mapped by default to T, and the button is red. Any quick ideas?

v0.7 of the overlay cannot read built-in bindings, only Custom bindings, and cannot reload bindings when you change them in-game. So you'll need to set bindings to Custom and then reload either ED or the overlay to get it to reload the bindings.