← Back to team overview

kernel-packages team mailing list archive

[Bug 1414930] Re: Buttons of Synaptics trackpad doesn't work

 

Launchpad has imported 12 comments from the remote bug at
https://bugs.freedesktop.org/show_bug.cgi?id=88609.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2015-01-20T04:02:54+00:00 aronparsons wrote:

I received a Lenovo X1 Carbon 3rd generation today, the one with the
resurrection of the physical Trackpoint buttons.  However, there is
some broken behavior related to those much loved buttons on this laptop
running an up-to-date Fedora 21.

The clickpad buttons seem to work fine, however I would like to achieve
a configuration that disables the touchpad and only use the Trackpoint
and the physical buttons as I have on all my Thinkpads in the past.
There is an option in the BIOS to disable the touchpad, but it seems to
be completely ignored under Linux; with it set to off in the BIOS, the
touchpad is still fully functional.  This is likely related to the fact
that the physical buttons generate events on the touchpad's event device
(/dev/input/event4 in this case) and not for the Trackpoint's event
device (/dev/input/event12), so the device can't really be disabled.

So here are the various scenarios regarding the physical buttons and how
they are failing at the moment:

- Dragging does not work at all with the physical left button with either
the evdev or synaptics driver.  Dragging with the clickpad's left button
is fine.

- Middle click does not register at all (from viewing evtest output), which
I assume means it's an issue at the kernel layer not registering the event.
Neither the physical buttons or the clickpad generate a middle click event
using either the evdev or synaptics drivers.

- With the synaptics driver, the buttons are picked up as up/down buttons.
Setting UpDownScrolling=off changes the behavior as described in the man
page (double-click/button 2).  Using xinput, I can force the right-button
to behave correctly, but the left-button will not change its behavior (it
is always a double-click).  This makes it unusable with the synaptics
driver.

relevant software packages:
kernel-3.17.8-300.fc21.x86_64
xorg-x11-drv-evdev-2.9.0-3.fc21.x86_64
xorg-x11-drv-synaptics-1.8.0-9.fc21.x86_64
xorg-x11-server-Xorg-1.16.2.901-1.fc21.x86_64

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1414930/comments/0

------------------------------------------------------------------------
On 2015-01-20T04:06:32+00:00 aronparsons wrote:

Here is the evemu-record output.  The BTN_0 and BTN_1 events are from
the left and right physical buttons.  The BTN_LEFT events are from the
clickpad.  No events are generated using the middle physical button.

[root@x1 ~]# evemu-record
Available devices:
/dev/input/event0:	Lid Switch
/dev/input/event1:	Sleep Button
/dev/input/event2:	Power Button
/dev/input/event3:	AT Translated Set 2 keyboard
/dev/input/event4:	Video Bus
/dev/input/event5:	SynPS/2 Synaptics TouchPad
/dev/input/event6:	Integrated Camera
/dev/input/event7:	HDA Intel HDMI HDMI/DP,pcm=3
/dev/input/event8:	HDA Intel HDMI HDMI/DP,pcm=7
/dev/input/event9:	HDA Intel HDMI HDMI/DP,pcm=8
/dev/input/event10:	HDA Intel PCH Mic
/dev/input/event11:	HDA Intel PCH Headphone
/dev/input/event12:	TPPS/2 IBM TrackPoint
Select the device event number [0-12]: 5
# EVEMU 1.2
# Input device name: "SynPS/2 Synaptics TouchPad"
# Input device ID: bus 0x11 vendor 0x02 product 0x07 version 0x1b1
# Supported events:
#   Event type 0 (EV_SYN)
#     Event code 0 (SYN_REPORT)
#     Event code 1 (SYN_CONFIG)
#     Event code 2 (SYN_MT_REPORT)
#     Event code 3 (SYN_DROPPED)
#     Event code 4 ((null))
#     Event code 5 ((null))
#     Event code 6 ((null))
#     Event code 7 ((null))
#     Event code 8 ((null))
#     Event code 9 ((null))
#     Event code 10 ((null))
#     Event code 11 ((null))
#     Event code 12 ((null))
#     Event code 13 ((null))
#     Event code 14 ((null))
#   Event type 1 (EV_KEY)
#     Event code 256 (BTN_0)
#     Event code 257 (BTN_1)
#     Event code 258 (BTN_2)
#     Event code 272 (BTN_LEFT)
#     Event code 325 (BTN_TOOL_FINGER)
#     Event code 328 (BTN_TOOL_QUINTTAP)
#     Event code 330 (BTN_TOUCH)
#     Event code 333 (BTN_TOOL_DOUBLETAP)
#     Event code 334 (BTN_TOOL_TRIPLETAP)
#     Event code 335 (BTN_TOOL_QUADTAP)
#   Event type 3 (EV_ABS)
#     Event code 0 (ABS_X)
#       Value   1607
#       Min     1266
#       Max     5676
#       Fuzz       0
#       Flat       0
#       Resolution 45
#     Event code 1 (ABS_Y)
#       Value   2032
#       Min     1096
#       Max     4758
#       Fuzz       0
#       Flat       0
#       Resolution 68
#     Event code 24 (ABS_PRESSURE)
#       Value      0
#       Min        0
#       Max      255
#       Fuzz       0
#       Flat       0
#       Resolution 0
#     Event code 28 (ABS_TOOL_WIDTH)
#       Value      0
#       Min        0
#       Max       15
#       Fuzz       0
#       Flat       0
#       Resolution 0
#     Event code 47 (ABS_MT_SLOT)
#       Value      0
#       Min        0
#       Max        1
#       Fuzz       0
#       Flat       0
#       Resolution 0
#     Event code 53 (ABS_MT_POSITION_X)
#       Value      0
#       Min     1266
#       Max     5676
#       Fuzz       0
#       Flat       0
#       Resolution 45
#     Event code 54 (ABS_MT_POSITION_Y)
#       Value      0
#       Min     1096
#       Max     4758
#       Fuzz       0
#       Flat       0
#       Resolution 68
#     Event code 57 (ABS_MT_TRACKING_ID)
#       Value      0
#       Min        0
#       Max    65535
#       Fuzz       0
#       Flat       0
#       Resolution 0
#     Event code 58 (ABS_MT_PRESSURE)
#       Value      0
#       Min        0
#       Max      255
#       Fuzz       0
#       Flat       0
#       Resolution 0
# Properties:
#   Property  type 0 (INPUT_PROP_POINTER)
#   Property  type 2 (INPUT_PROP_BUTTONPAD)
#   Property  type 4 (INPUT_PROP_TOPBUTTONPAD)
N: SynPS/2 Synaptics TouchPad
I: 0011 0002 0007 01b1
P: 15 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 07 00 01 00 00 00 00 00
B: 01 20 e5 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 00 00 00 00 00 00 00 00
B: 03 03 00 00 11 00 80 60 06
B: 04 00 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 14 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
A: 00 1266 5676 0 0 45
A: 01 1096 4758 0 0 68
A: 18 0 255 0 0 0
A: 1c 0 15 0 0 0
A: 2f 0 1 0 0 0
A: 35 1266 5676 0 0 45
A: 36 1096 4758 0 0 68
A: 39 0 65535 0 0 0
A: 3a 0 255 0 0 0
################################
#      Waiting for events      #
################################
E: 0.000000 0001 0100 0001	# EV_KEY / BTN_0                1
E: 0.000000 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.008950 0001 0100 0000	# EV_KEY / BTN_0                0
E: 0.008950 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 1.705538 0001 0101 0001	# EV_KEY / BTN_1                1
E: 1.705538 0000 0000 0000	# ------------ SYN_REPORT (0) ----------

E: 1.715480 0001 0101 0000	# EV_KEY / BTN_1                0
E: 1.715480 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 6.091416 0001 0110 0001	# EV_KEY / BTN_LEFT             1
E: 6.091416 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 6.331766 0001 0110 0000	# EV_KEY / BTN_LEFT             0
E: 6.331766 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 9.503149 0001 0110 0001	# EV_KEY / BTN_LEFT             1
E: 9.503149 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 9.802307 0001 0110 0000	# EV_KEY / BTN_LEFT             0
E: 9.802307 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 10.602692 0001 0110 0001	# EV_KEY / BTN_LEFT             1
E: 10.602692 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 10.881548 0001 0110 0000	# EV_KEY / BTN_LEFT             0
E: 10.881548 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 11.364079 0001 0110 0001	# EV_KEY / BTN_LEFT             1
E: 11.364079 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 11.672063 0001 0110 0000	# EV_KEY / BTN_LEFT             0
E: 11.672063 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 12.066900 0001 0110 0001	# EV_KEY / BTN_LEFT             1
E: 12.066900 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 12.279415 0001 0110 0000	# EV_KEY / BTN_LEFT             0
E: 12.279415 0000 0000 0000	# ------------ SYN_REPORT (0) ----------

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1414930/comments/1

------------------------------------------------------------------------
On 2015-01-20T04:09:49+00:00 aronparsons wrote:

And here is the evemu-record log for the TrackPoint device itself.  The
physical buttons do not register any events, just the pointing device
itself.

[root@x1 ~]# evemu-record
Available devices:
/dev/input/event0:	Lid Switch
/dev/input/event1:	Sleep Button
/dev/input/event2:	Power Button
/dev/input/event3:	AT Translated Set 2 keyboard
/dev/input/event4:	Video Bus
/dev/input/event5:	SynPS/2 Synaptics TouchPad
/dev/input/event6:	Integrated Camera
/dev/input/event7:	HDA Intel HDMI HDMI/DP,pcm=3
/dev/input/event8:	HDA Intel HDMI HDMI/DP,pcm=7
/dev/input/event9:	HDA Intel HDMI HDMI/DP,pcm=8
/dev/input/event10:	HDA Intel PCH Mic
/dev/input/event11:	HDA Intel PCH Headphone
/dev/input/event12:	TPPS/2 IBM TrackPoint
Select the device event number [0-12]: 12
# EVEMU 1.2
# Input device name: "TPPS/2 IBM TrackPoint"
# Input device ID: bus 0x11 vendor 0x02 product 0x0a version 0000
# Supported events:
#   Event type 0 (EV_SYN)
#     Event code 0 (SYN_REPORT)
#     Event code 1 (SYN_CONFIG)
#     Event code 2 (SYN_MT_REPORT)
#     Event code 3 (SYN_DROPPED)
#     Event code 4 ((null))
#     Event code 5 ((null))
#     Event code 6 ((null))
#     Event code 7 ((null))
#     Event code 8 ((null))
#     Event code 9 ((null))
#     Event code 10 ((null))
#     Event code 11 ((null))
#     Event code 12 ((null))
#     Event code 13 ((null))
#     Event code 14 ((null))
#   Event type 1 (EV_KEY)
#     Event code 272 (BTN_LEFT)
#     Event code 273 (BTN_RIGHT)
#     Event code 274 (BTN_MIDDLE)
#   Event type 2 (EV_REL)
#     Event code 0 (REL_X)
#     Event code 1 (REL_Y)
# Properties:
#   Property  type 0 (INPUT_PROP_POINTER)
#   Property  type 5 (INPUT_PROP_POINTING_STICK)
N: TPPS/2 IBM TrackPoint
I: 0011 0002 000a 0000
P: 21 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 07 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 03 00 00 00 00 00 00 00
B: 03 00 00 00 00 00 00 00 00
B: 04 00 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 14 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
################################
#      Waiting for events      #
################################
E: 0.000000 0002 0001 0001	# EV_REL / REL_Y                1
E: 0.000000 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.019310 0002 0000 0001	# EV_REL / REL_X                1
E: 0.019310 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.048622 0002 0001 0001	# EV_REL / REL_Y                1
E: 0.048622 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.068458 0002 0001 0001	# EV_REL / REL_Y                1
E: 0.068458 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.088470 0002 0000 0001	# EV_REL / REL_X                1
E: 0.088470 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.134325 0002 0001 0001	# EV_REL / REL_Y                1
E: 0.134325 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.230916 0002 0000 -001	# EV_REL / REL_X                -1
E: 0.230916 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.272601 0002 0000 -001	# EV_REL / REL_X                -1
E: 0.272601 0002 0001 -001	# EV_REL / REL_Y                -1
E: 0.272601 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.298392 0002 0000 -002	# EV_REL / REL_X                -2
E: 0.298392 0002 0001 -001	# EV_REL / REL_Y                -1
E: 0.298392 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.320210 0002 0000 -006	# EV_REL / REL_X                -6
E: 0.320210 0002 0001 -004	# EV_REL / REL_Y                -4
E: 0.320210 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.339555 0002 0000 -002	# EV_REL / REL_X                -2
E: 0.339555 0002 0001 -002	# EV_REL / REL_Y                -2
E: 0.339555 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.358900 0002 0000 -005	# EV_REL / REL_X                -5
E: 0.358900 0002 0001 -005	# EV_REL / REL_Y                -5
E: 0.358900 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.378102 0002 0000 -002	# EV_REL / REL_X                -2
E: 0.378102 0002 0001 -003	# EV_REL / REL_Y                -3
E: 0.378102 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.397303 0002 0000 -001	# EV_REL / REL_X                -1
E: 0.397303 0002 0001 -002	# EV_REL / REL_Y                -2
E: 0.397303 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.414152 0002 0001 -001	# EV_REL / REL_Y                -1
E: 0.414152 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.529963 0002 0000 -001	# EV_REL / REL_X                -1
E: 0.529963 0002 0001 0001	# EV_REL / REL_Y                1
E: 0.529963 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.549709 0002 0000 -001	# EV_REL / REL_X                -1
E: 0.549709 0002 0001 0001	# EV_REL / REL_Y                1

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1414930/comments/2

------------------------------------------------------------------------
On 2015-01-21T03:46:36+00:00 Peter Hutterer wrote:

actually, can you attach the dmesg output here too please (as
attachment). and while you're at it, please run libevdev's touchpad-
edge-detector and see if the min/max of the touchpad matches what it
claims. Thanks

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1414930/comments/3

------------------------------------------------------------------------
On 2015-01-21T08:34:34+00:00 aronparsons wrote:

Created attachment 112590
dmesg

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1414930/comments/4

------------------------------------------------------------------------
On 2015-01-21T08:37:07+00:00 aronparsons wrote:

[root@x1 ~]# touchpad-edge-detector /dev/input/event4
Touchpad SynPS/2 Synaptics TouchPad on /dev/input/event4
Move one finger around the touchpad to detect the actual edges
Kernel says:	x [1266..5676], y [1096..4758]
Touchpad sends:	x [1266..5677], y [1097..4760] -

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1414930/comments/5

------------------------------------------------------------------------
On 2015-01-21T11:51:45+00:00 Peter Hutterer wrote:

well, at least that's some good news. the axis range is correct enough,
but we need to take LEN0048 out of the INPUT_PROP_TOPBUTTONPAD list in
the kernel. which should be fine, doesn't look like it's re-used (I
think).

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1414930/comments/6

------------------------------------------------------------------------
On 2015-01-23T04:19:17+00:00 Larry Hastings wrote:

I'm experiencing the issue too, under Ubuntu 14.10.  I'm happy to
install something bleeding-edge on the laptop for experimentation; it's
not like the laptop is terribly useful without working mouse buttons.

Given that middle-mouse button scrolling is implemented in the
trackpoint driver, and the middle mouse button (when it works) will be
firing in the synaptics driver, I'm guessing that even when the buttons
are fixed, middle-mouse button scrolling will still be broken.  Just
like the 2014 refresh Lenovo laptops without hardware mouse buttons (see
bug 70780).

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1414930/comments/7

------------------------------------------------------------------------
On 2015-01-23T04:47:30+00:00 Peter Hutterer wrote:

Note that this bug currently affects upstream (kernel, libinput and
xorg) and all distributions. In the interest of keeping the bug useful,
please only CC yourself, do not comment that you have the same issue. We
know you do.

We'll post updates once we figured out how to fix all this, please keep
the noise on this bug to a minimum.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1414930/comments/8

------------------------------------------------------------------------
On 2015-01-23T19:22:30+00:00 Msw-c wrote:

As a workaround you can force the psmouse driver to use the imps
protocol. When using the imps protocol the buttons are mapped correctly.
Further, the BIOS option to disable the touchpad is honored.

Of course you can't use the fancy Synaptic touchpad features, but I have
no use for them anyway.

$ cat /etc/modprobe.d/psmouse.conf 
options psmouse proto=imps

# evtest /dev/input/event5
Input driver version is 1.0.1
Input device ID: bus 0x11 vendor 0x2 product 0x1 version 0x0
Input device name: "PS/2 Synaptics TouchPad"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 272 (BTN_LEFT)
    Event code 273 (BTN_RIGHT)
    Event code 274 (BTN_MIDDLE)
  Event type 2 (EV_REL)
    Event code 0 (REL_X)
    Event code 1 (REL_Y)
Properties:
Testing ... (interrupt to exit)

$ xinput list-props 'PS/2 Synaptics TouchPad'
Device 'PS/2 Synaptics TouchPad':
	Device Enabled (135):	1
	Coordinate Transformation Matrix (137):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	Device Accel Profile (256):	0
	Device Accel Constant Deceleration (257):	1.000000
	Device Accel Adaptive Deceleration (258):	1.000000
	Device Accel Velocity Scaling (259):	10.000000
	Device Product ID (252):	2, 1
	Device Node (253):	"/dev/input/event5"
	Evdev Axis Inversion (260):	0, 0
	Evdev Axes Swap (262):	0
	Axis Labels (263):	"Rel X" (145), "Rel Y" (146)
	Button Labels (264):	"Button Left" (138), "Button Middle" (139), "Button Right" (140), "Button Wheel Up" (141), "Button Wheel Down" (142), "Button Horiz Wheel Left" (143), "Button Horiz Wheel Right" (144)
	Evdev Middle Button Emulation (265):	0
	Evdev Middle Button Timeout (266):	50
	Evdev Third Button Emulation (267):	0
	Evdev Third Button Emulation Timeout (268):	1000
	Evdev Third Button Emulation Button (269):	3
	Evdev Third Button Emulation Threshold (270):	20
	Evdev Wheel Emulation (271):	1
	Evdev Wheel Emulation Axes (272):	6, 7, 4, 5
	Evdev Wheel Emulation Inertia (273):	10
	Evdev Wheel Emulation Timeout (274):	200
	Evdev Wheel Emulation Button (275):	2
	Evdev Drag Lock Buttons (276):	0

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1414930/comments/9

------------------------------------------------------------------------
On 2015-01-24T04:15:40+00:00 aronparsons wrote:

(In reply to Matt Wilson from comment #9)
> As a workaround you can force the psmouse driver to use the imps protocol.
> When using the imps protocol the buttons are mapped correctly. Further, the
> BIOS option to disable the touchpad is honored.
> 
> Of course you can't use the fancy Synaptic touchpad features, but I have no
> use for them anyway.
> 
> $ cat /etc/modprobe.d/psmouse.conf 
> options psmouse proto=imps

Exactly the configuration I wanted!  Thanks for the tip Matt.

For those on Fedora, psmouse built in and not a module, so the approach
is slightly different.  You'll need to set it in /etc/default/grub and
then update your grub config.

# grep psmouse /etc/default/grub 
GRUB_CMDLINE_LINUX="rd.lvm.lv=vg00/swap rd.lvm.lv=vg00/root quiet psmouse.proto=imps"

# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1414930/comments/10

------------------------------------------------------------------------
On 2015-01-28T11:23:54+00:00 Peter Hutterer wrote:

Status update:
* missing middle button is a kernel bug
* touchpad marked with INPUT_PROP_TOPBUTTONPAD is a kernel bug
* handling the trackpoint buttons through the touchpad device will require userspace fixes, some combination of udev rules/hwdb and fixes in synaptics and libinput. Theoretically evdev too, though the touchpad parts in evdev are mostly untested.

Patches will be coming in the next couple of days, we're trying to get
everything in place first so we can actually test all bits against each
other.

I expect that the final outcome with synaptics will be similar to the
T440: everything works except for middle button scrolling. libinput will
just work fine.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1414930/comments/19


** Changed in: linux
       Status: Unknown => In Progress

** Changed in: linux
   Importance: Unknown => Medium

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1414930

Title:
  Buttons of Synaptics trackpad doesn't work

Status in HWE Next Project:
  Confirmed
Status in The Linux Kernel:
  In Progress
Status in linux package in Ubuntu:
  Incomplete

Bug description:
  Lenovo X1 3rd Carbon (201411-16196)

  Steps to reproduce the bug:
  1, Log in to system
  2, Click left/right/middle buttons of the touchpad

  Actual result:
  No response after clicking the buttons

  Expected results:
  Buttons work as expected behavirour

  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: linux-image-3.13.0-45-generic 3.13.0-45.74 [modified: boot/vmlinuz-3.13.0-45-generic]
  ProcVersionSignature: Ubuntu 3.13.0-45.74-generic 3.13.11-ckt13
  Uname: Linux 3.13.0-45-generic x86_64
  ApportVersion: 2.14.1-0ubuntu3.6
  Architecture: amd64
  AudioDevicesInUse:
   USER        PID ACCESS COMMAND
   /dev/snd/controlC1:  u          1598 F.... pulseaudio
   /dev/snd/controlC0:  u          1598 F.... pulseaudio
  CurrentDesktop: Unity
  Date: Tue Jan 27 02:48:23 2015
  HibernationDevice: RESUME=UUID=c553e9ba-b74b-43ad-8cf2-496531261e0f
  InstallationDate: Installed on 2015-01-27 (0 days ago)
  InstallationMedia: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64 (20150126)
  MachineType: LENOVO 20BTZ09ZUS
  ProcFB: 0 inteldrmfb
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-45-generic root=UUID=1d34e685-c98b-41f3-b649-87770517b194 ro quiet splash vt.handoff=7
  RelatedPackageVersions:
   linux-restricted-modules-3.13.0-45-generic N/A
   linux-backports-modules-3.13.0-45-generic  N/A
   linux-firmware                             1.127.11
  SourcePackage: linux
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 10/27/2014
  dmi.bios.vendor: LENOVO
  dmi.bios.version: N14ET24W (1.02 )
  dmi.board.asset.tag: Not Available
  dmi.board.name: 20BTZ09ZUS
  dmi.board.vendor: LENOVO
  dmi.board.version: SDK0E50510 WIN
  dmi.chassis.asset.tag: No Asset Information
  dmi.chassis.type: 10
  dmi.chassis.vendor: LENOVO
  dmi.chassis.version: None
  dmi.modalias: dmi:bvnLENOVO:bvrN14ET24W(1.02):bd10/27/2014:svnLENOVO:pn20BTZ09ZUS:pvrThinkPadX1Carbon3rd:rvnLENOVO:rn20BTZ09ZUS:rvrSDK0E50510WIN:cvnLENOVO:ct10:cvrNone:
  dmi.product.name: 20BTZ09ZUS
  dmi.product.version: ThinkPad X1 Carbon 3rd
  dmi.sys.vendor: LENOVO

To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/1414930/+subscriptions


References