0

I have two Thinkpad X1 tablets gen 2. One is running Ubuntu 19.04 and the other is running Ubuntu 19.10. This machine has a removable keyboard which contains a trackpad and trackpoint. The trackpad has two buttons in its lower left and right corner. Just below the space bar are three mouse buttons.

When I bought the machines the trackpoint was not working but a patch for it eventually made it into the kernel (17.10 I think), see this thread and another. It has worked for a couple years now, but yesterday I noticed that the trackpoint and left and right buttons beneath space bar were not working on my machine with 19.10. I upgraded to 19.10 a month ago and I am afraid I did not notice if it stopped working then because I have had it attached to the dock with a mouse for most of the past month. Another thing I did yesterday was boot the computer into windows briefly from an attached drive which messed up the booting so I mounted a live Ubuntu 19.10 to repair grub. In the live Ubuntu 19.10, the trackpoint works fine.

On my 19.04 machine where the trackpoint works I get trackpoint and button events when I cat any of the following files

/dev/input/mouse2

/dev/input/event9

/dev/input/event10

/dev/hidraw3

The first two do NOT show events for trackpad and its buttons but event10 and hidraw shows events for trackpad, trackpoint and all buttons.

The xinput devices for event9 and event 10 are "PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 Mouse" and "PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 Touchpad" respectively.

When I run

xinput --test "PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 Mouse"

I get events for the trackpoint and its three buttons but not the trackpad. When I run

xinput --test "PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 Touchpad",

I get events for the trackpad and its buttons and not the trackpoint or its buttons.

On the machine running 19.10 where the trackpoint does not work, both the same xinput devices are present. Their properties from xinput --list-props are the same as on my 19.04 machine. I get trackpad and button events from "PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 Touchpad" and I get only button 2 events from "PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 Mouse". When I cat /dev/input/mouse[n] or /dev/input/event9 I get nothing. cat /dev/input/event10 and /dev/hidraw3 give me events for trackpad, trackpoint and all buttons.

2020-05-11 update

Here is some kernel data.

The trackpoint is working on my Ubuntu 19.04 X1 tablet with kernel 5.0.0-38-generic

It is working on the Ubuntu live USB 18.04 and 19.10 with kernels 5.3.0-28-generic and 5.3.0.18-generic respectively.

It does not work on the Ubuntu live USB 20.04 with kernel 5.4.0-26-generic.

  • For testing, reboot the 19.10 machine from a LiveUSB with 18.04. Does the Trackpad work? – K7AAY Apr 9 at 15:18
  • The trackpoint works in 18.04 LiveUSB. Thus we know it works in both 19.10 and 18.04 LiveUSB – brett stevens Apr 9 at 19:40
0

I'm not an Ubuntu user, but have had an identical problem on Mageia 7 and came accross this post looking for an answer. The trackpoint and mouse buttons worked with Kernel versions up to 5.4.6, however with the next Mageia kernel package 5.4.12, they stopped working and further kernel updates have not rectified the problem. So my guess is a regression somewhere in the kernel between 5.4.6 and 5.4.12 . The issue is also on the Mageia bugzilla #26135 with no resolution.

| improve this answer | |
  • When I get the time, I will be upgrading to Ubuntu 20.04 and see if that fixes it. – brett stevens May 9 at 20:22
  • It is still not working in Ubuntu 20.04 and it does not work with the 20.04 liveUSB either. – brett stevens May 27 at 20:52
  • The trackpad is not working in Ubuntu 20.04.1 LiveUSB – brett stevens Sep 16 at 16:50
  • I see on the Mageia bugzilla you successfully reverted the kernel with those two patches and go the trackpoint and buttons working. I am trying to do that but I am having trouble. The two patches linked to do not seem to have the right format. Did you modify the patches before reverting them? – brett stevens Sep 19 at 1:19
0

Please try my patch:

https://github.com/leakim/lenovo-x1-gen3-trackpoint-buttons

Would love some feedback on it if you try it.

| improve this answer | |
  • Thanks! Adding the installation steps here would be an improvement to the post, I think. – Zanna Sep 20 at 17:34
  • I will try this and report back, thanks. – brett stevens Sep 21 at 0:58
  • Worked like a charm, thankyou! I have the gen 2 X1 tablet so you can claim that your patch works for that as wel las gen 3. Some notes about installing your patch which might help other people install it: 1) do modprobe hid-multitouch before make insmod 2) make insmod should be run with sudo 3) make install should be run with sudo – brett stevens Sep 21 at 21:39
  • Thanks @brettstevens , both patches (Gen3 and Gen2) now submitted to upstream kernel. Hopefully ubuntu will backport them later on. – leakim Sep 22 at 11:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.