Cc:
Funny you should ask, that’s something else we’re in the process of
working on. We haven’t done the Linux version of this though, so if
someone knows how to get that info, that would be awesome.
You are always working on what people are asking… funny
That was me, and I threw my thoughts up at
nathancoulson.com/proj_conndb.php. I wanted a cross platform is for
joysticks, but other then the page, I have not done any further work on it.
Yeah, now I remember
Cc:
I hope that the final implementation of this doesn’t make the same
assumption as one of the suggestions in the thread time ago which was
that all controllers were similar to the 360 or PS3 ones. Indeed many
are clones of those (and especially the latter), but there are also
many controllers that don’t follow this. Controllers with 6 face
buttons instead of 4 come to mind.
I’d rather have hints as to what roles does each button have in
different contexts (which may vary even depending on the system region
- OK and Cancel buttons being swapped, anyone?).
Some examples that come to mind for buttons:
- MAIN
- SECONDARY
- SPECIAL1
- SPECIAL2
- OK
- CANCEL
- PAUSE
For axes:
- MOVE_X
- MOVE_Y
- AIM_X
- AIM_Y
For example, on a 360 controller, MAIN would be mapped to A, SECONDARY
to X, SPECIAL1 to B, SPECIAL2 to Y, OK to A, CANCEL to B, PAUSE to
Start, MOVE_X/Y to the left stick and AIM_X/Y to the right stick. Does
this make any sense?
If I had the time I’d make a full-blown library that would take care
of all user input (including input with keyboard, mouse, joysticks,
touch, etc.) and even allow assignments of complex controls (e.g.
mapping multiple inputs to the same action, or making use of chording
to allow some specific input, etc.). This is something that would take
lots of time though (which is why I haven’t bothered with it yet)
and is outside the scope of this discussion, though.
This is what I have in mind at first.
But for now I want to make something simpler, with only the key
names/labels, number off buttons, etc.
Of course would be possible to expand with this info in the future. But I
think I need to start simple.> From: Sam Lantinga
To: SDL Development List
Date: Tue, 13 Nov 2012 17:23:38 -0800
Subject: Re: [SDL] Joystick Identification [2]
From: sik.the.hedgehog@gmail.com (Sik the hedgehog)
To: SDL Development List
Date: Tue, 13 Nov 2012 23:01:08 -0300
Subject: Re: [SDL] Joystick Identification [2]
Date: Wed, 14 Nov 2012 01:59:46 -0300
From: Sik the hedgehog <sik.the.hedgehog at gmail.com>
To: SDL Development List
Subject: Re: [SDL] Joystick Identification [2]
Message-ID:
<CAEyBR+WwvaRRQ3aHesQ_
BSvmkW30xCZ-ND=8chBhW5ZksAVnww at mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
The OK/Cancel button thing is not as simple as it seems.
The problem strikes in that the roles for OK and Cancel buttons in
menus for the rhombus 4-button layout is different for Asia and
outside it. In Asia, the right button is OK and the bottom button is
Cancel. Outside Asia it’s the other way. This becomes troublesome
though because in-game actions are still mapped the same way in both
cases (bottom button is the main action, left button is the secondary
action, etc.), so swapping the button IDs will just make things worse
instead of fixing the problem.
It’s due to stuff like this that we need the concept of roles, because
it’s possible that a single button is performing multiple roles at the
same time.
I would just ignore this mess that sony caused and pick one.
Nintendo and Microsoft made entirely clear on which button confirms and
which button cancels.
For both, it is always the button A for A-dvance and B for B-ack, no matter
the position.
Microsoft even colored their controllers to make that more intuitive, don’t
know why nintendo didnt do that with wii like they did on GameCube.
The ocidental mappings for Sony controllers doesnt make sense, Circle
resembles “Right, OK, Go!, Advance”, and X “Cancel, go back, etc”.
Why the hell they swapped that in this side of the world?
[]s
Rodrigo Rocha