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