Thinkpad T530 - synaptics driver for touchpad AND mouse driver for trackpoint?

Shane Riddle sriddle at outlook.com
Sun Apr 3 17:40:52 UTC 2016


I am using FreeBSD 10.3 RELEASE on a Thinkpad T530. I'm trying to get both the Trackpoint and Touchpad into (my definition of) a fully functional state. Since "a fully functional state" is a completely subjective term, here's how I'm defining it for each device.

* Trackpoint: Trackpoint 'nub' works for mouse pointer movement, and all three buttons working.
* Touchpad: two-finger scrolling, tap-to-click

I will try to describe the trial & error methods I have used as clearly as possible....


In all cases, the following is true.

-----------------------------------
Installed Ports
-----------------------------------
* x11/libsynaptics
* x11-drivers/xf86-input-synaptics

-----------------------------------
/boot/loader.conf
-----------------------------------
hw.psm.synaptics_support=1
hw.psm.trackpoint_support=1

-----------------------------------
/usr/local/etc/X11/xorg.conf
-----------------------------------
Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
	Option         "AutoAddDevices" "false"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/sysmouse"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection



The first change I made was to /etc/rc.conf.
-------------
/etc/rc.conf
-------------
moused_enable="YES"
moused_flags="-V -a 1.6 -U 4 -L 1.5"

In this state, my trackpoint is "fully functional" and my touchpad has "limited functionality" due to the fact that I can't get two-finger scrolling to work. I can use vertical-edge scrolling with one finger; however after much effort to do so, I just can't get comfortable with this.

Looking at output from sysctl seems ok, except for one thing: 

   hw.psm.synaptics.two_finger_scroll: 0

And if I change this value to "1" then vertical edge scrolling stops working, while two finger scroll *still* doesn't work.

This leads me to conclude that despite a change recently introduced (1), my particular touchpad hardware is not supported through the mouse driver. 

(1) https://lists.freebsd.org/pipermail/freebsd-current/2015-April/055381.html



Then, I tried to use the synaptics driver in xorg.conf. 
-----------------------------------
/usr/local/etc/X11/xorg.conf
-----------------------------------
Section "InputDevice"
        Identifier  "Touchpad0"
        Driver      "synaptics"
	Option      "Protocol" "psm"
	Option      "Device" "/dev/psm0"
	Option      "EmulateTwoFingerMinZ" "7"
	Option      "EmulateTwoFingerMinW" "7"
	Option      "VertScrollDelta" "-111"
	Option      "VertTwoFingerScroll" "on"
	Option      "VertEdgeScroll" "off"
EndSection


This only works if I disable moused. 
--------------------
/etc/rc.conf
--------------------
moused_enable="NO"

Otherwise, the synaptics driver can't use /dev/psm0. I guess the mouse driver selects /dev/psm0, blocking its use by the touchpad. 

After diabling moused, the touchpad works *perfectly* but unfortunately, the Trackpoint now doesn't work at all. No buttons, no nub movement. BUT - a USB mouse still works fine, which uses the mouse driver. 

Hopefully I've described this somewhat coherently. :) 

Has anyone ever encountered a situation like this? Any known solutions, or additional debugging steps? 


More information about the freebsd-mobile mailing list