You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Unfortunately, I'm still having trouble. With 2 devices connected at launch, one seems to be triggering a SDL_CONTROLLERDEVICEREMOVED event immediately, for no apparent reason. If ignored, both devices function normally. However, while disconnecting controller 1 and reconnecting it works fine, attempting to the same with controller 0 results in errors, and I'm unable to reconnect to get any input at all. Is it supposed to be a requirement that controllers be disconnected in descending order? Any thoughts would be appreciated.
On 2013-10-01 18:25:46 +0000, Mitchell Keith Bloch wrote:
Okay, moving on from haptic issues, I've fixed the most critical issue I've found in XInput support:
However, I still seem to be missing SDL_CONTROLLERDEVICEREMOVED events in circumstances which I've failed to narrow down. Iterating through my Joystick pointers and destroying the structures associated with them when they're detected as detached seems to work well enough for now, but it's a hack.
On 2013-10-03 07:58:04 +0000, Sam Lantinga wrote:
Ryan, can you take a look at this for the SDL 2.0.1 release?
Thanks!
On 2013-10-20 19:58:01 +0000, Ryan C. Gordon wrote:
Ok, these patches are now split up and in revision control:
Still looking at the SDL_CONTROLLERDEVICEREMOVED events issue.
--ryan.
On 2013-10-21 04:59:40 +0000, Ryan C. Gordon wrote:
(In reply to Ryan C. Gordon from comment # 3)
Still looking at the SDL_CONTROLLERDEVICEREMOVED events issue.
Can't reproduce this with one X360 controller here, and my second controller just burned itself out. So, hopefully this is good enough for now.
If this is still failing for you with the latest in Mercurial, please reopen this bug.
(And thank you for all the patches in any case!)
--ryan.
On 2013-10-23 18:54:43 +0000, Mitchell Keith Bloch wrote:
Your multiple XBox controllers and haptics fixes seem to work. Not everything is fixed yet, however.
You missed "2. Errors on close/quit." Sorry for glomming the errors together. Without my workaround, I get SDL_SetError("Haptic: Unknown effect type."). I assume this is because the LEFTRIGHT thing was a last minute change. This is my workaround:
case SDL_HAPTIC_LEFTRIGHT:
return &GUID_CustomForce;
default:
Additionally, getting SDL_CONTROLLERDEVICEREMOVED events is still rare. I don't see them the vast majority of the time, and once it provided an incorrect "which" value of 17, for one of three controllers assigned 0, 1, or 2. The CONTROLLERDEVICEADDED events are fine. (I'm not sure how to even generate SDL_CONTROLLERDEVICEREMAPPED for testing purposes.)
On 2013-10-23 20:57:15 +0000, Ryan C. Gordon wrote:
You missed "2. Errors on close/quit." Sorry for glomming the errors
together. Without my workaround, I get SDL_SetError("Haptic: Unknown effect
type."). I assume this is because the LEFTRIGHT thing was a last minute
change. This is my workaround:
Additionally, getting SDL_CONTROLLERDEVICEREMOVED events is still rare. I
don't see them the vast majority of the time, and once it provided an
incorrect "which" value of 17, for one of three controllers assigned 0, 1,
or 2. The CONTROLLERDEVICEADDED events are fine. (I'm not sure how to even
generate SDL_CONTROLLERDEVICEREMAPPED for testing purposes.)
Not getting REMOVED events is a bug. I can't trigger it here, but I'm down to one working X360 controller, and maybe it needs more than one. That being said:
You will get ADDED events for all controllers, so you can decide to open them if you want. You will not get a REMOVED event for a game controller unless you've opened that specific device before it was unplugged. Confusingly, joystick devices (opened or not) will trigger REMOVED events. This difference might be a bug. Is that what's happening to you here?
The "which" value is the joystick index for ADDED events, and its instance id for REMOVED. So getting a different value between adding and removing is possible and likely (but, yes, this is unnecessarily confusing, too).
You won't get REMAPPED events unless you manually change a controller's mapping; they don't happen due to OS-level events. You'll probably never see one. So this part is okay.
--ryan.
On 2013-10-23 21:08:59 +0000, Ryan C. Gordon wrote:
You will get ADDED events for all controllers, so you can decide to open
them if you want. You will not get a REMOVED event for a game controller
unless you've opened that specific device before it was unplugged.
Confusingly, joystick devices (opened or not) will trigger REMOVED events.
Rereading this, I don't think I was clear: the game controller API only reports SDL_CONTROLLERDEVICEREMOVED for devices you SDL_GameControllerOpen()'d. The lower-level joystick API reports SDL_JOYDEVICEREMOVED for all devices, opened or not.
--ryan.
On 2013-11-11 20:37:30 +0000, Mitchell Keith Bloch wrote:
I'm missing REMOVED events for game controllers which I've SDL_GameControllerOpen()'d, unfortunately. Additionally, I'm missing REMOVED events with only one controller, so I'm unsure as to why you're entirely unable to reproduce the bug.
That the "which" values have different semantics for ADDED and REMOVED events is really confusing. Is it safe to assume that it's too late to change the semantics of the which values for REMOVED events?
On 2018-08-06 21:20:22 +0000, Ryan C. Gordon wrote:
Hello, and sorry if you're getting dozens of copies of this message by email.
We are closing out bugs that appear to be abandoned in some form. This can happen for lots of reasons: we couldn't reproduce it, conversation faded out, the bug was noted as fixed in a comment but we forgot to mark it resolved, the report is good but the fix is impractical, we fixed it a long time ago without realizing there was an associated report, etc.
Individually, any of these bugs might have a better resolution (such as WONTFIX or WORKSFORME or INVALID) but we've added a new resolution of ABANDONED to make this easily searchable and make it clear that it's not necessarily unreasonable to revive a given bug report.
So if this bug is still a going concern and you feel it should still be open: please feel free to reopen it! But unless you respond, we'd like to consider these bugs closed, as many of them are several years old and overwhelming our ability to prioritize recent issues.
(please note that hundred of bug reports were sorted through here, so we apologize for any human error. Just reopen the bug in that case!)
Thanks,
--ryan.
The text was updated successfully, but these errors were encountered:
This bug report was migrated from our old Bugzilla tracker.
Reported in version: HG 2.1
Reported for operating system, platform: Windows 7, x86_64
Comments on the original bug report:
On 2013-10-01 09:01:39 +0000, Mitchell Keith Bloch wrote:
On 2013-10-01 18:25:46 +0000, Mitchell Keith Bloch wrote:
On 2013-10-03 07:58:04 +0000, Sam Lantinga wrote:
On 2013-10-20 19:58:01 +0000, Ryan C. Gordon wrote:
On 2013-10-21 04:59:40 +0000, Ryan C. Gordon wrote:
On 2013-10-23 18:54:43 +0000, Mitchell Keith Bloch wrote:
On 2013-10-23 20:57:15 +0000, Ryan C. Gordon wrote:
On 2013-10-23 21:08:59 +0000, Ryan C. Gordon wrote:
On 2013-11-11 20:37:30 +0000, Mitchell Keith Bloch wrote:
On 2018-08-06 21:20:22 +0000, Ryan C. Gordon wrote:
The text was updated successfully, but these errors were encountered: