VoodooPS2 触摸板驱动


新的 VoodooPS2Trackpad 使用 VoodooInput 的 Magic Trackpad II 仿真,以使用 macOS 原生驱动程序处理所有手势。 这样就可以使用 Apple 定义的一到四个手指手势,包括:

  • Look up & data detectors
  • Secondary click (with two fingers, in bottom left corner, in bottom right corner)
  • Tap to click
  • Scrolling
  • Zoom in or out
  • Smart zoom
  • Rotate
  • Swipe between pages
  • Swipe between full-screen apps (with three or four fingers)
  • Notification Centre
  • Mission Control (with three or four fingers)
  • App Exposé (with three or four fingers)
  • Dragging with or without drag lock (configured in ‘Accessibility’/‘Universal Access’ prefpane)
  • Three finger drag (configured in ‘Accessibility’/‘Universal Access’ prefpane, may work unreliably**)
  • Launchpad (may work unreliably)
  • Show Desktop (may work unreliably)
  • Screen zoom (configured in ‘Accessibility’/‘Universal Access’ -> Zoom -> Advanced -> Controls -> Use trackpad gesture to zoom)
  • It also supports BetterTouchTool.

另外,此 kext 支持 Force Touch 仿真(在 Info.plist 中配置):

  • Mode 0 – Force Touch emulation is disabled (you can also disable it in System Preferences without setting the mode).
  • Mode 1 – Force Touch emulation using a physical button: on ClickPads (touchpads which have the whole surface clickable (the physical button is inside the laptop under the bottom of touchpad)), the physical button can be remapped to Force Touch. In such mode a tap is a regular click, if Tap to click gesture is enabled in System Preferences, and a click is a Force Touch. This mode is convenient for people who usually tap on the touchpad, not click.
  • Mode 2 – ‘wide tap’: for Force Touch one needs to increase the area of a finger touching the touchpad***. The necessary width can be set in Info.plist.
  • Mode 3 – pressure value is passed to the system as is; this mode shouldn’t be used.
  • Mode 4 (by @Tarik02) – pressure is passed to the system using the following formula: formula

使用Info.plist或配置SSDT中的ForceTouchCustomUpThreshold,ForceTouchCustomDownThreshold和ForceTouchCustomPower键配置公式中的参数。 请注意,ForceTouchCustomDownThreshold是压力值的上限,反之亦然,因为它对应于完全按下的触摸板。


为了使 VoodooPS2Trackpad.kext 正常工作,需要 VoodooInput.kext 的多点触摸界面引擎。新版的 VoodooPS2 已经将 VoodooInput 作为 PlugIns 插入到了 PlugIns 目录下。

在编译之前需要 VoodooInput.kext 引导程序。 默认情况下,Xcode 编译时会自动执行此操作。 如果希望自己控制该过程或使用命令行编译,请在项目目录执行以下命令以安装 VoodooInput 依赖:

src=$(/usr/bin/curl -Lfs https://raw.githubusercontent.com/acidanthera/VoodooInput/master/VoodooInput/Scripts/bootstrap.sh) && eval "$src" || exit 1


  • 2.2.0

    • Added VoodooRmi compatibility to allow external touchpad resets
  • v2.1.9

    • Disabled PrntScr remap by default, see SSDT-PrtSc-Remap.dsl for example to re-enable it
    • Disabled Command and Option remap by default, see SSDT-Swap-CommandOption.dsl for example to re-enable it
  • V2.1.8

    • Added support for receiving input form other kexts
    • Fixed dynamic coordinate refresh for ELAN v3 touchpads
  • v2.1.7

    • Initial MacKernelSDK and Xcode 12 compatibility
    • Added support for select ELAN touchpads by BAndysc and hieplpvip
    • Added constants for 11.0 support
  • v2.1.6

    • Upgraded to VoodooInput 1.0.7
    • Fixed swiping desktops when holding a dragged item by improving thumb detection
    • Fixed keyboard timeout error on some laptop configurations
    • Fix Command key being pressed after disabling the keyboard and trackpad with Command-PrtScr key combo
    • Added a message to allow other kexts to disable the keyboard
  • v2.1.5

    • Upgraded to VoodooInput 1.0.6
    • Added logo + print scr hotkey to disable trackpad
  • v2.1.4

    • Upgraded to VoodooInput 1.0.5
    • Improved Smart Zoom and four finger gestures
    • Enabled Extended W mode on all trackpads that support it
    • Added ability for one special key to block trackpad longer than other keys
    • Added a new Force Touch emulation mode
  • v2.1.3

    • Added ps2rst=0 boot-arg for select CFL laptop compatibility
    • Added compatibility with VoodooInput 1.0.4
    • VoodooInput is now bundled with VoodooPS2
  • v2.1.2

    • Fixed initialisation race conditions causing kernel panics
  • v2.1.1

    • Fixed kext unloading causing kernel panics
    • Fixed Caps Lock LED issues (thx @Goshin)
  • v2.1.0

    • Improved reliability of three-finger dragging
    • Improved reliability of finger renumbering algorithm
    • Support for four-finger swipes
    • Experimental support for four-finger pinch and spread gestures (very unstable)
    • Magic Trackpad 2 simulation moved to VoodooInput project
  • v2.0.4

    • Patched CapsLock workaround for Mojave
  • v2.0.3

    • Use touchpad sleep mode during mainboard sleep
    • Improve physical and trackpad button support
  • v2.0.2

    • Unified release archive names
    • Initial workaround to rare kernel panics
    • Rebranding and conflict resolution with other drivers
    • Improve reliability of edge swipe gestures
    • Support macOS 10.11 to 10.15 beta
    • Support Xcode 11 beta
    • Support clicking with multiple fingers
    • Fix bugs in finger renumbering algorithm
    • Ignore hovering above the touchpad
    • [Temporary] Support overriding touchpad dimensions for old touchpads that don’t report minimum coordinates



文章作者: 套陆
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 套陆 !