[Bug 903748] New: Lenovo T440s Clickpad Dimensions Quirks missing in Synaptics Driver
http://bugzilla.opensuse.org/show_bug.cgi?id=903748 Bug ID: 903748 Summary: Lenovo T440s Clickpad Dimensions Quirks missing in Synaptics Driver Classification: openSUSE Product: openSUSE Distribution Version: 13.2 Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel Assignee: kernel-maintainers@forge.provo.novell.com Reporter: joschibrauchle@gmx.de QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- For Lenovo Clickpads of the latest T*4* notebook series, the clickpads report wrong Y-dimension values, which result in the relative percentage configuration in /etc/X11/xorg.conf.d/50-synaptics.conf to work incorrectly. For example, /etc/X11/xorg.conf.d/50-synaptics.conf ---------------------------- ... # This option enables the bottom right corner to be a right button on clickpads # and the right and middle top areas to be right / middle buttons on clickpads # with a top button area. # This option is only interpreted by clickpads. Section "InputClass" Identifier "Default clickpad buttons" MatchDriver "synaptics" Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0" Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%" EndSection ---------------------------- causes the Clickpad to have Softbuttons at about y > 50% instead of 82%. On my T440s, the clickpad dimensions SHOULD be: 1024, 5112, 2024, 4832 But /var/log/Xorg.0.log reports these values: ---------------------------- [ 38.878] (II) Using input driver 'synaptics' for 'SynPS/2 Synaptics TouchPad' [ 38.878] (**) SynPS/2 Synaptics TouchPad: always reports core events [ 38.878] (**) Option "Device" "/dev/input/event1" [ 38.913] (II) synaptics: SynPS/2 Synaptics TouchPad: found clickpad property [ 38.913] (--) synaptics: SynPS/2 Synaptics TouchPad: x-axis range 1472 - 5112 (res 42) [ 38.913] (--) synaptics: SynPS/2 Synaptics TouchPad: y-axis range 1408 - 3834 (res 42) [ 38.913] (--) synaptics: SynPS/2 Synaptics TouchPad: pressure range 0 - 255 [ 38.913] (--) synaptics: SynPS/2 Synaptics TouchPad: finger width range 0 - 15 [ 38.913] (--) synaptics: SynPS/2 Synaptics TouchPad: buttons: left double triple [ 38.913] (--) synaptics: SynPS/2 Synaptics TouchPad: Vendor 0x2 Product 0x7 ---------------------------- To me it looks like the kernel driver is missing the corresponding quirks for the T440s, whose clickpad id is LEN0039, see: ---------------------------- # cat /sys/devices/platform/i8042/serio1/firmware_id PNP: LEN0039 PNP0f13 ---------------------------- This ID is missing in the 3.16.6 /driveres/input/mouse/synaptics.c ---------------------------- static const char * const topbuttonpad_pnp_ids[] = { ... } ---------------------------- array, hence no quirks will be applied. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=903748
Joschi Brauchle
It's still missing in the upstream, so it should be reported to the upstream at first.
I reported it to here: http://lists.x.org/archives/xorg/2014-November/056933.html Is this the correct location?
Could you confirmed that just adding thew new pnp id "LEN0039" really fixes the problem? Then I'll submit the fix patch to the upstream, eventually backports it to SUSE tree.
I made the change on my system after installing kernel-source. But I cant seem to get the change working, as I am unsure which module is actually handling the touchpad. Could you point me to directions on how to compile the modified kernel-module (which one will it be actually?) and how to install it? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=903748
Takashi Iwai
(In reply to Takashi Iwai from comment #1)
It's still missing in the upstream, so it should be reported to the upstream at first.
I reported it to here: http://lists.x.org/archives/xorg/2014-November/056933.html Is this the correct location?
Not the best... It should be linux-input ML or such. But better to wait until you really test and confirm the fix.
Could you confirmed that just adding thew new pnp id "LEN0039" really fixes the problem? Then I'll submit the fix patch to the upstream, eventually backports it to SUSE tree.
I made the change on my system after installing kernel-source. But I cant seem to get the change working, as I am unsure which module is actually handling the touchpad.
Could you point me to directions on how to compile the modified kernel-module (which one will it be actually?) and how to install it?
The synaptics (mouse) driver is built-in kernel, no module. You have to build the kernel itself (then likely all running modules too). Maybe it'd be safer to modify CONFIG_LOCALVERSION in .config file to a different suffix so that your own kernel won't conflict with the existing kernels. The place to patch is what you guessed: drivers/input/mouse/synaptics.c. Just add "LEN0039" there, e.g. --- a/drivers/input/mouse/synaptics.c +++ b/drivers/input/mouse/synaptics.c @@ -163,6 +163,7 @@ static const char * const topbuttonpad_pnp_ids[] = { "LEN0036", /* T440 */ "LEN0037", "LEN0038", + "LEN0039", "LEN0041", "LEN0042", /* Yoga */ "LEN0045", -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=903748
Joschi Brauchle
http://bugzilla.opensuse.org/show_bug.cgi?id=903748
--- Comment #5 from Takashi Iwai
http://bugzilla.opensuse.org/show_bug.cgi?id=903748
Takashi Iwai
participants (1)
-
bugzilla_noreply@novell.com