New VoodooPS2Trackpad uses VoodooInput's Magic Trackpad II emulation in order to use macOS native driver instead of handling all gestures itself. This enables the use of any from one to four finger gestures defined by Apple including:
It also supports BetterTouchTool.
In addition this kext supports Force Touch emulation (configured in
Info.plistor configuration SSDT. Note that
ForceTouchCustomDownThresholdis the upper limit on the pressure value and vice versa, because it corresponds to the touchpad being fully pressed down.
For Elan touchpad, only mode 0 and mode 1 are supported.
For VoodooPS2Trackpad.kext to work multitouch interface engine, named VoodooInput.kext, is required.
For released binaries a compatible version of VoodooInput.kext is already included in the PlugIns directory.
For custom compiled versions VoodooInput.kext bootstrapping is required prior to compilation. By default Xcode project will do this automatically. If you prefer to have your own control over the process execute the following command in the project directory to have VoodooInput bootstrapped:
src=$(/usr/bin/curl -Lfs https://raw.githubusercontent.com/acidanthera/VoodooInput/master/VoodooInput/Scripts/bootstrap.sh) && eval "$src" || exit 1
This kext supports disabling touch input by pressing the Printscreen key on your keyboard, or the touchpad disable key on many laptops. Simply press the key to toggle touchpad input off and again to toggle it back on.
In addition, for 2-in-1 systems that do not support disabling the keyboard in hardware while in tablet mode you may toggle keyboard input off and on by holding option(Windows) and pressing the Printscreen key. Repeat the keypress to re-enable keyboard input. These settings are runtime only and do not persist across a reboot.
* On my touchpad this gesture was practically impossible to perform with the old VoodooPS2Trackpad. Now it works well.
** Due to the limitations of PS/2 bus, Synaptics touchpad reports only the number of fingers and coordinates of two of them to the computer. When there are two fingers on the touchpad and third finger is added, a 'jump' may happen, because the coordinates of one of the fingers are replaced with the coordinates of the added finger. Finger renumbering algorithm estimates the distance from old coordinates to new ones in order to hide this 'jump' from the OS
and to calculate approximate position of the 'hidden' finger, in assumption that fingers move together in parallel to each other. Now third and fourth fingers are reported at the same position as one of the first two fingers. It allows Launchpad/Show desktop gesture to work more reliably.
*** The touchpad reports both finger width (ranged from 4 to 15) and pressure (ranged from 0 to 255), but in practice the measured width is almost always 4, and the reported pressure depends more on actual touch width than on actual pressure.