elite-vr-cockpit icon indicating copy to clipboard operation
elite-vr-cockpit copied to clipboard

Oculus touch controller buttons

Open Apok87 opened this issue 4 years ago • 44 comments

Hi,

i would like to ask to deveopers if this behaviour i'll describe is expected and if something could be done to use all functionality at players disposal.

I'm using an Oculus Quest running ED in Windows 7 compatibility mode on a Windows 10 machine using vJoy product and elite-vr-cockpit version 0.8.0

everything is working like a charm giving a great expirience, love to play in VR like that (and i'm gratefull to you for this!) but all phisical button (and thunbstick that could be great for navigating menu) of my oculus touch controllers are disabled and could not be mapped in the controls menu of ED, i suppose that is because of the w7 compatibility mode that oculus not support (main trick to make all this mod working on my headset)

i would like to ask if there is some way to use both functionality of this mod (with both olographic buttons and vr-hotas contro)l and phisical buttons of the controllers that could make this the best experience i could immagine :P

thanks in advance for the response and for the effort ;) Regards

Apok87 avatar Jun 25 '20 12:06 Apok87

forgot to specify, if it can be usefull, that when i try to map a button the elite-vr-cockpit log show the message: control was not bound and there is no default keycombo to fallback to

Thanks again ;)

Apok87 avatar Jun 25 '20 12:06 Apok87

Hi,

I want to thank @dantman for this amazing project. It makes the game absolutely brilliant. They should hire you to make this a native feature!

I'm in the same situation as @Apok87 , I'm playing on the occulus quest and everything is working really well expect the physical buttons. I can't use my trigger buttons to shoot for exemple in the game so I cannot really use the mod.

Feel free to ask any questions, if you have an idea that could help. I'll try several things on my side to try fixing this issue.

Now that I've tried this, there is no way I'm going back using the joysticks on my controlers 👯

Paprika666 avatar Jun 29 '20 15:06 Paprika666

Hi, made another try but my oculus touch controllers button are still messy, I understood the menu switch button to use the menu windows but my (POV)joystick cross 2 or 3 lines each time i touch it, every direction i chose, also if no windows is up the (POV)joystick will change the power option of the ship, on menu button toggled off i can not do anything with my touch controllers button, only y open the main menu (usually used with esc) and x confirm the selection on that menu, i can not even shoot with the trigger while grabbing the virtual joystick, also about the galaxy map i could not be able to set any of the required axis because the game do not recognise any movement, same for the lateral and vertical thrusters of the ship. well maybe my steam ui settings or my control are not correct but my controls are much messed up making the experience impossible to play unfortunatelly @dantman there is some default steam ui settings screen or configuration file to copy in order to correct my touch controllers usage or maybe a documentation explaining how to correctly setup this? thanks in advance!

Apok87 avatar Aug 11 '20 20:08 Apok87

I understood the menu switch button to use the menu windows but my (POV)joystick cross 2 or 3 lines each time i touch it, every direction i chose

That's strange, I don't encounter that kind of issue with the Index's thumbsticks and can't think of anything different that would cause such an issue. For thumbsticks and trackpad presses the overlay works by "holding" down the relevant key until you release the stick/trackpad (i.e. it sends a key-down event to ED when you push the stick up, then when you release the stick sends a key-up event to ED). So in this instance the behaviour where you can navigate through multiple items by holding down the thumbstick is actually provided by Elite Dangerous, it's the same behaviour as when you hold down the arrow keys on your keyboard.

also if no windows is up the (POV)joystick will change the power option of the ship, on menu button toggled off i can not do anything with my touch controllers button

Menu mode must be off to interact with the cockpit. "Menu mode on" is basically an explicit "the main/pause menu is open" declaration, the button only exists because Elite Dangerous does not tell the overlay when the menu is open. If menu mode is on the controllers will use arrow keys / space to navigate the menu. Power options on your ship being affected are because you've got the arrow keys bound to power bindings.

Also when menu mode is off the thumbsticks/buttons will not do anything on their own in the cockpit. In the cockpit you effectively have hands, your controllers are not directly mapped to anything. If you grab a control then and only then will the thumbsticks/buttons on your controller act as buttons belonging to that control. i.e. When you grab the joystick then the thumbstick acts as a POV switch just like if you were grabbing the stick on a HOTAS.

on menu button toggled off i can not do anything with my touch controllers button, only y open the main menu (usually used with esc) and x confirm the selection on that menu,

That doesn't make sense. That sounds like menu mode is still on, because that's the behaviour that menu mode has y=esc, x=space in menu mode.

also about the galaxy map i could not be able to set any of the required axis because the game do not recognise any movement, same for the lateral and vertical thrusters of the ship.

You bound the axis by opening ED's controls menu and with menu mode on + edit mode on you used the buttons on the floating controls panel to bind axis?

there is some default steam ui settings screen or configuration file to copy in order to correct my touch controllers usage or maybe a documentation explaining how to correctly setup this?

There are Oculus bindings registered with the overlay. You should be able to just reset to the default/developer/official bindings in the UI to undo any modifications.

dantman avatar Aug 11 '20 21:08 dantman

Having same problem. I cant bing my triggers and X, Y, A, B buttons. Ghtssing PRIMARY and SECONDARY in edit mode while game's UI requesting for key press do nothing. And pressing triggers also do nothing. Pressing X button just binds [SPACE] key.

Is there no way to use Oculus Touch buttons? Im runing in Win7 comp mode and Axises bind ok.

Battou2501 avatar Aug 18 '20 18:08 Battou2501

In default joystick controll config fire weapons at least works by default. Can you at least tell us what [JOY] buttont are corresponds to what Touch buttons?

Battou2501 avatar Aug 18 '20 18:08 Battou2501

I HAVE FIGURED IT OUT!

To bind Touch buttons you must: 1.Enter Menu mode 2.Go to controls settings 3.Click X on the control you want to bind Touck key so in prompts to press key THEN!!!!! 4.Exit Menu mode!! 5.GRAB virtual joystick on which you want to bind a button 6.Press button while Grabbed! 7.PROFIT!

Battou2501 avatar Aug 18 '20 18:08 Battou2501

Some other troubleshooting steps to try:

  • Open vJoy Monitor and peek through to your monitor while using your controller to press the buttons on the floating controls panel or when interacting with cockpit controls. Be sure to check both device 1 and 2 as controls are spread out between the two. This can help debug whether vJoy is receiving commands from the overlay.
  • Try going to the controller settings in Steam's Big Screen mode and toggling various controller support settings to see if that changes anything.

Pressing X button just binds [SPACE] key.

This really sounds like Menu mode is enabled. X should never output Space unless you have menu mode enabled or are in the galaxy map.

Can you at least tell us what [JOY] buttont are corresponds to what Touch buttons?

I'm not 100% certain about the controller mapping, but these should be the numbers:

  • When grabbing joystick:
    • Trigger: 1
    • A/X: 2
    • B/Y: 3
    • Joystick click: 4
    • Joystick move: HAT1
  • When grabbing throttle:
    • Trigger: 8
    • A/X: 7

dantman avatar Aug 18 '20 18:08 dantman

Some other troubleshooting steps to try:

  • Open vJoy Monitor and peek through to your monitor while using your controller to press the buttons on the floating controls panel or when interacting with cockpit controls. Be sure to check both device 1 and 2 as controls are spread out between the two. This can help debug whether vJoy is receiving commands from the overlay.
  • Try going to the controller settings in Steam's Big Screen mode and toggling various controller support settings to see if that changes anything.

Pressing X button just binds [SPACE] key.

This really sounds like Menu mode is enabled. X should never output Space unless you have menu mode enabled or are in the galaxy map.

Can you at least tell us what [JOY] buttont are corresponds to what Touch buttons?

I'm not 100% certain about the controller mapping, but these should be the numbers:

  • When grabbing joystick:

    • Trigger: 1
    • A/X: 2
    • B/Y: 3
    • Joystick click: 4
    • Joystick move: HAT1
  • When grabbing throttle:

    • Trigger: 8
    • A/X: 7

Its just never mentioned in Guide that I must exit menu mode to bind buttons. On the contrary it says to do binding of axises in menu mode under edit and never told otherwise for buttons.

Battou2501 avatar Aug 18 '20 18:08 Battou2501

I HAVE FIGURED IT OUT!

To bind Touch buttons you must: 1.Enter Menu mode 2.Go to controls settings 3.Click X on the control you want to bind Touck key so in prompts to press key THEN!!!!! 4.Exit Menu mode!! 5.GRAB virtual joystick on which you want to bind a button 6.Press button while Grabbed! 7.PROFIT!

Its just never mentioned in Guide that I must exit menu mode to bind buttons. On the contrary it says to do binding of axises in menu mode under edit and never told otherwise for buttons.

That's one way to do it (kind of like how I did it before I even made menu mode). But that's not actually supposed to be necessary. When you have edit mode enabled and menu mode enabled the edit panel should show up and pressing those buttons (touching them and pulling trigger like you do to toggle edit/menu mode) will emit a button press/axis change that can be used to bind controls.

dantman avatar Aug 18 '20 18:08 dantman

I HAVE FIGURED IT OUT! To bind Touch buttons you must: 1.Enter Menu mode 2.Go to controls settings 3.Click X on the control you want to bind Touck key so in prompts to press key THEN!!!!! 4.Exit Menu mode!! 5.GRAB virtual joystick on which you want to bind a button 6.Press button while Grabbed! 7.PROFIT!

Its just never mentioned in Guide that I must exit menu mode to bind buttons. On the contrary it says to do binding of axises in menu mode under edit and never told otherwise for buttons.

That's one way to do it (kind of like how I did it before I even made menu mode). But that's not actually supposed to be necessary. When you have edit mode enabled and menu mode enabled the edit panel should show up and pressing those buttons (touching them and pulling trigger like you do to toggle edit/menu mode) will emit a button press/axis change that can be used to bind controls.

Nope. Dont work that way. When I press those PRIMARY and SECONARY buttons in edit menu while game UI prompts to press a key then nothing happens. Game do not register pressing those buttons as key press.

Battou2501 avatar Aug 18 '20 18:08 Battou2501

Nope. Dont work that way. When I press those PRIMARY and SECONARY buttons in edit menu while game UI prompts to press a key then nothing happens. Game do not register pressing those buttons as key press.

  • Which version? When I have time I should double check the code to make sure those aren't broken again.
  • The buttons do "look" like they work, right? i.e. They change their appearance when you hover over and "press" them with the trigger.
  • It would also be helpful to use vJoy Monitor to check if any of the buttons do anything. Last time they broke only one or two were broken.

dantman avatar Aug 18 '20 18:08 dantman

Nope. Dont work that way. When I press those PRIMARY and SECONARY buttons in edit menu while game UI prompts to press a key then nothing happens. Game do not register pressing those buttons as key press.

  • Which version? When I have time I should double check the code to make sure those aren't broken again.
  • The buttons do "look" like they work, right? i.e. They change their appearance when you hover over and "press" them with the trigger.
  • It would also be helpful to use vJoy Monitor to check if any of the buttons do anything. Last time they broke only one or two were broken.

0.8.0

Yes, buttons change appearance when I hover over them and press them. But after I remove controller from them they are always red.

Also I cant bind Secondary and Alt on right Joystick using any method.

Tested in vJoy monitor.

Right hand A and B buttons do not register as pressed my vJoy. Also all axises in Cockpit are registered on Device 1 and nothing happens on Device 2.

Battou2501 avatar Aug 18 '20 19:08 Battou2501

Yes, buttons change appearance when I hover over them and press them. But after I remove controller from them they are always red.

That's fine. The buttons stay styled after press because Unity leaves UI buttons focused after they are pressed. The style should disappear if you click a different button.

Also all axises in Cockpit are registered on Device 1 and nothing happens on Device 2.

That's pretty much expected. Most of the stuff on device #2 is galaxy map/FSS axis.

Right hand A and B buttons do not register as pressed my vJoy.

You mean the Secondary/Alt buttons under the Joystick section in the controls panel? Or the A/B buttons when grabbing the joystick? The A/B buttons on the controller won't output anything on their own if you're not grabbing a control.

dantman avatar Aug 18 '20 19:08 dantman

Yes, buttons change appearance when I hover over them and press them. But after I remove controller from them they are always red.

That's fine. The buttons stay styled after press because Unity leaves UI buttons focused after they are pressed. The style should disappear if you click a different button.

Also all axises in Cockpit are registered on Device 1 and nothing happens on Device 2.

That's pretty much expected. Most of the stuff on device #2 is galaxy map/FSS axis.

Right hand A and B buttons do not register as pressed my vJoy.

You mean the Secondary/Alt buttons under the Joystick section in the controls panel? Or the A/B buttons when grabbing the joystick? The A/B buttons on the controller won't output anything on their own if you're not grabbing a control.

I have tried to exit menu mode while game prompts for key press, grab right joystick and press A or B on right controller, but nothing happens. Trigger works, its JOY-1, pressing thumbstick also works, its JOY-4. But A and B dont work, they suppose to be JOY-2 and JOY-3 I suspect. Pressing PRIMARY and SECONDARY buttons in Edit window do nothing.

Battou2501 avatar Aug 18 '20 19:08 Battou2501

Maybe vJoy changed something in new version and now codes that VR Cockpit sends when A and B pressed do not work with vJoy?

Battou2501 avatar Aug 18 '20 19:08 Battou2501

I have tried to exit menu mode while game prompts for key press, grab right joystick and press A or B on right controller, but nothing happens. Trigger works, its JOY-1, pressing thumbstick also works, its JOY-4. But A and B dont work, they suppose to be JOY-2 and JOY-3 I suspect. Pressing PRIMARY and SECONDARY buttons in Edit window do nothing.

Hmmm. That's strange for JOY-1 to work but not the other buttons. It also doesn't really make sense for both the controls themselves and the control panel emit buttons to not work, while other things work.

Could you press the Edit button to bring up the SteamVR Input interface and check what is bound do the A/B buttons under the CockpitControls tabs.

dantman avatar Aug 18 '20 19:08 dantman

Tested with 0.7.0 and I can bind A and B using buttons in Edit window!

BUT!

Now I cant navigate game menus using Thumbsticks on controllers. (((

Battou2501 avatar Aug 18 '20 19:08 Battou2501

I have tried to exit menu mode while game prompts for key press, grab right joystick and press A or B on right controller, but nothing happens. Trigger works, its JOY-1, pressing thumbstick also works, its JOY-4. But A and B dont work, they suppose to be JOY-2 and JOY-3 I suspect. Pressing PRIMARY and SECONDARY buttons in Edit window do nothing.

Hmmm. That's strange for JOY-1 to work but not the other buttons. It also doesn't really make sense for both the controls themselves and the control panel emit buttons to not work, while other things work.

Could you press the Edit button to bring up the SteamVR Input interface and check what is bound do the A/B buttons under the CockpitControls tabs.

YEP! They are do not set in SteamVR Input settings under cockpit controlls!

Battou2501 avatar Aug 18 '20 19:08 Battou2501

Also there was Mirror mode enabled

Battou2501 avatar Aug 18 '20 19:08 Battou2501

Mirror mode is expected. Both controllers should have the same bindings so they behave the same when you grab a control.

dantman avatar Aug 18 '20 19:08 dantman

Mirror mode is expected. Both controllers should have the same bindings so they behave the same when you grab a control.

Nope. With mirror mode it was not working. Disabling mirror mode and binding A and B to Secondary and Alt separately made it possible to use A and B and bind them usin "disable menu mode, grab and press" method. Buttons in Edit window still dont work in 0.8.0 and work in 0.7.0

Battou2501 avatar Aug 18 '20 20:08 Battou2501

Another problem.

While in cockpit in menu mode thumdstick instead of navigating through menus it changes power distribution. 0_o

Battou2501 avatar Aug 18 '20 20:08 Battou2501

And another.

After editing your default Input settings I cant use them again, SteamVR UI just refuse to load developers default layout.

Battou2501 avatar Aug 18 '20 20:08 Battou2501

How can I delete all Input settings for VR Cockpit from SteamVR? So it considered it launched for the first time?

Battou2501 avatar Aug 18 '20 20:08 Battou2501

So I believe Elite VR Cockpit is uplayable on Oculus Touch right now.(((

Battou2501 avatar Aug 18 '20 20:08 Battou2501

Ive finaly managed to create controller layout that almost works. The only thing I cant get tu work in your UI part. I cant switch Tabs in windows in cockpit. How do one enter UI mode? Or when UI controls are used? Pressing Grips do nothing when looking on ship's info windows.

Battou2501 avatar Aug 18 '20 23:08 Battou2501

The only thing I cant get tu work in your UI part. I cant switch Tabs in windows in cockpit. How do one enter UI mode? Or when UI controls are used? Pressing Grips do nothing when looking on ship's info windows.

Currently there are no specialized UI controls for the ship panels. Just bind the POV buttons for the joystick to the UI navigation bindings. You can still use the POV for other things. When looking at a UI panel ED will prefer the UI bindings over whatever else you have bound to the same button. However since Oculus Touch controllers only have one axis you'll have to choose one of the buttons to bind to the Next UI Tab binding.

dantman avatar Aug 19 '20 00:08 dantman

The only thing I cant get tu work in your UI part. I cant switch Tabs in windows in cockpit. How do one enter UI mode? Or when UI controls are used? Pressing Grips do nothing when looking on ship's info windows.

Currently there are no specialized UI controls for the ship panels. Just bind the POV buttons for the joystick to the UI navigation bindings. You can still use the POV for other things. When looking at a UI panel ED will prefer the UI bindings over whatever else you have bound to the same button. However since Oculus Touch controllers only have one axis you'll have to choose one of the buttons to bind to the Next UI Tab binding.

I have tried that. POV-1 works, but POV-2 on the left controller do not registers. vJoy monitor cant see POV-2 movement from left controllers thumbstick.

Battou2501 avatar Aug 19 '20 00:08 Battou2501

I have tried that. POV-1 works, but POV-2 on the left controller do not registers. vJoy monitor cant see POV-2 movement from left controllers thumbstick.

There is no POV2. POV2 is for controllers with two axis (Index, WMR, Vive). The throttle doesn't have POVs currently so the stick won't do anything when grabbing the throttle.

dantman avatar Aug 19 '20 00:08 dantman