From: Ben Gamari <ben@smart-cactus.org>
To: Peter Hutterer <peter.hutterer@who-t.net>, linux-input@vger.kernel.org
Cc: xorg@lists.freedesktop.org
Subject: Should touchsticks really be relative input devices?
Date: Sat, 28 May 2016 13:31:30 +0200 [thread overview]
Message-ID: <87inxyo1v1.fsf@smart-cactus.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 1989 bytes --]
Hello input people,
Recently I've been bringing up the touchstick hardware in the Dell
Latitude E7470 and have noticed that the existing drivers for this sort
of input device typically expose EV_REL events. Unfortunately,
it seems that exposing the hardware in this way leads to some rather
unfortunate hacks. Namely, you find things like this in the Alps driver,
/*
* The x and y values tend to be quite large, and when used
* alone the trackstick is difficult to use. Scale them down
* to compensate.
*/
x /= 8;
y /= 8;
input_report_rel(dev, REL_X, x);
input_report_rel(dev, REL_Y, -y);
Seeing this made me think back to experiences with touchsticks in
previous Dell laptops, which require an annoyingly high force to begin
movement. This is presumably due to the fact that the bottom few bits of
resolution are being needlessly thrown away.
Unfortunately, it doesn't seem that relative devices currently have much
choice but to scale their input space; it seems there is no way for a
device to expose its "range" to user mode (as you might do with
input_set_abs_params in the case of an absolute device).
Honestly, it's not even clear to me that touchstick devices should
produce relative events. It seems like they are somewhere between a
touchpad and mouse. Like a mouse, there is no absolute mapping between
points in the input device space and the work space. However, like a
touchpad the input space is bounded.
Perhaps these devices should instead produce absolute events and be
marked with INPUT_PROP_POINTING_STICK so that user land code can produce
the expected relative behavior normalized to the range of the device.
Has this been considered in the past?
Alternatively, perhaps relative devices ought to also be able to expose
their range.
Regardless of what happens, it would be great if some guidance for
touchsticks could be added to the "Guidelines" section of the kernel's
Documentation/input/event-codes.txt.
Cheers,
Ben
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]
next reply other threads:[~2016-05-28 11:31 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-28 11:31 Ben Gamari [this message]
2016-05-30 1:39 ` Should touchsticks really be relative input devices? Peter Hutterer
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=87inxyo1v1.fsf@smart-cactus.org \
--to=ben@smart-cactus.org \
--cc=linux-input@vger.kernel.org \
--cc=peter.hutterer@who-t.net \
--cc=xorg@lists.freedesktop.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).