From: Siarhei Volkau <lis8215@gmail.com>
To: Paul Cercueil <paul@crapouillou.net>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Artur Rojek <contact@artur-rojek.eu>,
linux-input@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 0/2] Input: adc-joystick: add detachable devices support
Date: Sun, 6 Nov 2022 11:47:31 +0300 [thread overview]
Message-ID: <CAKNVLfaK+XOSzJLurv5pDobvFqS+jAiub4P6n0DgO5RpUnw-hg@mail.gmail.com> (raw)
In-Reply-To: <W1FWKR.P26T1W42X3ND@crapouillou.net>
вс, 6 нояб. 2022 г. в 02:39, Paul Cercueil <paul@crapouillou.net>:
>
> Hi Siarhei,
>
> Le lun. 31 oct. 2022 à 22:01:57 +0300, Siarhei Volkau
> <lis8215@gmail.com> a écrit :
> > For detachable or lock-able joysticks the ADC lanes might
> > be biased to GND or AVDD when the joystick is detached/locked.
> >
> > One such kind of joystick is found in the Ritmix RZX-50 handheld.
> > The joystick is non-detachable, although ADC lane biased to power
> > supply when the "Hold" switch is activated.
>
> But the RZX-50 has no joystick...
Well, actually there's two versions in the wild (google "RZX-50 pictures"):
- with analog joystick and speakers on the back side
- without the joystick and speakers on the front side
I have only the first one at the moment, but I'm looking for another one.
> Or is the d-pad actually wired to the ADC instead of GPIOs?
The D-Pad is another kind of pain there - it's a part of the matrix-keypad
but the pad's row line is shared with the LCD HSYNC signal.
> > To avoid reporting old/broken measurements valid-range is introduced.
> > When measured value is outside valid-range the driver reports
> > safe center position for corresponding axis.
>
> First of all, you already have a "valid range", it is called
> "abs-range"; no need for a new one.
>
> Then, the driver has no business doing events filtering. Notice that
> when you activate the "hold" button and your joystick values go way
> off-range, you still get input events in userspace: that's because the
> kernel is not responsible for enforcing the deadzone, the userspace is.
>
> In your case, you need to update your userspace applications/libraries
> so that when the joystick values are way off-range, the assumed
> position is the center.
Many userspace apps use SDL library to handle joystick input, the SDL
unfortunately hides the fact that the joystick position is out of range -
it does normalization and clamping of the abs-range to an int16_t range.
I see two approaches to do that in userspace:
1. Make a quirk in the SDL library, which affects many types of joysticks
and lead to a fragmentation (special userspace apps for every hardware
isn't the right way in my opinion).
2. Make a special filter app which will filter out invalid joystick events and
route rest to the /dev/input/uinput. Not sure how to hide the real joystick
device from libraries like SDL then.
Both of them don't look like a "silver bullet", however feasible.
>
> Cheers,
> -Paul
>
>
Thank you.
next prev parent reply other threads:[~2022-11-06 8:47 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-31 19:01 [RFC PATCH 0/2] Input: adc-joystick: add detachable devices support Siarhei Volkau
2022-10-31 19:01 ` [RFC PATCH 1/2] dt-bindings: adc-joystick: add valid-range Siarhei Volkau
2022-10-31 22:05 ` Rob Herring
2022-11-01 1:08 ` Rob Herring
2022-11-01 8:07 ` Siarhei Volkau
2022-10-31 19:01 ` [RFC PATCH 2/2] Input: adc-joystick - add detachable devices support Siarhei Volkau
2022-11-05 23:39 ` [RFC PATCH 0/2] Input: adc-joystick: " Paul Cercueil
2022-11-06 8:47 ` Siarhei Volkau [this message]
2022-11-06 15:22 ` Siarhei Volkau
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=CAKNVLfaK+XOSzJLurv5pDobvFqS+jAiub4P6n0DgO5RpUnw-hg@mail.gmail.com \
--to=lis8215@gmail.com \
--cc=contact@artur-rojek.eu \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=paul@crapouillou.net \
--cc=robh+dt@kernel.org \
/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).