> The advantage of using SDL is that we don't have to worry about how to
> map any joystick to the required xinput layout, because SDL does that
> for us. That advantage only applies to xinput.

Not really true, you can do it other way as well
https://wiki.libsdl.org/MigrationGuide?action=fullsearch&context=180&value=gamecontroller&titlesearch=Titles
this is off course if controller is mapped in SDL (which is happening a lot lately since configurations made in steam bpm are reported directly to SDL2 AFAIK) . 
- you can always request axis/button id by name. 
- you can always load custom simple SDL string mapping for your controller

That is one great thing of SDL, it always works both ways. It provides low (device) and high level (just works) access to everything

with regards,
wh1sper_123


On 28 July 2014 22:58, Vincent Povirk <madewokherd@gmail.com> wrote:
On Mon, Jul 28, 2014 at 12:50 PM, Stefan Dösinger
<stefandoesinger@gmail.com> wrote:
> Using SDL is probably
> fine if there are good arguments that support its use and the
> Wine-internal layering makes sure that xinput_*.dll, dinput
> and winmm see the same joystick configuration. You could think about
> calling SDL from winex11.drv or dinput.

SDL has two different api's, a joystick api and a game controller api.
They roughly correspond to dinput (generic joystick support) and
xinput (support for gamepads with a specific button layout)
respectively.

The advantage of using SDL is that we don't have to worry about how to
map any joystick to the required xinput layout, because SDL does that
for us. That advantage only applies to xinput.