amwatson / CitraVR

Port of the leading 3DS emulator, Citra — designed for playing 3DS homebrew and personal game backups in 3D on the go with your Quest.
GNU General Public License v3.0
707 stars 61 forks source link

Bluetooth gamepad inputs broken #52

Closed Ongoingcap23891 closed 7 months ago

Ongoingcap23891 commented 7 months ago

Is there an existing issue for this?

Affected Build(s)

v0.3.1

Description of Issue

LT, RT, L, R, as well as the D-Pad, are entirely non-functional when using a bluetooth gamepad (Xbox Series X/S controller, cannot speak for other controllers) in-game. In the input binding menu, they all work perfectly, but not in-game.

Expected Behavior

All controller inputs are expected to function after being bound.

Reproduction Steps

Connect a bluetooth gamepad and bind the triggers, shoulder buttons, and D-Pad Axes. When preforming an action that requires them in any given game (say, crouching in Super Mario 3D Land, or L-Targeting in The Legend of Zelda Ocarina of Time) they will either do nothing, work normally for only a frame or two, or will become stuck inputting their bound function forever.

Log File

N/A (log files, to my knowledge, do not exist in CitraVR)

System Configuration

HMD: Quest 3

Ongoingcap23891 commented 7 months ago

I apologize in advance if I formatted something incorrectly or was not clear enough.

alucard0712rus commented 7 months ago

I have DualSense and can confirm that D-PAD is not mapped, buttons are swapped and you can't reassign buttons in app. But it works :-)

FoxMcChief commented 7 months ago

I found that when using a switch pro controller, the left stick no longer works correctly. When playing Ocarina of Time, no matter how much I ouch the stick to the edge, Link can only walk.

amwatson commented 7 months ago

Try again on V0.4.0, which released today: I completely rewrote the input mapping to solve some common user issues.

note: due to an idiosyncrasy of Quest's userland, to bind a gamepad button in the Settings, menu, you first have to press "select + start" on the gamepad to make it transition from "Gaze Mode" into normal gamepad mode.

To disable Gaze Mode permanently: in your Quest System Settings, go to Devices > Gamepad, and toggle "Gaze Input Mode" to "Off"

Ongoingcap23891 commented 7 months ago

I completely rewrote the input mapping to solve some common user issues.

you’re a bloody saint