All of lore.kernel.org
 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, dmitry.torokhov@gmail.com
Subject: Re: ALPS v7 trackpad passthrough to Thinkpad trackpoint
Date: Thu, 13 Aug 2015 13:03:17 +0200	[thread overview]
Message-ID: <20150813110317.GC20040@pali> (raw)
In-Reply-To: <CANULwrTm0XEdKfC7Shx5VLpvHmkzRt5mOUjbFSm8ck86Ci=iKQ@mail.gmail.com>

On Friday 07 August 2015 12:35:33 Ari Entlich wrote:
> On Fri, Aug 7, 2015 at 10:12 AM, Pali Rohár <pali.rohar@gmail.com> wrote:
> > 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.
> 
> It looks to me like the Synaptics passthrough is implemented primarily
> via the ability to write directly to the trackpoint. Events coming
> from the trackpoint are implemented similarly to the ALPS driver - by
> redirecting trackpoint events to the second device which the driver
> creates for the trackpoint.
> 

No, passthrough for ALPS and Synaptics differ. Synaptics driver exports
full serio PS/2 bus on which can be attached psmouse.ko driver with full
mouse detection (or any other serio driver) and so there can be full
TPPS/2 trackpoint.c protocol driver.

ALPS allows us for *some* protocol version passthrough data directly to
touchpad (or trackpoint) device. There is no support to exporting full
serio bus with PS/2 access to it (like for Synaptics hardware).

> > 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.
> 
> The issue isn't so much getting information from the trackpoint but
> sending information TO it. The trackpoint driver is able to send

But because we do not have direct access to serio PS/2 bus to trackpoint
hardware, we cannot use trackpoint.c driver and so trackpoint.c code is
for ALPS devices useless.

> special commands to the trackpoint to modify its behavior. As far as I
> can tell, this is pretty much the only thing it does. See
> drivers/input/mouse/trackpoint.c for details.
> 
> > 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?
> 
> As I mentioned in my first email, I'm aware that mouse behavior can be
> modified in userspace. However, that's not what I'm asking about. I
> want to have the same capabilities with this device as I had with the
> old one, if at all possible.

Ok, which are those capabilities?

> And anyways, there are some things that
> the trackpoint driver can do that cannot be done in software.
> 

What cannot be done in software? I still think that trackpoint is
"stupid" HW with firmware which doing all that magic. And I do not see
reason why something implement in firmware software cannot be done in
userspace application (or in kernel driver if it makes sense).

> Ari
> 
> > --
> > 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

  parent reply	other threads:[~2015-08-13 11:03 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
2015-08-07 16:35       ` Ari Entlich
2015-08-13  6:32         ` Ari Entlich
2015-08-13 11:03         ` Pali Rohár [this message]
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=20150813110317.GC20040@pali \
    --to=pali.rohar@gmail.com \
    --cc=atrigent@gmail.com \
    --cc=dmitry.torokhov@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 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.