Thread (4 messages) 4 messages, 4 authors, 2016-01-21

Re: ALPS v7 trackpad passthrough to Thinkpad trackpoint

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2015-08-14 00:18:37

Hi Vadim,

On Thu, Aug 13, 2015 at 06:11:22PM -0600, Vadim Klishko wrote:
I am not sure I understand what details you are looking for, but as
far as I know, the only way a command sent to an Alps device from the
host could reach the trackstick is when the touchpad chip is in
pass-thru mode.
We are looking for information on how to detect whether a device
supports pass-through mode and how to activate it. IOW we are looking
for the protocol specs for the PS/2 flavor used by ALPS devices. So far
we had to deduce many of the details itself and it would be great if
manufacturer would share the information with us sol that we could
improve support for the devices in Linux kernel.

Thanks.

----- Original Message ----- 
From: "Dmitry Torokhov" <dmitry.torokhov@gmail.com>
To: "Pali Rohár" <redacted>
Cc: "Ari Entlich" <redacted>; <redacted>; "Masaki Ota" <redacted>; "Tommy Will" <redacted>; "Yunkang Tang" <redacted>; "Qiting Chen" <redacted>; "Qiting Chen" <redacted>; <redacted>
Sent: Thursday, August 13, 2015 4:48 PM
Subject: Re: ALPS v7 trackpad passthrough to Thinkpad trackpoint

quoted
On Thu, Aug 13, 2015 at 01:03:17PM +0200, Pali Rohár wrote:
quoted
On Friday 07 August 2015 12:35:33 Ari Entlich wrote:
quoted
On Fri, Aug 7, 2015 at 10:12 AM, Pali Rohár [off-list ref] wrote:
quoted
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).
At least we do not know how to detect and activate it even if it exists.

Let's add some ALPS people to the thread: maybe they could share some
details on accessing trackpoints behind the touchpads with us.

Thanks.

-- 
Dmitry
-- 
This message and any attachment are confidential. It may also be privileged 
or otherwise protected by work product immunity or other legal rules. If 
you have received it by mistake, please let us know by e-mail reply and 
delete it from your system, you may not copy this message or disclose its 
contents to anyone.
Cirque Corporation
-- 
Dmitry
--
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help