On Tue, Oct 16, 2018 at 09:45:52PM -0400, Charles Daniels wrote: > First off, I'm new around here, so my apologies in advance if this is > the wrong list or I've formatted something incorrectly. > > I've recently installed OpenBSD 6.3 on my Thinkpad X220. I'm happy to > report that almost everything seems to work the way it should > (suspend/resume, wireless, volume controls, etc.). However, I've been > having some difficulty with the TrackPoint. > > The TrackPoint works fine as a pointing device, however the "WS > Pointer Wheel Emulation" emulation feature is not working. For those > unfamiliar, this allows the middle mouse button to be held down, and > while it is held, the TrackPoint can be used to scroll vertically or > horizontally. > > After conducting some research, I have written the following script to > set the appropriate xinput properties to properly enable the pointer > wheel emulation functionality: > > #!/bin/sh > > xinput set-prop /dev/wsmouse "WS Pointer Wheel Emulation" 1 > xinput set-prop /dev/wsmouse "WS Pointer Wheel Emulation Button" 2 > xinput set-prop /dev/wsmouse "WS Pointer Wheel Emulation Axes" 6 7 4 5 > xinput set-prop /dev/wsmouse "WS Pointer Wheel Emulation Timeout" 500 > xinput set-prop /dev/wsmouse "WS Pointer Wheel Emulation Inertia" 20 > > I have tried many different variations on the input parameters. > One interesting behavior I have discovered is that if I set the > emulation axes to "4 5 0 0" then I can scroll up and down by moving > the track point left or right by holding the middle mouse button. > However, when I use "6 7 4 5" or "0 0 4 5", the up and down scrolling > generally does not work at all (occasionally jumping in the direction > the trackpoint was pushed). > > I have spent several days troubleshooting this issue and haven't had > any luck. I think this may be a bug, but I wanted to see if anyone > else had similar issues and knew of a solution before submitting a bug > report. I am under the impression that this list does not permit > attachments, so I will refrain from attaching the full output of dmesg > and other long logs, but I will include the output of some > commands that I think might be relevant. > > Finally, I tried digging into some of the source code for Xenocara and > the wsmouse drive. Unfortunately, my knowledge of OpenBSD and Xorg are > insufficient to draw any useful conclusions. However, I think the > following files may be relevant / a good starting point for someone > more knowledgeable than I: > > * xenocara/driver/xf86-input-ws/include/ws-properties.h > * xenocara/driver/xf86-input-ws/src/emuwheel.c > > I would really appreciate any suggestions to troubleshoot further. > > Charles > > > ### possibly relevant output follows > > nessus$ dmesg | grep -i mouse > wsmouse0 at pms0 mux 0 > nessus$ dmesg | grep -i ws > wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation) > wsdisplay0: screen 1-5 added (std, vt100 emulation) > wskbd0 at pckbd0: console keyboard, using wsdisplay0 > wsmouse0 at pms0 mux 0 > nessus$ xinput > ⎡ Virtual core pointer id=2 [master pointer (3)] > ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer > (2)] > ⎜ ↳ /dev/wsmouse id=7 [slave pointer > (2)] > ⎣ Virtual core keyboard id=3 [master keyboard (2)] > ↳ Virtual core XTEST keyboard id=5 [slave keyboard > (3)] > ↳ /dev/wskbd id=6 [slave keyboard > (3)] > nessus$ xinput list-props /dev/wsmouse > Device '/dev/wsmouse': > Device Enabled (140): 1 > Coordinate Transformation Matrix (141): 1.000000, 0.000000, > 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 > Device Accel Profile (253): 0 > Device Accel Constant Deceleration (254): 1.000000 > Device Accel Adaptive Deceleration (255): 1.000000 > Device Accel Velocity Scaling (256): 10.000000 > WS Pointer Middle Button Emulation (257): 2 > WS Pointer Middle Button Timeout (258): 50 > WS Pointer Wheel Emulation (259): 1 > WS Pointer Wheel Emulation Axes (260): 4, 5, 0, 0 > WS Pointer Wheel Emulation Inertia (261): 20 > WS Pointer Wheel Emulation Timeout (262): 500 > WS Pointer Wheel Emulation Button (263): 2 > nessus$ cat /etc/X11/xorg.conf > nessus$ X -version > > X.Org X Server 1.19.6 > Release Date: 2017-12-20 > X Protocol Version 11, Revision 0 > Build Operating System: OpenBSD 6.3 amd64 > Current Operating System: OpenBSD nessus.domain_redacted 6.3 GENERIC.MP#107 > amd64 > Build Date: 24 March 2018 02:38:24PM > > Current version of pixman: 0.34.0 > Before reporting problems, check http://wiki.x.org > to make sure that you have the latest version. > >
The jumping up and down vertically should have been fixed via this commit from @bru: https://github.com/openbsd/xenocara/commit/a011f4db8a6b02f5b298f8b631330764f40aa037