• Sam Lantinga's avatar
    Date: Sun, 18 Apr 2004 16:09:53 -0400 (EDT) · 01baa898
    Sam Lantinga authored
    From: David MacCormack
    Subject: [SDL] Linux joystick patch
    
    I recently got myself a PS2 -> USB converter (a super joybox 5).  It
    accepts 4 PSX/PS2 controllers.  It's implemented as a HID, which is nice
    because it doesn't require its own driver, but the problem is that it's
    implemented as a *single* HID -- that is, it shows up as a single
    joystick with 19 axes, 4 hats, and 48 buttons.  This poses a problem for a
    number of apps which use SDL (stella, fce ultra, zsnes, to name a few) and
    see only a single (physical) joystick even though there are really 4
    (logical) joysticks.  There are a number of these types of devices on the
    market, and I've seen others post messages (in the zsnes forum, for
    example) with the same problem, so I came up with what I think is a pretty
    generic solution.
    
    I patched src/joystick/linux/SDL_sysjoystic.c to include support for
    logical joysticks; basically, it's a static array and supporting functions
    that map a single physical joystick to multiple logical joysticks.  The
    attached patch has the new code.  It's wrapped inside #ifndef
    statements so that you can get the old behavior if you want.
    
    --HG--
    extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%40893
    01baa898
SDL_sysjoystick.c 27.8 KB