Game: Xbox One S controller connected through SDL but gives no input on Windows (rc.4); HOS_XINPUT=1 works #726
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/upscaling
beanstalk: approved @ 1697603
beanstalk: approved @ 2c5a62e
beanstalk: approved @ 4fd82b7
beanstalk: approved @ 64d6d09
beanstalk: approved @ 6f91fae
beanstalk: approved @ 70a78f9
beanstalk: approved @ 8015c9a
beanstalk: approved @ 8d361dc
beanstalk: approved @ 9d8356e
beanstalk: approved @ abf2227
beanstalk: approved @ d82f202
beanstalk: approved @ e5f1e40
beanstalk: approved @ ee8ab5f
ci: approved
good first issue
gpu/amd
gpu/igpu
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
needs measurements
platform/linux
platform/macos
platform/steam-deck
platform/windows
preview
priority
critical
priority
high
priority
low
regression
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
testing wanted
ci: approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Longshot#726
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What happens: on v3.0.0-rc.4 (source b784a40c) an Xbox One S controller does nothing in the game, while the keyboard and mouse work. SDL finds the controller and has a mapping for it, but no input from it reaches the game.
System: Windows 11 Pro (build 26300), RTX 5090 (NVIDIA 621.14), Xbox One S Controller (guid 030000005e040000200b000011057200). Steam not running. The game window was in front (the log shows
hid: game window in front).Log (longshot_log.txt):
Checked:
XInputGetState(0)returns connected, with a packet number that keeps rising while it's used.if (!sdl_pads || poll_xinput_env)), so nothing reads it.Workaround:
HOS_XINPUT=1in longshot_env.txt brings the controller back.Notes:
dpup:h0.1, axes a0–a5), not through SDL's XInput/HIDAPI drivers. That may be why SDL reports it connected but gets no input.SDL_app) briefly took the foreground. It was gone during the failing run.543846eb) wasn't tested with the controller, so I can't say whether rc.4 changed this.Possible fix (a suggestion, not tested): fall back to XInput when an SDL controller has sent no input for a while but XInput reports a pad in the same slot.