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

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

 



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