• 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
Name
Last commit
Last update
..
audio Loading commit data...
cdrom Loading commit data...
cpuinfo Loading commit data...
endian Loading commit data...
events Loading commit data...
file Loading commit data...
hermes Loading commit data...
joystick Loading commit data...
main Loading commit data...
thread Loading commit data...
timer Loading commit data...
video Loading commit data...
.cvsignore Loading commit data...
Makefile.am Loading commit data...
SDL.c Loading commit data...
SDL_error.c Loading commit data...
SDL_error_c.h Loading commit data...
SDL_fatal.c Loading commit data...
SDL_fatal.h Loading commit data...
SDL_getenv.c Loading commit data...
SDL_loadso.c Loading commit data...