0

I have a thinkpad 440p and I replaced both the keyboard and the trackpad with cheap chinese units. The laptop still works correctly in Windows 10, but I am unable to find any combination of Linux OS and kernel where the trackpad works.

I'm currently running Ubuntu 18.04 with 5.0.0-999-generic, I have tried several different kernels.

I know it is not a hardware issue as it works correctly under Windows. My guess is that the kernel module psmouse is incorrectly identifying this trackpoint.

The issue is that the trackpad is recognized as a PS2 ALPS Glidepoint but the hardware buttons don't work and touching the pad creates random button and XY responses.

dmesg shows the following when the psmouse module is loaded

input: PS/2 ALPS GlidePoint as /devices/platform/i8042/serio1/input/input257

It shows up once in /dev/input as:

I: Bus=0011 Vendor=0002 Product=0001 Version=0700 N: Name="PS/2 ALPS GlidePoint" P: Phys=isa0060/serio1/input0 S: Sysfs=/devices/platform/i8042/serio1/input/input257 U: Uniq= H: Handlers=mouse1 event5 B: PROP=1 B: EV=7 B: KEY=70000 0 0 0 0 B: REL=3

xinput --list

⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Microsoft Microsoft IntelliMouse® Optical id=9 [slave pointer (2)] ⎜ ↳ PS/2 ALPS GlidePoint id=12 [slave pointer (2)]

xinput --list-props "PS/2 ALPS GlidePoint"

Device 'PS/2 ALPS GlidePoint': Device Enabled (149): 1 Coordinate Transformation Matrix (151): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 libinput Natural Scrolling Enabled (286): 0 libinput Natural Scrolling Enabled Default (287): 0 libinput Scroll Methods Available (288): 0, 0, 1 libinput Scroll Method Enabled (289): 0, 0, 1 libinput Scroll Method Enabled Default (290): 0, 0, 1 libinput Button Scrolling Button (291): 2 libinput Button Scrolling Button Default (292): 2 libinput Middle Emulation Enabled (293): 0 libinput Middle Emulation Enabled Default (294): 0 libinput Accel Speed (295): -0.841727 libinput Accel Speed Default (296): 0.000000 libinput Accel Profiles Available (297): 1, 1 libinput Accel Profile Enabled (298): 1, 0 libinput Accel Profile Enabled Default (299): 1, 0 libinput Left Handed Enabled (300): 0 libinput Left Handed Enabled Default (301): 0 libinput Send Events Modes Available (271): 1, 0 libinput Send Events Mode Enabled (272): 0, 0 libinput Send Events Mode Enabled Default (273): 0, 0 Device Node (274): "/dev/input/event5" Device Product ID (275): 2, 1 libinput Drag Lock Buttons (302): libinput Horizontal Scroll Enabled (303): 1

Finally a small snippet from the output of sudo evtest is shown below. Pressing the 3 physical buttons on the top of the trackpad does nothing and just touching the trackpad and moving my finger 2mm will generate the output below.

Event: time 1552818278.903519, -------------- SYN_REPORT ------------ Event: time 1552818278.915519, type 2 (EV_REL), code 0 (REL_X), value 24 Event: time 1552818278.915519, type 2 (EV_REL), code 1 (REL_Y),
value -249 Event: time 1552818278.915519, -------------- SYN_REPORT
------------ Event: time 1552818278.927525, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0 Event: time 1552818278.927525, type 2 (EV_REL),
code 0 (REL_X), value 56 Event: time 1552818278.927525, type 2
(EV_REL), code 1 (REL_Y), value -248 Event: time 1552818278.927525,
-------------- SYN_REPORT ------------ Event: time 1552818278.939477, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1 Event: time 1552818278.939477, type 1 (EV_KEY), code 273 (BTN_RIGHT), value 1 Event: time 1552818278.939477, type 2 (EV_REL), code 0 (REL_X), value -200 Event: time 1552818278.939477, type 2 (EV_REL), code 1 (REL_Y), value 8

I realise this is a franken laptop now as the keyboard no longer has a trackpoint and the trackpad has changed from a synaptics to an ALP.

If anyone knows of a way that I can make the trackpad work I will cheerfully buy you a beer!

Your Answer

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

Browse other questions tagged or ask your own question.