RE: Trackpoint on Thinkpad X1 Carbon (5th gen)

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

 



Hi, Dmitry,

About this device, we don't have a way to check whether a device is Trackpoint only or TrackPoint +Touchpad.

Best Regards,
Masaki Ota
-----Original Message-----
From: Dmitry Torokhov [mailto:dmitry.torokhov@xxxxxxxxx] 
Sent: Wednesday, June 07, 2017 2:42 AM
To: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
Cc: 太田 真喜 Masaki Ota <masaki.ota@xxxxxxxxxxx>; Damjan Georgievski <gdamjan@xxxxxxxxx>; linux-input@xxxxxxxxxxxxxxx
Subject: Re: Trackpoint on Thinkpad X1 Carbon (5th gen)

On Tue, Jun 06, 2017 at 09:49:09AM +0200, Benjamin Tissoires wrote:
> Hi,
> 
> On Jun 05 2017 or thereabouts, Masaki Ota wrote:
> > Hi, Damjan,
> > 
> > Latest X1 Carbon system has two TrackPoint venders.
> > One is Alps, the other is Elantech. ( Touchpad is only Synaptics.)
> > 
> > To detect the device, we can send "E1" command by using pass-through.
> > The device response is as below.
> > If Alps, E1 -> 02
> > If Elantech, E1-> 01

Masaki, is there a way to for ALPS driver to determine whether we are dealing with a trackpoint-only or a touchpad + trackpoint combo?

> > 
> > It's a spec, but I have not checked it.
> 
> Thanks. This made me realize that we have a difference between the 
> PS/2 handling of the touchpad and the RMI4 use: in the PS/2 protocol, 
> we mark the pass-through device as such by using SERIO_PS_PSTHRU.
> While in RMI4, we mark it as if it was a platform device, meaning we 
> check on every protocol.
> 
> Damjan, would you mind trying the following change:
> diff --git a/drivers/input/rmi4/rmi_f03.c 
> b/drivers/input/rmi4/rmi_f03.c index 77dad04..ad71a5e 100644
> --- a/drivers/input/rmi4/rmi_f03.c
> +++ b/drivers/input/rmi4/rmi_f03.c
> @@ -146,7 +146,7 @@ static int rmi_f03_register_pt(struct f03_data *f03)
>         if (!serio)
>                 return -ENOMEM;
>  
> -       serio->id.type = SERIO_8042;
> +       serio->id.type = SERIO_PS_PSTHRU;

No, you do not want to do this. psmouse-base has more logic than just selecting protocols to probe keyed off SERIO_PS_PSTHRU.

Also, if we are not seeing ALPS and Elantech devices behind pass-through ports we need to add them to the list of devices probed on pass-through ports anyway. Although, since we do not handle Elantech or ALPS tracksticks any differently than generic mouse (unlike IBM Trackpoints that we know how to control enhanced features), maybe not probing them as ALPS and Elantech will allow us to keep faster probing...

>         serio->write = rmi_f03_pt_write;
>         serio->port_data = f03;
> 
> ---
> 
> If this gives equal results than when using synaptics_intertouch=0, 
> then I guess this will be a good candidate for an rc.
> 
> Cheers,
> Benjamin
> 
> > 
> > By the way, TrackPoint speed might be different between Alps and Elan.
> > And Middle Button Click behavior without a driver is the same as Mouse middle click.
> > 
> > Best Regards,
> > Masaki Ota
> > -----Original Message-----
> > From: Damjan Georgievski [mailto:gdamjan@xxxxxxxxx]
> > Sent: Friday, June 02, 2017 7:47 PM
> > To: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> > Cc: linux-input@xxxxxxxxxxxxxxx; Benjamin Tissoires 
> > <benjamin.tissoires@xxxxxxxxxx>; 太田 真喜 Masaki Ota 
> > <masaki.ota@xxxxxxxxxxx>
> > Subject: Re: Trackpoint on Thinkpad X1 Carbon (5th gen)
> > 
> > On 30 May 2017 at 19:24, Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> wrote:
> > > On Tue, May 23, 2017 at 11:12 AM, Damjan Georgievski <gdamjan@xxxxxxxxx> wrote:
> > >> On 19 May 2017 at 22:12, Damjan Georgievski <gdamjan@xxxxxxxxx> wrote:
> > >>> Hi all,
> > >>> the trackpoint on the  Thinkpad X1 Carbon (5th gen) (model 20HQ) 
> > >>> is recognised as:
> > >>> "ImPS/2 Generic Wheel Mouse" while typically it should be 
> > >>> "TPPS/2 IBM TrackPoint".
> > >>
> > >> the following patch[1] adds the X1 Carbon gen 5 to work with the 
> > >> rmi4_smbus support, there are some issues though:
> > >> - the touchpad _seems_ to be working a bit better (at least 
> > >> that's what I feel like)
> > >> - the trackpoint moves too fast
> > >> - middle click scrolling is not enabled and can't be set with 
> > >> xinput
> > >>
> > >> Can I do someting to improve/test the trackpoint issues, before 
> > >> submiting this for merging?
> > >>
> > >> ps.
> > >> also, when this is aplied the touchpad and trackpoint are 
> > >> recognized as
> > >>> ⎜   ↳ AlpsPS/2 ALPS DualPoint Stick             id=12   [slave  pointer  (2)]
> > >>> ⎜   ↳ AlpsPS/2 ALPS DualPoint TouchPad          id=14   [slave  pointer  (2)]
> > >
> > > This is surprising that device on F03 pass-through port managed to 
> > > respond to ALPS queries...
> > 
> > 
> > actually the touchpad seems to be recognized as
> > ⎜   ↳ Synaptics TM3289-002                      id=12   [slave  pointer  (2)]
> > 
> > and the other two ALPS devices are the trackpoint and its buttons 
> > (which I beleive are connected to the touchpad)
> > 
> > 
> > > Masaki, is there a chance to make ALPS detection more robust here 
> > > as I do not believe we are dealing with ALPS device here.
> > 
> > 
> > Is there anything else I can test?
> > 
> > 
> > 
> > --
> > damjan

--
Dmitry
��.n��������+%������w��{.n�����{��)��^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�

[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