From: 'Dmitry Torokhov' <dmitry.torokhov@gmail.com>
To: "Holmberg, Hans" <hans.holmberg@intel.com>
Cc: "'devicetree@vger.kernel.org'" <devicetree@vger.kernel.org>,
"'linux-input@vger.kernel.org'" <linux-input@vger.kernel.org>
Subject: Re: [PATCH 0/2] GPIO joystick driver
Date: Wed, 11 Feb 2015 10:06:38 -0800 [thread overview]
Message-ID: <20150211180638.GB29440@dtor-ws> (raw)
In-Reply-To: <4B6D6D87A8FB62428BE0A3E38461A1AB18D6BB34@irsmsx105.ger.corp.intel.com>
On Wed, Feb 11, 2015 at 08:49:16AM +0000, Holmberg, Hans wrote:
> > > > As far as I can tell, there is no way to specify values for ABS-"keys"
> > > > in the device tree binding.
> > >
> > > It may not be present in device tree binding, but the driver does
> > > support it, so I would rather extend the binding than have a brand new
> > driver.
> >
> > All right, I find it a bit like whacking a round peg down a square hole, but I'll
> > head down that path and see where it leads.
> >
>
> This is what I've found:
>
> A digital joystick driver needs to report three states per axis: min,
> max and neutral. The hardware only have two signals per axis(i.e. up
> and down) however. See http://wiki.icomp.de/wiki/DB9-Joystick
>
> This makes gpio-keys pretty much impossible to use for joysticks - as
> the driver only reports abs-events when a button/key is pressed, how
> would the neutral state be reported? (as there is no signal for
> "neutral")
>
> Even if through some hackery the driver would be modified to report a
> special neutral event if all "buttons/keys" for that axis are not
> pressed, what value should be reported? An average of the values for
> that axis? Also, reporting such an implicit neutral event would
> break the behavior of existing abs-reporting instances, right?
You have 2 gpio per axis, and since you can't measure how "far" down the
axis you have moved the driver should only report values -1, 0, 1 per
axis. You start at neutral position, and move right. IRQ for right gpio
is fired and you report EV_ABS/ABS_X/1. Then you start moving to the
left, gpio IRQ fires (you want it to trigger on both edges) and you
report EV_ABS/ABS_X/0. You continue moving to the left and IRQ for left
gpio fires up and you report EV_ABS/ABS_X/-1.
This assumes that you assign EV_ABS/ABS_X and value 1 for right gpio and
EV_ABS/ABS_X and value -1 for left gpio.
Thanks.
--
Dmitry
next prev parent reply other threads:[~2015-02-11 18:06 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-06 9:32 [PATCH 0/2] GPIO joystick driver Hans Holmberg
[not found] ` <1423215122-19947-1-git-send-email-hans.holmberg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-06 9:32 ` [PATCH 1/2] Documentation: Device Tree binding information for gpio-joy driver Hans Holmberg
[not found] ` <1423215122-19947-2-git-send-email-hans.holmberg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-06 10:53 ` Mark Rutland
2015-02-07 7:50 ` Holmberg, Hans
2015-02-06 15:31 ` [PATCH 0/2] GPIO joystick driver Dmitry Torokhov
[not found] ` <1AA6C46C-36D9-4243-9DC5-254A7202D339-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-02-07 7:35 ` Holmberg, Hans
[not found] ` <4B6D6D87A8FB62428BE0A3E38461A1AB18D6AF04-pww93C2UFcwu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-02-07 20:46 ` Dmitry Torokhov
2015-02-09 10:19 ` Holmberg, Hans
2015-02-11 8:49 ` Holmberg, Hans
2015-02-11 18:06 ` 'Dmitry Torokhov' [this message]
2015-02-18 8:42 ` Holmberg, Hans
2015-02-06 9:32 ` [PATCH 2/2] input: gpio-joy - " Hans Holmberg
[not found] ` <1423215122-19947-3-git-send-email-hans.holmberg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-06 11:02 ` Mark Rutland
2015-02-07 7:53 ` Holmberg, Hans
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=20150211180638.GB29440@dtor-ws \
--to=dmitry.torokhov@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=hans.holmberg@intel.com \
--cc=linux-input@vger.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.