Solved Looking for touchpad improvement for MacBook

Dear all,

i'm looking for an improvement or solution to setup and configure the touchpad on X11 correctly on my MacBook Air. Currently I'm running FreeBSD 11-CURRENT and using the atp -- Apple Touchpad Driver.

The touchpad is working on the frame buffer and X11 but it's really hard to use. I also didn't found good options to tweak the current setup. I'm looking for options like:
  • modify the sensitivity during touching
  • disable the touchpad during typing with the keyboard
  • modify the sensitivity for the three finger right click
  • setup somehow smooth scrolling
I already tried to use the mutouch driver, but it also didn't worked that well with the [FONT=Courier New]atp[/FONT] device.

Maybe you've an idea to tune the driver with [FONT=Courier New]sysctl[/FONT] or [FONT=Courier New]xorg.conf[/FONT]?

Thanks a lot!
atp() is the old driver you should be using wsp(), however if you try to load atp() it usually loads wsp() for you. These tend to load automatically but you should add wsp to your boot.conf() as per the man page, if you don't you might find that it doesn't always work on boot because it doesn't seem to work if it's loaded after moused() which happens in the rc.

1. Add wsp_load="YES" to /boot/loader.conf

Reboot to make sure the correct diver is loaded.

As per the man page, use the hw.usb.wsp oids with sysctl() to tweak the settings, eg:

2. sysctl hw.usb.wsp
To list options

3. sysctl hw.usb.wsp.scale_factor=value
To set option

There is also a currently un-merged PR 196624 for wsp making tap to click into a tunable (was previously disabled due to preference for physical click), you would have to patch and re-build the kernel to get this but it's simpler than it sounds... Personally the physical click drives me nuts.
Also just to address your list:
modify the sensitivity during touching
scale_factor (1 - 63)
modify the sensitivity for the three finger right click
pressure_touch_threshold (1 - 255)
pressure_untouch_threshold (1 - 255)
pressure_tap_threshold (1 - 255)
These are for all touch events not just specific gestures. I couldn't infer their exact purpose from fiddling, probably need to look through the code to figure it out. Be careful though because you can make it really crappy with the wrong settings.
disable the touchpad during typing with the keyboard
I think this is done automatically in wsp.
setup somehow smooth scrolling
This is currently impossible in Xorg, however individual applications can "improve" the situation by easing the transition between lines scrolls, for instance chrome.