In Synaptics' terminology, "generic driver" means "a driver made by Synaptics that has not been customized by an equipment manufacturer."
The xf86-input-synaptics
driver is not generic, it's Free Software. It was created by many volunteers and paid employees of open source companies like Red Hat and Canonical. As far as I know, Synaptics never contributed anything to it, code or otherwise. It is actually superior to the proprietary driver in several ways, but you'd have to do some reading and tinker with some settings to gain an understanding of what it can do. That's generally true of most Free Software.
Synaptics, Inc. actually does make a proprietary Linux driver with all the features you mentioned, but it's strictly available to equipment manufacturers for preinstallation on new machines that ship with Linux already installed. You can't find that driver online. Can't even buy it -- license restrictions. That's UN-Free software.
The circular scrolling feature you're talking about is called ChiralMotion(TM). I know, it's awesome, I love it too. Really missing it. Unfortunately, it's patented.
There is a "Circular Scrolling" feature in the open source driver, but it works differently. The circling movement must be centered to the touchpad. Not quite as intuitive, IMHO. Less efficient. It also currently doesn't support horizontal scrolling.
Well, I wanted that feature back too, so I'm working on some improvements:
http://galundin.github.io/circular-scrolling-improved/
No reverse engineering, this is very different from the patented algorithm, even though its behavior is very similar. I'm in the process of hacking this functionality into the open source driver. That's what Free Software is all about. We have the power to make it better.
So regarding 1.) hang in there, I'm working on it.
Based on what you described in 2.) that sounds like you're talking about a Buttonless TouchPad (aka ClickPad). That mode is enabled with the ClickPad
option, and SoftButtonAreas
to define the boundaries. You can read all about those options and how to configure them here.
Regarding 3.) "added precision," I think you mean Pointing Enhancements
> Slow Motion
, which reduces sensitivity while a modifier key is held down (shift or control). That exact feature isn't in the xf86 driver, but it does provide dynamic control of pointer sensitivity in response to finger pressure, which is arguably more intuitive. Type man synaptics
in a terminal and look for PressureMotion
. That option has several settings to let you fine-tune its behavior. You can change those settings on the fly with the synclient
command before you put them into the config file.
BTW, GSynaptics
is deprecated. Its successor is GPointingDeviceSettings
. But there are still many options it doesn't show.