Re: ALPS v7 trackpad passthrough to Thinkpad trackpoint

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx> 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@xxxxxxxxx

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



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux