On 10/17/2018 06:21 PM, Jake Champlin wrote: > 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
Yes, the old version requires exactly vertical movements, any change of the X position blocks Y inputs. Some input devices make it difficult, if not impossible, to be that precise. > >