linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali.rohar@gmail.com>
To: Ari Entlich <atrigent@gmail.com>
Cc: linux-input@vger.kernel.org
Subject: Re: ALPS v7 trackpad passthrough to Thinkpad trackpoint
Date: Fri, 7 Aug 2015 16:12:14 +0200	[thread overview]
Message-ID: <20150807141214.GD21627@pali> (raw)
In-Reply-To: <CANULwrSnV=JvbUzkq2PCnpyWw3H9gFE1Z+HB-ntBZteF=AUE9g@mail.gmail.com>

On Friday 07 August 2015 09:41:07 Ari Entlich wrote:
> On Fri, Aug 7, 2015 at 9:26 AM, Pali Rohár <pali.rohar@gmail.com> wrote:
> > Hello,
> >
> > ALPS devices does not support pass-throw mode like Synaptics devices.
> 
> Hmm... Then what are all of these references to passthrough in alps.c?
> Does the alps driver use the term "passthrough" in a different way
> than the synaptics driver does?
> 

For some old ALPS devices which use V1 and V2 protocols (with flag
ALPS_PASS) there is something like that. On that devices touchpad is
behind trackpoint HW. But you cannot wait for data or poll for both
devices at same time -- you need to choose if tou want to talk directly
to touchpad (via passthrough mode) or just to trackpoint. I think
because of this limitation ALPS driver implement all logic in one
driver...

Above was for old ALPS devices. New ALPS devices with V3 or V5 protocols
have trackpoint behind touchpad, so normally OS communicate with
touchpad (and not with trackstick like before). But here touchpad sends
data for both touchpad and trackstick events and so OS does not have
normal access to "hidden" trackstick.

There is a way "jump" into passthrough mode and talk directly to
trackpoint. But it is used only for configuring trackstick and currently
it is used to configure trackstick so it send data (via touchpad) in
format which is supported by our ALPS driver.

On the other hand, synaptics driver and devices support full
"encapsulation" or how can I call it of serio PS/2 device and in this
case you can use full set of PS/2 commands directly with trackstick
(behind synaptics touchpad). ALPS devices do not support something like
that.

> Are we 100% sure that alps devices can't do this? Is there any
> possibility that we just don't know how to do it?
> 

Note I just wrote information which I understand from driver source code
and with "playing" with touchpads. There can be some mistakes (so
somebody can correct me), but this is how I understand this situation.

I do not have access and I have never seen any "official" documentation.
I can say, that current ALPS driver in kernel does not support it for
100% sure. But maybe we just missing some information which allows us to
do it.

But in my opinion ALPS firmware which is running in ALPS touchpad does
not support something like full passthrough to trackpoint device like
synaptics. For me it does not make sense to add such function into
firmware, because it already send all needed data for OS to allow
processing both touchpad and trackpoint data.

Questions are: Do we need full access to trackpoint hardware? Do we know
if trackpoint (used by ALPS input solutions) supports configuring speed
or acceleration in hardware? It is really not easier to do it in
software?

> Thanks.
> 
> Ari
> 
> > But our ALPS driver is good and can detect packet from device contains
> > data for touchpad or trackpoint. So ALPS driver create two input devices
> > and send events to userspace via correct input device and userspace see
> > that there are two different devices (touchpad and trackstick) and not
> > one "combined".
> >
> > Looks like that ALPS devices does not support any speed or acceleration
> > configuration, so everything needs to be implemented in software -- in
> > userspace. X drivers already have such configuration ether via xorg.conf
> > or runtime via xinput. Speed or acceleration can be configured per input
> > device, so this is something which you probably want.
> >
> > --
> > Pali Rohár
> > pali.rohar@gmail.com

-- 
Pali Rohár
pali.rohar@gmail.com
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2015-08-07 14:12 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-06 11:07 ALPS v7 trackpad passthrough to Thinkpad trackpoint Ari Entlich
2015-08-07 13:26 ` Pali Rohár
2015-08-07 13:41   ` Ari Entlich
2015-08-07 14:12     ` Pali Rohár [this message]
2015-08-07 16:35       ` Ari Entlich
2015-08-13  6:32         ` Ari Entlich
2015-08-13 11:03         ` Pali Rohár
2015-08-13 22:48           ` Dmitry Torokhov
     [not found]             ` <17D6F4B6F11B44BBB1A2C8EB95A9CF84@cirque.local>
2015-08-14  0:18               ` Dmitry Torokhov
2015-08-14  0:25                 ` Vadim Klishko
2015-08-22 18:33                   ` Ari Entlich
2016-01-21 12:12                   ` Pali Rohár
     [not found]                     ` <497C6C7E7BB2424DB3AC56CD7FF593F6@cirque.local>
2016-01-22  3:38                       ` Ari Entlich
2016-01-22  8:14                         ` Pali Rohár

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=20150807141214.GD21627@pali \
    --to=pali.rohar@gmail.com \
    --cc=atrigent@gmail.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 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).