linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Cameron Gutman <aicommander@gmail.com>
To: Vicki Pfau <vi@endrift.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>, linux-input@vger.kernel.org
Subject: Re: [PATCH] Input: xpad - Change buttons the D-Pad gets mapped as to BTN_DPAD_*
Date: Sat, 1 Nov 2025 11:23:51 -0500	[thread overview]
Message-ID: <CAAfxzZ1xJC2QRms4RMS54JCbieupt7XmxO6bwZc0vnx0thT4Yg@mail.gmail.com> (raw)
In-Reply-To: <b8933438-fd43-4e58-a26d-0febb27911c4@endrift.com>

On Sat, Nov 1, 2025 at 12:52 AM Vicki Pfau <vi@endrift.com> wrote:
>
>
>
> On 10/31/25 8:18 PM, Cameron Gutman wrote:
> > On Sun, Jul 27, 2025 at 3:23 AM Dmitry Torokhov
> > <dmitry.torokhov@gmail.com> wrote:
> >>
> >> On Tue, Jul 01, 2025 at 08:47:40PM -0700, Vicki Pfau wrote:
> >>> Since dance pads can have both up/down or left/right pressed at the same time,
> >>> by design, they are not suitable for mapping the buttons to axes. Historically,
> >>> this driver mapped the D-pad to BTN_TRIGGER_HAPPY1-4 in these cases, and before
> >>> that as mouse buttons. However, BTN_DPAD_* exists for this and makes far more
> >>> sense than the arbitrary mapping it was before.
> >>>
> >>> Signed-off-by: Vicki Pfau <vi@endrift.com>
> >>
> >> This unfortunately changes existing mappings, but I guess new events are
> >> better than old ones...
> >>
> >> Applied, thank you.
> >
> > Unfortunately this mapping change caused major userspace breakages.
>
> This is unfortunate, however,>
> > I think it needs to be reverted.
> >
> > [0]: https://blog.dwickham.me.uk/why-your-xbox-360-wireless-controllers-d-pad-is-now-wrong-and-how-to-fix-it
> > [1]: https://github.com/libsdl-org/SDL/issues/14324
> > [2]: https://github.com/libsdl-org/SDL/pull/14339
>
> None of these pages suggest reverting the changes. The blog post suggests that these mappings are correct, and that the libraries need to be fixed. Reverting it is mentioned as an absolute last case scenario. The SDL issues say they need more testing, not an outright reversion.

Breaking userspace is the #1 thing we cannot do as Linux kernel developers.

The fact that it broke enough people to get a blog post is reason
enough to revert.

>
> Reverting this is solely reverting to an old, uncomfortable status quo instead of actually fixing the things that broke. If this gets reverted, presumably more stuff will ship this broken code that will break if we ever fix this issue again, instead of things getting progressively fixed.
>

The "broken" 360 wireless mapping has been used since wireless adapter
support was first implemented in 2008 [0].

There's decades of software out there that already has workarounds for
these devices that we must not break.

We can send the proper button codes for new controllers, but I think
we have to leave existing devices alone.

[0]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=99de0912be6f384fc31c8e8e7ba0850d0d670385

> The abandonware being broken is unfortunate, but things like Steam Input exist specifically to work around issues like that.
>

This isn't just breaking abandonware. It's breaking the *latest*
releases of SDL2 and SDL3.

We cannot depend on third-party software like Steam Input to avoid
breaking userspace,
nor can we depend on distros to update their SDL versions in lockstep
with the kernel.

> >
> >>
> >> --
> >> Dmitry
> >>
>
> Vicki
>

  reply	other threads:[~2025-11-01 16:24 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-02  3:47 [PATCH] Input: xpad - Change buttons the D-Pad gets mapped as to BTN_DPAD_* Vicki Pfau
2025-07-27  8:22 ` Dmitry Torokhov
2025-11-01  3:18   ` Cameron Gutman
2025-11-01  5:52     ` Vicki Pfau
2025-11-01 16:23       ` Cameron Gutman [this message]
2025-11-05  5:04         ` Dmitry Torokhov
2025-11-12 14:16           ` Antheas Kapenekakis
2025-11-22  2:23             ` Vicki Pfau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAAfxzZ1xJC2QRms4RMS54JCbieupt7XmxO6bwZc0vnx0thT4Yg@mail.gmail.com \
    --to=aicommander@gmail.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=linux-input@vger.kernel.org \
    --cc=vi@endrift.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).