Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Joystick Initialisation #313

Closed
SDLBugzilla opened this issue Feb 10, 2021 · 0 comments
Closed

Joystick Initialisation #313

SDLBugzilla opened this issue Feb 10, 2021 · 0 comments
Labels
invalid This doesn't seem right

Comments

@SDLBugzilla
Copy link
Collaborator

This bug report was migrated from our old Bugzilla tracker.

Reported in version: 1.2.11
Reported for operating system, platform: Windows (XP), x86

Comments on the original bug report:

On 2007-06-21 15:27:53 +0000, Dave Hillier wrote:

Joystick: Logitech Rumblepad 2 HID

I've recently upgraded to version 1.2.11 from 1.2.8.

Symptom:
SDL_NumJoysticks() returns 0 despite a joystick being attached.

Cause:
E:\libs\SDL-1.2.11\src\joystick\win32\SDL_mmjoystick.c(170):
result = joyGetPosEx(SYS_JoystickID[i], &joyinfo);

returns JOYERR_PARMS

As a work around I've changed line 171 to:
if ( result != JOYERR_UNPLUGGED ) {

I've no idea why this is happening, as the source seems to be relatively unchanged.

On 2007-07-07 21:38:11 +0000, Sam Lantinga wrote:

Everything that I've read indicates that the error code JOYERR_PARMS indicates a joystick not installed. I did notice a comment in MSDN that you should use joyGetPos() instead of joyGetPosEx() for simpler joysticks. If you replace that call with joyGetPos(), does it detect the joystick?

On 2007-07-08 23:50:45 +0000, Ryan C. Gordon wrote:

Bumping some bugs' priorities to P1 for consideration before the 1.2.12 release (though some may not be resolved for 1.2.12).

--ryan.

On 2007-07-15 09:12:27 +0000, Ryan C. Gordon wrote:

I'm going to take a stab at this real quick.

--ryan.

On 2007-07-15 09:19:19 +0000, Sam Lantinga wrote:

BTW, I tested joyGetPos() and joyGetPosEx() and they were equivalent for the joysticks I have. Can you reproduce this bug?(In reply to comment # 3)

I'm going to take a stab at this real quick.

--ryan.

BTW, I tested joyGetPos() and joyGetPosEx() and they were equivalent for the joysticks I have. Can you reproduce this bug?

On 2007-07-15 09:44:41 +0000, Ryan C. Gordon wrote:

I just tried this with a NES controller rewired with a USB chip:

There are 1 joysticks attached
Joystick 0: SealieComputing RetroPad
axes: 2
balls: 0
hats: 0
buttons: 8

...msdn's text says that joyGetPos() is for devices with less than 3 axes, but apparently joyGetPosEx() still works with those.

I tried this on XP Service Pack 2. Perhaps the API is buggy in older OS releases?

Maybe this is just a driver issue on Dave's system? Dave, can you verify that this definitely broke between 1.2.8 and 1.2.11?

--ryan.

On 2007-07-15 09:50:24 +0000, Dave Hillier wrote:

I think this must have been a driver bug, as I can't reproduce this anymore.

On 2007-07-15 09:57:54 +0000, Sam Lantinga wrote:

Okay, thanks for checking, Dave. :)

@SDLBugzilla SDLBugzilla added bug invalid This doesn't seem right labels Feb 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid This doesn't seem right
Projects
None yet
Development

No branches or pull requests

1 participant