VoodooI2C 触摸板驱动汇总


介绍

VoodooI2C 是一个由 macOS 内核扩展组成的项目,这些扩展支持 I2C 总线设备。该项目分为两个主要部分:Core - 核心扩展和其他各种 Satellites - 附属程序。

Core

Core 是 VoodooI2C.kext 内核扩展。由 I2C 控制器驱动程序组成,负责将设备块发布到 IOService 层。

Satellites

这些附属程序是各种内核扩展的集合,这些扩展实现了对特定类型的 I2C 设备的支持。例如 VoodooI2CHID.kext,它增加了对 I2C-HID 设备的支持。一般来说,需要为每类I2C设备安装一个附属程序。

当前状态

完全支持以下 Intel I2C 控制器:

  • INT33C2 and INT33C3 - Haswell era
  • INT3432 and INT3433 - Broadwell era
  • pci8086,9d60, pci8086,9d61, pci8086,9d62 and pci8086,9d63 - Skylake era
  • pci8086,a160 and pci8086,a161 - Kaby Lake era
  • pci8086,9de8 and pci8086,9de9 - Cannon Lake/Whiskey Lake era
  • pci8086,a368, pci8086,a369, pci8086,a36a and pci8086,a36b - Coffee Lake era
  • pci8086,2e8 and pci8086,2e9 - Comet Lake era

完全支持以下设备类型:

  • I2C-HID 设备
  • ELAN 设备
  • FTE 设备

请注意,有时设备类之间存在重叠。例如,某些 ELAN 设备也可能是 I2C-HID 设备。

版本历史

  • 2.4.4 Since the last release there have been 7 commit(s). The descriptions for the first (at most) 10 of these are as follows

    • Bump version to 2.4.4 and update VoodooI2CSynaptics
    • Notify multitouch engine when property changed (#344)
    • Update VoodooI2CPCIController for newer Comet Lake PCI IDs (#341)
    • Fixes VoodooInput compatibility (#333)
    • Add Comet Lake H PCI IDs (#335)
    • Minor fixes of power state switching in setPowerState() (#331)
    • Update README.md
  • 2.4.3

    • VoodooGPIO and VoodooI2CHID fixes (@Goshin)
    • VoodooInput 1.0.6
  • 2.4.2

    • Bump version to 2.4.2
    • Sync git submodules
    • Optimize I2C controller (#294)
    • Remove extra retain introduced by a merge conflict fix
    • Merge pull request #295 from blankmac/master
    • Ensure the stylus check is set to zero on start.
    • Correct issue with touchscreens requiring an additional finger for multitouch gestures. This was due to the device presenting a stylus at transducer 0. A simple check prior to sending the message to VoodooInput eliminates the problem. The stylus check in VoodooInput should be removed as unnecessary.
    • VoodooI2CELAN has polling support, thanks @EmotionalLove and @artem-tverdokhlebov
    • Smooth cursor support thanks @Erictoby and @hieplpvip
    • Various fixes within VoodooI2CHID and VoodooGPIO regarding interrupts and sleep/wake issues, thanks @Goshin
  • 2.4.1

    • Added force touch emulation on button click, depending on SysPrefs (#276, #287).
    • Fixed several memory leaks and minor issues.
    • Fixed issues with kext unloading (#292).
    • Build is now done with Xcode 11.4.0.
    • Updated VoodooGPIO and satellite kext with memory leaks and bug fixes.
  • 2.4

    • Bump version to 2.4
    • Do not use BUILD_HOME in the CI flows
    • CI updates (#272)
    • Update VoodooInput git submodule
    • Update VoodooGPIO git submodule
    • Remove deprecated VoodooI2CUPDDEngine git submodule (#271)
    • Update VoodooI2CHID and VooodooGPIO git submodules (#270)
    • Use Xcode 11.3 recommended settings
    • Update VoodooI2CHID (#268)
    • Update VoodooI2CHID git submodule (#261)
  • 2.3

    • Bump version to 2.3
    • CI: Use Xcode 11.3, store build artifacts
    • Update VoodooGPIO, VoodooI2CHID and VoodooI2CELAN
    • Add Comet Lake PCI IDs
    • Merge pull request #229 from blankmac/master
    • Fix issue with some devices failing to meet the deadline in commandSleep.
    • Merge pull request #224 from al3xtjames/commandgate
    • Correct IOCommandGate::commandSleep call
    • Merge pull request #195 from kprinssu/master
    • Add 2 more supported Cannon Lake PCI IDs 8086,a36a & 8086,a36b
  • 2.2

    • Bump version number to v2.2
    • Merge pull request #191 from ben9923/cannonlake
    • Update deployment script to not override current releases
    • Update VoodooGPIO header name
    • Update README & docs to indicate CNL/CFL support
    • Update VoodooGPIO
    • Update GPIO pinning guide for Cannon Point
    • Merge pull request #184 from williambj1/master
    • Merge branch ‘master’ into master
    • Add Sunrise Point-LP I2C2, I2C3 controllers
  • 2.1.6

    • Update VoodooI2CHID
    • Fix SDK download script
    • Bump version number to v2.1.6
    • Use the macOS 10.12 SDK for CI build/release
    • Update VoodooI2CHID
  • 2.1.5

    • Attempt to resolve checkout during deployment
    • Use a CircleCI workspace to persist build output for deployment
    • Use $TARGET_BUILD_DIR to get build directory
    • Merge pull request #176 from ben9923/release-215
    • Merge pull request #175 from alexandred/circleci-20
    • Merge pull request #174 from ben9923/fix-warnings
    • Bump version number to v2.1.5
    • Update VoodooI2CHID satellite
    • Remove unused members from MT2 simulator device
    • Use constants for MT2 maximum X/Y values
  • 2.1.4

  • 2.1.3

    • Merge pull request #104 from hieplpvip/master
    • update submodules, bump version to v2.1.3
  • 2.1.2

    • Support for 10.14 Mojave
    • Reduce hidd CPU usage down to normal levels
    • Improves trackpad click (including on login screen)
    • Fixes a bug where the GPIO controller was not found on boot causing no input

      Since the last release there have been 14 commit(s). The descriptions for the first (at most) 10 of these are as follows

    • bump version to v2.1.2
    • update VoodooI2CHID
    • update VoodooI2CFTE
    • Merge branch ‘master’ of https://github.com/alexandred/VoodooI2C
    • Merge pull request #93 from prizraksarvar/master
    • update VoodooI2CHID
    • Merge pull request #92 from ben9923/wait-for-gpio
    • fix click issues, reduce hidd CPU usage, mojave support
    • Update VoodooI2CFTE
    • Update VoodooI2CFTE submodule
  • 2.1.1

    • This is a quick release to fix the kernel panics occurring when sleeping, shutting down or rebooting on v2.1. Note that this does not yet fix any scaling issues nor is it compatible with Mojave 10.14.
  • 2.1

    • small additions to readme
    • fix missing IOProviderClass in main Info.plist
    • fix FTE merge conflicts
    • gesture documentation and bump version to v2.1
    • fix merge conflict
    • finalise native gesture engine
    • some synaptics stuff
    • some native changes
    • 2F tap is now moreore reliable (but still slightly delayed), still have the 1F drag issue
    • merge local changes
  • 2.0.3

    • revert commits that regressed preferences
    • Revert “Use IOHIDEventService instead of IOHIPointing from CSGesture. Add touch screen support.”
    • Revert “small hack to ensure proper compilation of CSGesture with older SDKs”
    • Revert “change fixed scroll units to normal scroll units”
    • correct a typo in documentation
  • 2.0.2

    • documentation changes
    • bump version to v2.0.2
    • add documentation for polling
    • add warning logs when not using either APIC or GPIO interrupts
    • change fixed scroll units to normal scroll units
    • small hack to ensure proper compilation of CSGesture with older SDKs
    • Merge remote-tracking branch ‘origin/master’
    • Fix integer overflow breaking certain touch screens/styluses
    • Use IOHIDEventService instead of IOHIPointing from CSGesture. Add touch screen support.
  • 2.0.1

    • make sure all versions are set to v2.0.1
    • use latest versions of VoodooI2CHID and VoodooI2CElan, bump version to v2.0.1
    • Ensure 10.11+ support
  • 2.0.0

    • adjust right click space
    • support hardware right click
    • add back in a commented return statement
    • move a condition elsewhere
    • make two finger taps more reliable, refactor
    • fix two finger tap
    • some updates to the documentation
    • fix some niggles
    • fix UPDD
    • fixing stuff

下载链接

资源来源

VoodooI2C


文章作者: 套陆
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 套陆 !
评论
 上一篇
VoodooHDA 万能声卡驱动汇总 VoodooHDA 万能声卡驱动汇总
VoodooHDA 是适用于符合 Intel High Definition Audio 规范的设备的开源音频驱动程序。旨在替代 Mac OS X 上的 AppleHDA,并支持多种音频控制器和编解码器。
2020-05-01
下一篇 
VoodooPS2 触摸板驱动 VoodooPS2 触摸板驱动
介绍新的 VoodooPS2Trackpad 使用 VoodooInput 的 Magic Trackpad II 仿真,以使用 macOS 原生驱动程序处理所有手势。 这样就可以使用 Apple 定义的一到四个手指手势,包括: Loo
2020-05-01
  目录