hh79 / gzdoomvr

Classic Doom/Heretic/Hexen games in stereo 3D and VR; modified version of gzdoom.
GNU General Public License v3.0
125 stars 10 forks source link

Index Controller Right Trigger Issue #46

Closed PizzaDinosaur closed 3 years ago

PizzaDinosaur commented 3 years ago

I have an issue were when I pull the right trigger to fire, it will select a different weapon instead. The currently selected weapon isn't out of ammo when this happens.

ContraVania commented 3 years ago

The way this port works with the Index controllers is really weird, so I suggest removing any unnecessary references to controllers in the bindings. In the gzdoomvr folder find the initialization file gzdoomvr-(your user name).ini and the section "doom.bindings" if you are playing a Doom game. I think the VR controller references begin after line "DPadRight=invnext" so delete the rest of the lines after that one in the doom.bindings section of the file. Now append these new lines to that section instead:

Pad_A=togglemap Pad_B=+jump Pad_Start=pause Pad_Back=menu_main LShoulder=weapprev RShoulder=weapnext LTrigger=+jump RTrigger=+attack RStickDown=+use

Of course, you can set these buttons to do any other task. The LTrigger option wont do anything in-game as it seems to be broken with the Knuckles. LTrigger works as the enter button on the console or in the menus and that is unfortunately all it can do. And though RStickDown is working, RStickUp will NOT work.

Here is how these button names in the ini file correspond to the knuckle controllers: Pad_Start=left controller's button B Pad_Back=right controller's button B LShoulder=squeezing the left controller RShoulder=squeezing the right controller LTrigger=not working! RTrigger=right controller's trigger Pad_A=left controller's button A Pad_B=right controller's button A RStickDown=right stick up (wth?)

Other options that don't work correctly are these (so just delete lines containing these button names from the ini file): Pad_X=left stick click or any left stick direction Pad_Y=right stick click or any right stick direction LThumb=does nothing? RThumb=does nothing?

Also, you may need to go into SteamVR and change the key bindings. Button A on both controllers needs to be set to function as button A and not as grip. Or was it button B for both the controllers? Or maybe it was just something I screwed around with before and forgot I did it in which case this wont apply to you.

And if it helps, here is a snippet of what the last 14 lines of the doom.bindings section of the ini file looks like for me: MWheelLeft=invprev DPadUp=togglemap DPadDown=invuse DPadLeft=invprev DPadRight=invnext Pad_A=togglemap Pad_B=+jump Pad_Start=pause Pad_Back=menu_main LShoulder=weapprev RShoulder=weapnext LTrigger=+jump RTrigger=+attack RStickDown=+use

nullstalgia commented 3 years ago

It looks like the controls in #5 should be looked at more, @ContraVania. Joy4 is the L Trigger. If I get a good config made I'll share.

PizzaDinosaur commented 3 years ago

The way this port works with the Index controllers is really weird, so I suggest removing any unnecessary references to controllers in the bindings. In the gzdoomvr folder find the initialization file gzdoomvr-(your user name).ini and the section "doom.bindings" if you are playing a Doom game. I think the VR controller references begin after line "DPadRight=invnext" so delete the rest of the lines after that one in the doom.bindings section of the file. Now append these new lines to that section instead:

Pad_A=togglemap Pad_B=+jump Pad_Start=pause Pad_Back=menu_main LShoulder=weapprev RShoulder=weapnext LTrigger=+jump RTrigger=+attack RStickDown=+use

Of course, you can set these buttons to do any other task. The LTrigger option wont do anything in-game as it seems to be broken with the Knuckles. LTrigger works as the enter button on the console or in the menus and that is unfortunately all it can do. And though RStickDown is working, RStickUp will NOT work.

Here is how these button names in the ini file correspond to the knuckle controllers: Pad_Start=left controller's button B Pad_Back=right controller's button B LShoulder=squeezing the left controller RShoulder=squeezing the right controller LTrigger=not working! RTrigger=right controller's trigger Pad_A=left controller's button A Pad_B=right controller's button A RStickDown=right stick up (wth?)

Other options that don't work correctly are these (so just delete lines containing these button names from the ini file): Pad_X=left stick click or any left stick direction Pad_Y=right stick click or any right stick direction LThumb=does nothing? RThumb=does nothing?

Also, you may need to go into SteamVR and change the key bindings. Button A on both controllers needs to be set to function as button A and not as grip. Or was it button B for both the controllers? Or maybe it was just something I screwed around with before and forgot I did it in which case this wont apply to you.

And if it helps, here is a snippet of what the last 14 lines of the doom.bindings section of the ini file looks like for me: MWheelLeft=invprev DPadUp=togglemap DPadDown=invuse DPadLeft=invprev DPadRight=invnext Pad_A=togglemap Pad_B=+jump Pad_Start=pause Pad_Back=menu_main LShoulder=weapprev RShoulder=weapnext LTrigger=+jump RTrigger=+attack RStickDown=+use

Sorry for the late reply. So I figured out what it was. Squeezing the controllers was toggling the weapons. I must have been squeezing too hard when pulling the trigger.