pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/30249: SDL does not recognize USB joysticks that use nonzero report IDs



>Number:         30249
>Category:       pkg
>Synopsis:       SDL does not recognize USB joysticks that use nonzero report 
>IDs
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon May 16 19:45:00 +0000 2005
>Originator:     Sergey Svishchev
>Release:        3.99.1
>Organization:
>Environment:
>Description:
A "WiseGroup MP-8866" PlayStation-to-USB controller adapter presents itself in 
the following way:

uhidev0: vendor 0x0925 MP-8866 Dual USB Joypad, rev 1.00/2.88, addr 3, iclass 
3/0
uhidev0: 2 report ids
uhid0 at uhidev0 reportid 1: input=6, output=3, feature=0
uhid1 at uhidev0 reportid 2: input=6, output=3, feature=0

The code in SDL_sysjoystick.c assumes that all HID devices use report ID 0 and 
fails to attach this "joystick".
>How-To-Repeat:

>Fix:
--- src/joystick/bsd/SDL_sysjoystick.c.orig
+++ src/joystick/bsd/SDL_sysjoystick.c
@@ -280,7 +281,8 @@ SDL_SYS_JoystickOpen(SDL_Joystick *joy)
        }
 
        rep = &hw->inreport;
-       rep->rid = 0;
+       if (ioctl(fd, USB_GET_REPORT_ID, &rep->rid) < 0)
+               rep->rid = -1; /* XXX */
        if (report_alloc(rep, hw->repdesc, REPORT_INPUT) < 0) {
                goto usberr;
        }




Home | Main Index | Thread Index | Old Index