trackpoint causes scrolling not clicking for ThinkPad X1 Carbon 3rd Gen.

Asked by jzacsh

My new X1 Carbon scrolls up when I press the left-clicker on the Trackpoint and scrolls down when I press the right-clicker: http://i.imgur.com/9rxVf.jpg

My /etc/lsb-release:
 DISTRIB_ID=Ubuntu
 DISTRIB_RELEASE=14.04
 DISTRIB_CODENAME=trusty
 DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"

Not sure exactly what to post and where to post it, but it seems like the "3rdgen x1 carbon"-hardware page is appropriate...
(Feel free to direct me to a different place if this is an inappropriate spot to file this bug)

Question information

Language:
English Edit question
Status:
Open
For:
Ubuntu-Certification Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
jzacsh (jzacsh) said :
#1

may as well paste the other things I've been keeping track of...
(from: https://plus.google.com/+JonathanZacsh/posts/J2RKNgx5vws)

1) Works: *controlling screen brightness* http://itsfoss.com/fix-brightness-ubuntu-1310/
2) Works: *black screen* at installer: http://askubuntu.com/a/162076 tl;dr grub command line, add 'nomodeset'
3) causes touch-screen not to work: *acpi_osi=Linux* to your GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub

*Still broken*
1) Trackpoint's mouse-buttons (joystick is fine)

Revision history for this message
Yung Shen (kaxing) said :
#2

Hello jzacsh, can you post the output of following command, open a terminal and type: xinput

Revision history for this message
joydidier (didier-joy) said :
#3

Hello,
I am having the same issue with X1 Carbon 3rd generation and Linux Mint 17.1 Rebecca.
This is my xinput:

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Lenovo Laser Wireless Mouse id=9 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Sleep Button id=8 [slave keyboard (3)]
    ↳ Integrated Camera id=10 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]

In this configuration, the touchpad works fine, but the trackpoint pointer works, but the trackpoint left/right buttons act as 'up/down' arrow buttons, and the middle button does nothing.

After doing:

sudo rmmod psmouse
sudo modprobe psmouse proto=imps

The xinput now reads:

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Lenovo Laser Wireless Mouse id=9 [slave pointer (2)]
⎜ ↳ PS/2 Synaptics TouchPad id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Sleep Button id=8 [slave keyboard (3)]
    ↳ Integrated Camera id=10 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]

In this configuration, the trackpoint buttons work properly (left/right, and the middle button can be configured too, including the wheel). However in this configuration, it is impossible to disable the touchpad, as it seems that PS/2 Synaptics TouchPad configurations apply to both the trackpoint and the touchpad.

Finally I can also do:

sudo rmmod psmouse
sudo modprobe psmouse proto=bare

With xinput now reading:

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Lenovo Laser Wireless Mouse id=9 [slave pointer (2)]
⎜ ↳ PS/2 Generic Mouse id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Sleep Button id=8 [slave keyboard (3)]
    ↳ Integrated Camera id=10 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]

Again this resurecs the trackpoint buttons but has the same issue that the touchpad cannot be disabled.

Please let me know if I can give any more ouput that would help debug this issue.

Revision history for this message
joydidier (didier-joy) said :
#4

Hi,
A workaround to have the trackpoint buttons working AND the touchpad disabled can be found here:
https://bugs.freedesktop.org/show_bug.cgi?id=88609#c9

The idea is to use proto=imps (as I commented in my previous post) but if you also want the touchpad disabled, to do that in the BIOS settings, by pressng F1 at bootup, and disabling the touchpad in the BIOS menu.

Revision history for this message
jzacsh (jzacsh) said :
#5

- joydidier, thanks! I also have my trackpoint's mouse buttons currently causing up/down scroll behavior. I will try out your solution in comment #4 in a few hours.

- kaxing, let me know if its still useful to see my `xinput`

(probably worth noting: I am very unfamiliar with how to read xinput's output and make sense of these different options)

Revision history for this message
jzacsh (jzacsh) said :
#6

joydidier, can you clarify on #1 below? can either of you shed some light one what i'm doing wrong with #2? Thanks!

k, tried to pretty confused at the moment:
1) doing the following gets me working trackpoint, but idk (despite the freedesktop thread) how to disable touchpad via BIOS:
  sudo rmmod psmouse && sudo modprobe psmouse proto=imps
2) despite #1 working, I can't make it stick beyond a boot (all pasties below related to this point)

$ cat /etc/modules
lp
rtc

$ cat /etc/modules-load.d/psmouse.conf
psmouse proto=imps

$ cat /etc/modprobe.d/psmouse.conf # seems like maybe i should remove this, given modules-load.d file?
options psmouse proto=imps

$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=10 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=11 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Sleep Button id=8 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=9 [slave keyboard (3)]
    ↳ Integrated Camera id=12 [slave keyboard (3)]

$ lsmod
Module Size Used by
ctr 13049 1
ccm 17773 1
hid_multitouch 17407 0
usbhid 52659 0
hid 106148 2 hid_multitouch,usbhid
uvcvideo 80885 0
videobuf2_vmalloc 13216 1 uvcvideo
videobuf2_memops 13362 1 videobuf2_vmalloc
videobuf2_core 40664 1 uvcvideo
videodev 134688 2 uvcvideo,videobuf2_core
btusb 32412 0
rfcomm 69160 8
bnep 19624 2
bluetooth 391136 22 bnep,btusb,rfcomm
snd_hda_codec_hdmi 46368 1
nls_iso8859_1 12713 1
joydev 17381 0
arc4 12608 2
x86_pkg_temp_thermal 14205 0
coretemp 13435 0
kvm 455835 0
crct10dif_pclmul 14289 0
crc32_pclmul 13113 0
ghash_clmulni_intel 13216 0
iwlmvm 189813 0
mac80211 630669 1 iwlmvm
i915_bdw 843044 6
aesni_intel 55624 2
aes_x86_64 17131 1 aesni_intel
lrw 13286 1 aesni_intel
intel_ips 18664 1 i915_bdw
gf128mul 14951 1 lrw
drm_kms_helper 55071 1 i915_bdw
snd_hda_codec_realtek 65580 1
glue_helper 13990 1 aesni_intel
ablk_helper 13597 1 aesni_intel
cryptd 20359 3 ghash_clmulni_intel,aesni_intel,ablk_helper
iwlwifi 169932 1 iwlmvm
drm 303102 5 i915_bdw,drm_kms_helper
serio_raw 13462 0
mei_me 18627 0
nvram 14411 0
snd_hda_intel 56451 5
cfg80211 484040 3 iwlwifi,mac80211,iwlmvm
snd_hda_codec 192906 3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel
snd_hwdep 13602 1 snd_hda_codec
snd_seq_midi 13324 0
lpc_ich 21080 0
snd_seq_midi_event 14899 1 snd_seq_midi
snd_pcm 102099 3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
mei 82276 1 mei_me
snd_rawmidi 30144 1 snd_seq_midi
i2c_algo_bit 13413 1 i915_bdw
snd_page_alloc 18710 2 snd_pcm,snd_hda_intel
snd_seq 61560 2 snd_seq_midi_event,snd_seq_midi
wmi 19177 0
snd_seq_device 14497 3 snd_seq,snd_rawmidi,snd_seq_midi
parport_pc 32701 0
snd_timer 29482 2 snd_pcm,snd_seq
snd 69322 21 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi
mac_hid 13205 0
soundcore 12680 1 snd
ppdev 17671 0
video 19476 1 i915_bdw
lp 17759 0
parport 42348 3 lp,ppdev,parport_pc
e1000e 254433 0
psmouse 106714 0
ahci 25819 3
libahci 32716 1 ahci
ptp 18933 1 e1000e
pps_core 19382 1 ptp

$ cat /etc/default/grub
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" # acpi_osi=Linux
GRUB_CMDLINE_LINUX=""

Revision history for this message
jzacsh (jzacsh) said :
#7

k, #2 solved by updating grub in these steps:
a) added psmouse.proto=imps to grub, per https://bugs.freedesktop.org/show_bug.cgi?id=88609#c10 ie:
   GRUB_CMDLINE_LINUX_DEFAULT="quiet splash psmouse.proto=imps" # acpi_osi=Linux
b) sudo update-grub # then reboot

of course, #1 is still a problem :P (ie: trying to type these comments with my trackpad still enabled is pretty difficult)

Revision history for this message
Yung Shen (kaxing) said :
#8

joydidier, Thank you for the anwser!

Hey jzacsh, I was just wondering if the device are being correctly recognize.
If joydidier's workaround this should be fine.
Thank you for asking this question, too.

This information will be helpful for future certification.
Thank you both again!

Revision history for this message
jzacsh (jzacsh) said :
#9

tl;dr how does one disable the trackpad via the BIOS? (note I do not have windows installed on this machine)

kaxing, are you saying that in response to issue #1 or issue #2 from the top of comment #6? I can see how it would address comment #2, but as you can see I solved that moments later...

Revision history for this message
Yung Shen (kaxing) said :
#10

@jzacsh sorry, I didn't refresh my page, and yes, i saw those information.

And for your question about turn off the trackpad, ususally it won't be an option to disable the trackpad(as far as I know)

In your case you can disable touchpad by following command:

xinput set-prop 'SynPS/2 Synaptics TouchPad' "Device Enabled" 0

and Enable:

xinput set-prop 'SynPS/2 Synaptics TouchPad' "Device Enabled" 1

Personally i'm using touchpad-indicator, can be found in this ppa:
https://launchpad.net/~atareao/+archive/ubuntu/atareao

Hope this help!

Revision history for this message
jzacsh (jzacsh) said :
#11

Note: Ubuntu software update just caused me to no longer be able to disable tap-to-click (where I had that disabled previously). I don't know what happened with this update now my machine is really quite unusable.

Revision history for this message
jzacsh (jzacsh) said :
#12

@joydidier if you're still watching this bug, can you respond? I'd love if you could elaborate in how-to words your comment #4

Revision history for this message
joydidier (didier-joy) said :
#13

Hi,
What do you need elaboration on?

Revision history for this message
jzacsh (jzacsh) said :
#14

hey joydidier!
I'm trying to follow along on the freedesktop thread you linked to, can you explain how to disable touchpad via BIOS?

If I read the linked email by Matt Wislon correctly, its two steps:
1) sudo rmmod psmouse && sudo modprobe psmouse proto=imps
2) disable touchpad via BIOS --- this is what I can't figure out how to do

Can you help with this problem?

Provide an answer of your own, or ask jzacsh for more information if necessary.

To post a message you must log in.