GDK icon indicating copy to clipboard operation
GDK copied to clipboard

GameInput fails to update Gamepad State for Xbox 360 Controller

Open F1r3D3v opened this issue 1 year ago • 10 comments

I encountered an issue with GameInput while using an Xbox 360 Controller connected via a Wireless Receiver Dongle (I haven't tested it with a cable). The problem is that GameInput correctly detects that the gamepad is connected, but it fails to update the gamepad state, resulting in no input being registered. The vibration feature still works properly.

Furthermore, on one of my PCs, after connecting the Xbox 360 Controller just once, GameInput continuously displays that the gamepad is connected, even when it's physically disconnected and the Wireless Receiver Dongle is unplugged from the computer. I have to restart the GameInput Service to start working normally. It's worth noting that the Xbox Series X controller works flawlessly with GameInput.

Any assistance or suggestions on resolving this issue would be greatly appreciated.

F1r3D3v avatar Jul 31 '23 13:07 F1r3D3v

Hi, I have the same issue, except the Xbox 360 controller is wired in my case. The family is correctly detected as GameInputFamilyXbox360 in the GameInputDeviceInfo, connection is detected but no input values appear. Worth noting that the GamePad sample from the GDK samples repositories also appears to suffer from the same issue (gamepad detected but no input received).

mitridas avatar Dec 10 '23 15:12 mitridas

I'm also having this problem but with an 8BitDo Ultimate controller which is detected and labelled by GameInput and assigned GameInputFamilyXbox360. Whether processed as a Gamepad or Controller, none of the buttons will report any changes.

My Xbox Elite Series 2 controller is detected and updates properly as a gamepad, and a Dualsense is detected as a "Controller" but still reports on button presses just fine.

I get the sense that the 360 family handling specifically is bugged or there's some undocumented envrionment configuration issue.

CDMcGwire avatar Dec 28 '23 21:12 CDMcGwire

I'm seeing the same with both Xbox360 controllers and the 8BitDo controller. The gamepad state always returns zeroed out. Trying to access the data via the IGameInputReading::GetControllerAxis/Button/Switch interfaces also returns zeroes for everything, although the count of axes, buttons and switches seems to be reported correctly.

osor-io avatar Jan 20 '24 13:01 osor-io

Same issue for me. I think the conclusion is that we shouldn't use GameInput, right?

frozax avatar Jan 29 '24 18:01 frozax

Same here with a Xbox360 wired gamepad. Strange that it hasn't been fixed in 6 months.

pfeard avatar Feb 02 '24 09:02 pfeard

Having this issue as well. Tried a few different 8bit-do's on XInput (Xbox) mode and they won't budge. Using my 8BitDo Pro 2 on "Android" compatibility mode seems to work as a work around but isn't ideal.

Eoin-ONeill-Yokai avatar Feb 15 '24 00:02 Eoin-ONeill-Yokai

I also have this issue when using an Xbox 360 wired controller on my PC. I have another controller that is a GameInputKindController, which works to read its joystick with reading->GetControllerAxisState(axisCount, data);. For some reason, the Xbox 360 controller input reading does not work.

CanYouCatchMe01 avatar Jul 06 '24 14:07 CanYouCatchMe01

One quick fix in the meantime could be to use both GameInput and XInput, because Xbox 360 controller only works with XInput at the moment.

CanYouCatchMe01 avatar Jul 07 '24 10:07 CanYouCatchMe01

Confirming that GameInput still does not work with 360 controllers. I see 2 additional readings whenever the application loses focus, but they are always empty. All input values are 0, the sequence number is 0, and the IGameInputRawDeviceReport is null.

akbyrd avatar Aug 15 '24 01:08 akbyrd