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

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

 



On 6 June 2017 at 09:49, Benjamin Tissoires
<benjamin.tissoires@xxxxxxxxxx> 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
>>
>> 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.

what equal results?

based on 4.12-rc4 (ba7b2387ad239a519041f2a2d35a1902bdd03dfb) and this
change, and 'psmouse' loaded with no options, I get:

[    9.151247] psmouse serio1: synaptics: queried max coordinates: x
[..5676], y [..4760]
[    9.181297] psmouse serio1: synaptics: queried min coordinates: x
[1266..], y [1094..]
[    9.181300] psmouse serio1: synaptics: Your touchpad (PNP: LEN0072
PNP0f13) says it can support a different bus. If i2c-hid and hid-rmi
are not used, you might want to try setting
psmouse.synaptics_intertouch to 1 and report this to
linux-input@xxxxxxxxxxxxxxx.
[    9.240307] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.2,
id: 0x1e2b1, caps: 0xf002a3/0x940300/0x12e800/0x400000, board id:
3289, fw id: 2492434
[    9.240310] psmouse serio1: synaptics: serio: Synaptics
pass-through port at isa0060/serio1/input0
[    9.278160] input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
[    9.281307] mousedev: PS/2 mouse device common for all mice

$ xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=11   [slave  pointer  (2)]
⎜   ↳ ImPS/2 Generic Wheel Mouse                id=12   [slave  pointer  (2)]


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