Opened 12 days ago

Last modified 11 days ago

#19151 new bug

TrackPoint input breaks touchpad on Thinkpad X300

Reported by: alterae Owned by: nobody
Priority: low Milestone: Unscheduled
Component: Drivers/Input/PS2 Version: R1/beta5
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

While running the R1/beta5 64-bit installer (from the haiku-r1beta5-x86_64-anyboot.iso installer image) from a USB stick on a Lenovo Thinkpad X300, any input to the TrackPoint causes the touchpad and built-in mouse buttons to stop functioning entirely until the system is rebooted.

Additionally, input to the TrackPoint causes the touchpad (labeled as PS/2 Touchpad 1 to disappear entirely from the Input preferences application. The TrackPoint itself does not appear in the Input preferences application.

If the TrackPoint never receives any input, the touchpad works fine, as do the touchpad mouse buttons and the TrackPoint mouse buttons.

Keyboard input is unaffected. I have not tested an external USB or bluetooth mouse. I have not tested if the issue occurs when Haiku is booted from the Thinkpad's internal storage.

System Information

From AboutSystem

Version: hrev57937+113
R1/beta5 (x86_64)

Kernel:
September 12, 2024 at 9:59:37 PM

Attachments (1)

syslog (249.6 KB ) - added by alterae 12 days ago.

Download all attachments as: .zip

Change History (6)

comment:1 by korli, 12 days ago

Please provide a syslog, thanks (see https://dev.haiku-os.org/wiki/ReportingBugs#Syslog )

by alterae, 12 days ago

Attachment: syslog added

in reply to:  1 comment:2 by alterae, 12 days ago

Replying to korli:

Please provide a syslog, thanks (see https://dev.haiku-os.org/wiki/ReportingBugs#Syslog )

Syslog is attached; sorry for missing that initially. Hope it's adequate.

comment:3 by korli, 12 days ago

Thanks. I only see this message:

Mouse (touchpad) device exiting, Operation would block

It's a bit unexpected, because B_WOULD_BLOCK would mean the passed timeout is zero or less: https://cgit.haiku-os.org/haiku/tree/src/add-ons/input_server/devices/mouse/MouseInputDevice.cpp#n429

in reply to:  3 comment:4 by alterae, 12 days ago

Replying to korli:

It's a bit unexpected, because B_WOULD_BLOCK would mean the passed timeout is zero or less: https://cgit.haiku-os.org/haiku/tree/src/add-ons/input_server/devices/mouse/MouseInputDevice.cpp#n429

That is weird, indeed. I have effectively zero familiarity with the codebase, but it looks like touchpadEventTimeout should be B_INFINITE_TIMEOUT. The only thing I can think of is the bit at MouseInputDevice.cpp:448 where it gets set to -1 if read.event is MS_READ. If that's the case, it looks like that MS_READ value might be coming from ps2_alps.cpp:191, which does appear to have something to do with TrackPoint input, but again I am not familiar enough with this code to say anything for certain.

I am quite curious about the cause, now! It looks like the code is getting confused about whether it's handling touchpad or mouse input, and I'd love to know if I'm right or if it's something else.

comment:5 by waddlesplash, 11 days ago

Component: - GeneralDrivers/Input/PS2
Platform: x86-64All
Note: See TracTickets for help on using tickets.