For the first time to submit

This commit is contained in:
辩识、
2020-07-30 10:33:16 +08:00
commit b15289f694
179 changed files with 35199 additions and 0 deletions
+101
View File
@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>17G13035</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>VoodooRMI</string>
<key>CFBundleIdentifier</key>
<string>com.1Revenger1.VoodooRMI</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>VoodooRMI</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>0.5</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>0.5</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>9F2000</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>17E189</string>
<key>DTSDKName</key>
<string>macosx10.13</string>
<key>DTXcode</key>
<string>0941</string>
<key>DTXcodeBuild</key>
<string>9F2000</string>
<key>IOKitPersonalities</key>
<dict>
<key>RMIDevice</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.1Revenger1.VoodooRMI</string>
<key>Configuration</key>
<dict>
<key>DisableWhileTypingTimeout</key>
<integer>100</integer>
<key>ForceTouchEmulation</key>
<true/>
<key>ForceTouchMinPressure</key>
<integer>90</integer>
<key>MinYDiffThumbDetection</key>
<integer>200</integer>
<key>TrackstickDeadzone</key>
<integer>1</integer>
<key>TrackstickMultiplier</key>
<integer>20</integer>
<key>TrackstickScrollMultiplierX</key>
<integer>20</integer>
<key>TrackstickScrollMultiplierY</key>
<integer>20</integer>
</dict>
<key>IOClass</key>
<string>RMIBus</string>
<key>IOProbeScore</key>
<integer>2910</integer>
<key>IOProviderClass</key>
<string>RMISMBus</string>
</dict>
<key>RMISMBus</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.1Revenger1.VoodooRMI</string>
<key>IOClass</key>
<string>RMISMBus</string>
<key>IOProbeScore</key>
<integer>500</integer>
<key>IOProviderClass</key>
<string>VoodooSMBusDeviceNub</string>
</dict>
</dict>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2020 1Revenger1. All rights reserved.</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IOHIDFamily</key>
<string>2.0</string>
<key>com.apple.kpi.iokit</key>
<string>18.5</string>
<key>com.apple.kpi.libkern</key>
<string>18.5</string>
<key>com.apple.kpi.mach</key>
<string>18.5</string>
<key>de.leo-labs.VoodooSMBus</key>
<string>2.1</string>
</dict>
</dict>
</plist>
Binary file not shown.
@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>17G13035</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>VoodooInput</string>
<key>CFBundleIdentifier</key>
<string>me.kishorprins.VoodooInput</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>VoodooInput</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.0.6</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.0.6</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>9F2000</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>17E189</string>
<key>DTSDKName</key>
<string>macosx10.13</string>
<key>DTXcode</key>
<string>0941</string>
<key>DTXcodeBuild</key>
<string>9F2000</string>
<key>IOKitPersonalities</key>
<dict>
<key>Voodoo Input</key>
<dict>
<key>CFBundleIdentifier</key>
<string>me.kishorprins.VoodooInput</string>
<key>IOClass</key>
<string>VoodooInput</string>
<key>IOProbeScore</key>
<integer>200</integer>
<key>IOPropertyMatch</key>
<dict>
<key>VoodooInputSupported</key>
<true/>
</dict>
<key>IOProviderClass</key>
<string>IOService</string>
</dict>
</dict>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2019 Kishor Prins. All rights reserved.</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IOHIDFamily</key>
<string>2.0</string>
<key>com.apple.kpi.iokit</key>
<string>14</string>
<key>com.apple.kpi.libkern</key>
<string>14</string>
<key>com.apple.kpi.mach</key>
<string>13.0</string>
</dict>
<key>OSBundleRequired</key>
<string>Root</string>
</dict>
</plist>
@@ -0,0 +1,39 @@
//
// MultitouchHelpers.hpp
// VooodooInput
//
// Copyright © 2019 Alexandre Daoud. All rights reserved.
//
#ifndef MULTITOUCH_HELPERS_H
#define MULTITOUCH_HELPERS_H
#define AbsoluteTime_to_scalar(x) (*(uint64_t *)(x))
#define SUB_ABSOLUTETIME(t1, t2) \
(AbsoluteTime_to_scalar(t1) -= \
AbsoluteTime_to_scalar(t2))
#define kIOPMPowerOff 0
#define kIOPMNumberPowerStates 2
enum {
// transforms
kIOFBRotateFlags = 0x0000000f,
kIOFBSwapAxes = 0x00000001,
kIOFBInvertX = 0x00000002,
kIOFBInvertY = 0x00000004,
kIOFBRotate0 = 0x00000000,
kIOFBRotate90 = kIOFBSwapAxes | kIOFBInvertX,
kIOFBRotate180 = kIOFBInvertX | kIOFBInvertY,
kIOFBRotate270 = kIOFBSwapAxes | kIOFBInvertY
};
static IOPMPowerState PMPowerStates[kIOPMNumberPowerStates] = {
{1, kIOPMPowerOff, kIOPMPowerOff, kIOPMPowerOff, 0, 0, 0, 0, 0, 0, 0, 0},
{1, kIOPMPowerOn, kIOPMPowerOn, kIOPMPowerOn, 0, 0, 0, 0, 0, 0, 0, 0}
};
#endif
@@ -0,0 +1,26 @@
//
// VoodooInputEvent.h
// VooodooInput
//
// Copyright © 2019 Kishor Prins. All rights reserved.
//
#ifndef VOODOO_INPUT_EVENT_H
#define VOODOO_INPUT_EVENT_H
#include "VoodooInputTransducer.h"
struct VoodooInputEvent {
UInt8 contact_count;
AbsoluteTime timestamp;
VoodooInputTransducer transducers[VOODOO_INPUT_MAX_TRANSDUCERS];
};
struct VoodooInputDimensions {
SInt32 min_x;
SInt32 max_x;
SInt32 min_y;
SInt32 max_y;
};
#endif /* VoodooInputEvent_h */
@@ -0,0 +1,29 @@
//
// VoodooInputMessages.h
// VooodooInput
//
// Copyright © 2019 Kishor Prins. All rights reserved.
//
#ifndef VOODOO_INPUT_MESSAGES_H
#define VOODOO_INPUT_MESSAGES_H
#define VOODOO_INPUT_IDENTIFIER "VoodooInput Instance"
#define VOODOO_INPUT_TRANSFORM_KEY "IOFBTransform"
#define VOODOO_INPUT_LOGICAL_MAX_X_KEY "Logical Max X"
#define VOODOO_INPUT_LOGICAL_MAX_Y_KEY "Logical Max Y"
#define VOODOO_INPUT_PHYSICAL_MAX_X_KEY "Physical Max X"
#define VOODOO_INPUT_PHYSICAL_MAX_Y_KEY "Physical Max Y"
#define VOODOO_INPUT_MAX_TRANSDUCERS 10
#define kIOMessageVoodooInputMessage 12345
#define kIOMessageVoodooInputUpdateDimensionsMessage 12346
#define kVoodooInputTransducerFingerType 1
#define kVoodooInputTransducerStylusType 2
#include "VoodooInputTransducer.h"
#include "VoodooInputEvent.h"
#endif /* VoodooInputMessages_h */
@@ -0,0 +1,54 @@
//
// VoodooInputTransducer.hpp
// VooodooInput
//
// Copyright © 2019 Kishor Prins. All rights reserved.
//
#ifndef VOODOO_INPUT_TRANSDUCER_H
#define VOODOO_INPUT_TRANSDUCER_H
#define VOODOO_INPUT_MAX_TRANSDUCERS 10
enum MT2FingerType {
kMT2FingerTypeUndefined = 0,
kMT2FingerTypeThumb,
kMT2FingerTypeIndexFinger,
kMT2FingerTypeMiddleFinger,
kMT2FingerTypeRingFinger,
kMT2FingerTypeLittleFinger,
kMT2FingerTypeCount
};
enum VoodooInputTransducerType {
STYLUS,
FINGER
};
struct TouchCoordinates {
UInt32 x;
UInt32 y;
UInt8 pressure;
UInt8 width;
};
struct VoodooInputTransducer {
AbsoluteTime timestamp;
MT2FingerType fingerType;
UInt32 secondaryId;
VoodooInputTransducerType type;
bool isValid;
bool isPhysicalButtonDown;
bool isTransducerActive;
bool supportsPressure;
TouchCoordinates currentCoordinates;
TouchCoordinates previousCoordinates;
UInt32 maxPressure;
};
#endif
@@ -0,0 +1,177 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>Resources/VoodooInputMultitouch/MultitouchHelpers.h</key>
<data>
2Dn/wSPXmisHoAia4HckRfPF9VY=
</data>
<key>Resources/VoodooInputMultitouch/VoodooInputEvent.h</key>
<data>
4GTEuNGgjRofbAtGSyWz6Nbsnos=
</data>
<key>Resources/VoodooInputMultitouch/VoodooInputMessages.h</key>
<data>
ITveLScF2AAkztNSTyiWkOCYc8U=
</data>
<key>Resources/VoodooInputMultitouch/VoodooInputTransducer.h</key>
<data>
gkk9BaVsQ4gUmaqO8llP7dOHjhE=
</data>
</dict>
<key>files2</key>
<dict>
<key>Resources/VoodooInputMultitouch/MultitouchHelpers.h</key>
<dict>
<key>hash</key>
<data>
2Dn/wSPXmisHoAia4HckRfPF9VY=
</data>
<key>hash2</key>
<data>
Sfb8D4oD0U3eU/uN3tJWzilbqnn/x967cYacLl0mbZc=
</data>
</dict>
<key>Resources/VoodooInputMultitouch/VoodooInputEvent.h</key>
<dict>
<key>hash</key>
<data>
4GTEuNGgjRofbAtGSyWz6Nbsnos=
</data>
<key>hash2</key>
<data>
pU3r7vNH4yll7M033lo4m86PdykPsGcQ05X2FBUJqxA=
</data>
</dict>
<key>Resources/VoodooInputMultitouch/VoodooInputMessages.h</key>
<dict>
<key>hash</key>
<data>
ITveLScF2AAkztNSTyiWkOCYc8U=
</data>
<key>hash2</key>
<data>
6cZnFcLcCIBCR9exzPhAM5inJryl67pW37DSZJP2nI8=
</data>
</dict>
<key>Resources/VoodooInputMultitouch/VoodooInputTransducer.h</key>
<dict>
<key>hash</key>
<data>
gkk9BaVsQ4gUmaqO8llP7dOHjhE=
</data>
<key>hash2</key>
<data>
K17G+d04Tw396K/qurHzQZc/0cTgWwEESFtu6sfMd0w=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>
@@ -0,0 +1,574 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>17G13035</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>VoodooSMBus</string>
<key>CFBundleIdentifier</key>
<string>de.leo-labs.VoodooSMBus</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>VoodooSMBus</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>2.1</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>2.1</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>9F2000</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>17E189</string>
<key>DTSDKName</key>
<string>macosx10.13</string>
<key>DTXcode</key>
<string>0941</string>
<key>DTXcodeBuild</key>
<string>9F2000</string>
<key>IOKitPersonalities</key>
<dict>
<key>Custom MT2 Personality</key>
<dict>
<key>ApplePreferenceCapability</key>
<integer>2</integer>
<key>ApplePreferenceIdentifier</key>
<string>com.apple.AppleMultitouchTrackpad</string>
<key>ApplePreferencesDefaultPreferences</key>
<dict>
<key>ActuateDetents</key>
<integer>0</integer>
<key>Clicking</key>
<integer>1</integer>
<key>DragLock</key>
<integer>0</integer>
<key>Dragging</key>
<integer>0</integer>
<key>FirstClickThreshold</key>
<integer>1</integer>
<key>ForceSuppressed</key>
<true/>
<key>SecondClickThreshold</key>
<integer>1</integer>
<key>TrackpadCornerSecondaryClick</key>
<integer>0</integer>
<key>TrackpadFiveFingerPinchGesture</key>
<integer>2</integer>
<key>TrackpadFourFingerHorizSwipeGesture</key>
<integer>2</integer>
<key>TrackpadFourFingerPinchGesture</key>
<integer>2</integer>
<key>TrackpadFourFingerVertSwipeGesture</key>
<integer>2</integer>
<key>TrackpadHorizScroll</key>
<integer>1</integer>
<key>TrackpadMomentumScroll</key>
<true/>
<key>TrackpadPinch</key>
<integer>1</integer>
<key>TrackpadRightClick</key>
<true/>
<key>TrackpadRotate</key>
<integer>1</integer>
<key>TrackpadScroll</key>
<true/>
<key>TrackpadThreeFingerDrag</key>
<false/>
<key>TrackpadThreeFingerHorizSwipeGesture</key>
<integer>2</integer>
<key>TrackpadThreeFingerVertSwipeGesture</key>
<integer>2</integer>
</dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleTopCaseHIDEventDriver</string>
<key>DefaultMultitouchProperties</key>
<dict>
<key>ActuationSupported</key>
<false/>
<key>ExtractAndPostDeviceButtonState</key>
<true/>
<key>ForceSupported</key>
<false/>
<key>HIDServiceSupport</key>
<true/>
<key>IOCFPlugInTypes</key>
<dict>
<key>0516B563-B15B-11DA-96EB-0014519758EF</key>
<string>AppleMultitouchDriver.kext/Contents/PlugIns/MultitouchHID.plugin</string>
</dict>
<key>MT Built-In</key>
<true/>
<key>MTHIDDevice</key>
<true/>
<key>MTPowerStatsDisable</key>
<true/>
<key>SupportsGestureScrolling</key>
<true/>
<key>TrackpadFourFingerGestures</key>
<true/>
<key>TrackpadMomentumScroll</key>
<true/>
<key>TrackpadSecondaryClickCorners</key>
<true/>
<key>TrackpadThreeFingerDrag</key>
<true/>
<key>parser-options</key>
<integer>39</integer>
<key>parser-type</key>
<integer>1000</integer>
</dict>
<key>DeviceUsagePairs</key>
<array>
<dict>
<key>DeviceUsage</key>
<integer>2</integer>
<key>DeviceUsagePage</key>
<integer>1</integer>
</dict>
</array>
<key>DoReportIntervalHack</key>
<true/>
<key>HIDAccelCurves</key>
<array>
<dict>
<key>HIDAccelGainLinear</key>
<integer>65536</integer>
<key>HIDAccelIndex</key>
<integer>0</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>484966</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>1376256</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>5243</integer>
<key>HIDAccelGainLinear</key>
<integer>64881</integer>
<key>HIDAccelGainParabolic</key>
<integer>32768</integer>
<key>HIDAccelIndex</key>
<integer>8192</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>478413</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>1310720</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>6554</integer>
<key>HIDAccelGainLinear</key>
<integer>64225</integer>
<key>HIDAccelGainParabolic</key>
<integer>43254</integer>
<key>HIDAccelIndex</key>
<integer>32768</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>471859</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>1245184</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>7864</integer>
<key>HIDAccelGainLinear</key>
<integer>62915</integer>
<key>HIDAccelGainParabolic</key>
<integer>54395</integer>
<key>HIDAccelIndex</key>
<integer>45056</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>465306</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>1179648</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>9830</integer>
<key>HIDAccelGainLinear</key>
<integer>61604</integer>
<key>HIDAccelGainParabolic</key>
<integer>65536</integer>
<key>HIDAccelIndex</key>
<integer>57344</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>458752</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>1114112</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>11796</integer>
<key>HIDAccelGainLinear</key>
<integer>60293</integer>
<key>HIDAccelGainParabolic</key>
<integer>75366</integer>
<key>HIDAccelIndex</key>
<integer>65536</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>458752</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>1048576</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>13763</integer>
<key>HIDAccelGainLinear</key>
<integer>58327</integer>
<key>HIDAccelGainParabolic</key>
<integer>85197</integer>
<key>HIDAccelIndex</key>
<integer>98304</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>458752</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>983040</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>15729</integer>
<key>HIDAccelGainLinear</key>
<integer>56361</integer>
<key>HIDAccelGainParabolic</key>
<integer>95027</integer>
<key>HIDAccelIndex</key>
<integer>131072</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>458752</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>917504</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>18350</integer>
<key>HIDAccelGainLinear</key>
<integer>54395</integer>
<key>HIDAccelGainParabolic</key>
<integer>108790</integer>
<key>HIDAccelIndex</key>
<integer>163840</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>458752</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>851968</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>23593</integer>
<key>HIDAccelGainLinear</key>
<integer>65536</integer>
<key>HIDAccelGainParabolic</key>
<integer>123208</integer>
<key>HIDAccelIndex</key>
<integer>196608</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>458752</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
</array>
<key>HIDDisallowRemappingOfPrimaryClick</key>
<true/>
<key>HIDPointerAccelerationTable</key>
<data>
AACAAFVTQioABwAAAAAAAgAEAAAABAAAABAAAAAQAAAAACAAAA0A
AIAAAACAAAABQAAAAYAAAAIAAAAC4AAAAwAAAATgAAAEAAAAB0AA
AAUAAAAKAAAABgAAAA1AAAAIAAAAFgAAAArAAAAjAAAADQAAAC8A
AAAOwAAAOMAAABBAAABBAAAAEcAAAEjAAAAAUAAADwAAgAAAAIAA
AAEAAAABQAAAAYAAAAJAAAACAAAAA4AAAAKAAAAE4AAAAwAAAAZg
AAAEAAAACgAAAAUAAAAOQAAABgAAABNAAAAIAAAAHsAAAArAAAAu
wAAADQAAADyAAAAOwAAARwAAABBAAABPwAAAEcAAAFiAAAAAgAAA
DwAAgAAAAIAAAAEAAAABYAAAAYAAAAKgAAACAAAABEAAAAKAAAAG
AAAAAwAAAAgAAAAEAAAADQAAAAUAAAASwAAABgAAABkAAAAIAAAA
KAAAAArAAAA7wAAADQAAAEuAAAAOwAAAV0AAABBAAABgQAAAEcAA
AGkAAAAAsAAADwAAgAAAAIAAAAEAAAABoAAAAYAAAAMAAAACAAAA
BQAAAAKAAAAHQAAAAwAAAAnAAAAEAAAAEEAAAAUAAAAXgAAABgAA
AB/AAAAIAAAAMgAAAArAAABKAAAADQAAAFyAAAAOwAAAaQAAABBA
AABywAAAEcAAAHrAAAAA4AAADwAAgAAAAKAAAAEAAAABwAAAAYAA
AANgAAACAAAABeAAAAKAAAAIoAAAAwAAAAvAAAAEAAAAE8AAAAUA
AAAdQAAABgAAACfAAAAIAAAAPcAAAArAAABZAAAADQAAAG3AAAAO
wAAAe0AAABBAAACFQAAAEcAAAIxAAAABAAAADwAAgAAAAMAAAAEA
AAACAAAAAYAAAAPgAAACAAAABsAAAAKAAAAKQAAAAwAAAA5gAAAE
AAAAGMAAAAUAAAAkwAAABgAAADLAAAAIAAAATUAAAArAAABugAAA
DQAAAIMAAAAOwAAAj0AAABBAAACXAAAAEcAAAJxA
</data>
<key>HIDPointerAccelerationType</key>
<string>HIDTrackpadAcceleration</string>
<key>HIDScrollAccelCurves</key>
<array>
<dict>
<key>HIDAccelGainLinear</key>
<integer>65536</integer>
<key>HIDAccelIndex</key>
<integer>0</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>393216</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>62259</integer>
<key>HIDAccelGainParabolic</key>
<integer>39322</integer>
<key>HIDAccelIndex</key>
<integer>8192</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>406323</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>58982</integer>
<key>HIDAccelGainParabolic</key>
<integer>58982</integer>
<key>HIDAccelIndex</key>
<integer>32768</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>419430</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>55706</integer>
<key>HIDAccelGainParabolic</key>
<integer>78643</integer>
<key>HIDAccelIndex</key>
<integer>45056</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>432538</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>52429</integer>
<key>HIDAccelGainParabolic</key>
<integer>91750</integer>
<key>HIDAccelIndex</key>
<integer>57344</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>445645</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>49152</integer>
<key>HIDAccelGainParabolic</key>
<integer>104858</integer>
<key>HIDAccelIndex</key>
<integer>65536</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>458752</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>45875</integer>
<key>HIDAccelGainParabolic</key>
<integer>117965</integer>
<key>HIDAccelIndex</key>
<integer>98304</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>471859</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>42598</integer>
<key>HIDAccelGainParabolic</key>
<integer>131072</integer>
<key>HIDAccelIndex</key>
<integer>131072</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>484966</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>39322</integer>
<key>HIDAccelGainParabolic</key>
<integer>144179</integer>
<key>HIDAccelIndex</key>
<integer>163840</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>498074</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>36045</integer>
<key>HIDAccelGainParabolic</key>
<integer>157286</integer>
<key>HIDAccelIndex</key>
<integer>196608</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>511181</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
</array>
<key>HIDScrollAccelerationTable</key>
<data>
AACAAFVTQioABwAAAAAAAQABAAAAAQAAAAAgAAAQAABxOwAATOMA
AwAAAAdgAAAEwAAADoAAAAbxSgAX6V4ACVeCACMQWgALZ6EALBF7
AA2N1AA03ToAD36aADvQuAASWKAARl01ABUAAABO2dgAF8AAAFXK
7QAas+UAW2FQAB2QAABe0qoAIL75AGEgywAkLXsAYnXvACewAABj
Rl8AAIAAABMAAHE7AABWfwABAAAAAuAAAAIAAAAJYAAAAwAAABIA
AAAEwAAAIMAAAAaAAAAwgAAACGp5AEH9tgAK7bUAV4ZuAA0B2ABr
PTkADv1/AIEEcAAQy5gAkdRWABJouQCe3VAAE+c/AKikCgAXAucA
tn2SABot3ADARE4AHVjQAMX4OgAg35IAytuYACQ4bgDO7mUAJ6CX
ANIwowAAsAAAFAAAcTsAAGFOAADAAAABwAAAAQAAAANgAAACAAAA
DCAAAAMAAAAW4AAABMAAACnAAAAGQAAAOsAAAAfOggBP7OcACgWA
AGo8rgAL658AhMCkAA2RCwCfR+EADzjIALWDbwAQ/k8AxqbEABLN
UQDUeCMAFepmAOTKxwAZoVYA8qFmAB1CvwD7fXwAIQuCAQFpdAAk
S20BBVKIACegAAEIK4wAAOAAABQAAHE7AABtdwAAwAAAAeAAAAEA
AAAD4AAAAgAAAA6AAAADAAAAHEAAAATAAAA0AAAABgAAAEdAAAAH
N4wAXL7hAAkAAACAwAAACoAAAKGAAAALz7IAvU7UAA01yQDadikA
DvtPAPKF4gARLu4BCSWiABUlDwEfV8QAGT9oASzRKgAdChkBNQrG
ACDz5QE6cR4AJEARAT3XdgAnn1YBQMHWAABQAAATAABxOwAAS7AA
AQAAAAJgAAACAAAABuAAAAMAAAAMYAAABMAAABcAAAAGwAAAJAAA
AAkAAAAyAAAACz1uAEFngAANcE8AUMGhAA+sTQBgSTMAEagdAG5N
TAATT9YAd9WQABTQfgB+26MAF3odAIbYXQAagocAjp+lAB2J6QCT
vnkAIN/yAJdcWwAkO0IAmYu9ACegOACacdcAAQAAABUAAHE7AABW
fwAAwAAAAiAAAAEAAAAEgAAAAYAAAAqAAAACAAAAEaAAAAMAAAAh
gAAABMAAAD6AAAAFwAAAVEAAAAbAAABrAAAACAAAAIxAAAAJAAAA
qYAAAApAAADKwAAAC8AAAPTAAAANwAABJAAAABAAAAFEn9IAFEAA
AV49zAAZAAABbrsYABzQAAFz78AAIOAAAXhvwAAkIAABem/AACeg
AAF8JGg=
</data>
<key>HIDScrollAccelerationType</key>
<string>HIDTrackpadScrollAcceleration</string>
<key>HIDScrollResolution</key>
<integer>26214400</integer>
<key>IOCFPlugInTypes</key>
<dict>
<key>0516B563-B15B-11DA-96EB-0014519758EF</key>
<string>AppleMultitouchDriver.kext/Contents/PlugIns/MultitouchHID.plugin</string>
</dict>
<key>IOClass</key>
<string>AppleMultitouchTrackpadHIDEventDriver</string>
<key>IOProbeScore</key>
<integer>9999</integer>
<key>IOProviderClass</key>
<string>IOHIDInterface</string>
<key>MTEventSource</key>
<true/>
<key>ProductIDArray</key>
<array>
<integer>628</integer>
</array>
<key>TrackpadEmbedded</key>
<true/>
<key>VendorID</key>
<integer>1452</integer>
</dict>
<key>ELANTouchpadDriver</key>
<dict>
<key>CFBundleIdentifier</key>
<string>de.leo-labs.VoodooSMBus</string>
<key>Configuration</key>
<dict>
<key>DisableWhileTrackpoint</key>
<true/>
<key>DisableWhileTrackpointTimeoutMs</key>
<integer>500</integer>
<key>DisableWhileTypingTimeoutMs</key>
<integer>400</integer>
<key>IgnoreSetTouchpadStatus</key>
<false/>
</dict>
<key>IOClass</key>
<string>ELANTouchpadDriver</string>
<key>IOProbeScore</key>
<integer>400</integer>
<key>IOProviderClass</key>
<string>VoodooSMBusDeviceNub</string>
<key>RM,deliverNotifications</key>
<true/>
</dict>
<key>Native Multitouch Engine</key>
<dict>
<key>CFBundleIdentifier</key>
<string>de.leo-labs.VoodooSMBus</string>
<key>IOClass</key>
<string>VoodooI2CNativeEngine</string>
<key>IOMatchCategory</key>
<string>VoodooI2CNativeEngine</string>
<key>IOProviderClass</key>
<string>VoodooI2CMultitouchInterface</string>
</dict>
<key>VoodooSMBusControllerDriver</key>
<dict>
<key>Addresses</key>
<array>
<integer>44</integer>
<integer>21</integer>
</array>
<key>CFBundleIdentifier</key>
<string>de.leo-labs.VoodooSMBus</string>
<key>IOClass</key>
<string>VoodooSMBusControllerDriver</string>
<key>IOPCIMatch</key>
<string>0x9d238086 0xa3238086</string>
<key>IOPCIMatchComment</key>
<string>Intel SMBus Controller i80 (9d23: Sunrise Point-LP (PCH), a323: Cannon Lake-H (PCH))</string>
<key>IOProbeScore</key>
<integer>400</integer>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
</dict>
<key>VoodooSMBusIntelLpssI2C</key>
<dict>
<key>CFBundleIdentifier</key>
<string>de.leo-labs.VoodooSMBus</string>
<key>IOClass</key>
<string>VoodooSMBusIntelLpssI2C</string>
<key>IOPCIMatch</key>
<string>0x9d608086</string>
<key>IOPCIMatchComment</key>
<string>Dummy IntelLpssI2CDriver</string>
<key>IOProbeScore</key>
<integer>400</integer>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
</dict>
</dict>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2019 leo-labs. All rights reserved.</string>
<key>OSBundleCompatibleVersion</key>
<string>2.1</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IOHIDFamily</key>
<string>2.0</string>
<key>com.apple.iokit.IOPCIFamily</key>
<string>2.9</string>
<key>com.apple.kpi.iokit</key>
<string>18.5</string>
<key>com.apple.kpi.libkern</key>
<string>18.5</string>
<key>com.apple.kpi.mach</key>
<string>18.5</string>
</dict>
</dict>
</plist>
@@ -0,0 +1,50 @@
/*
* VoodooSMBusDeviceNub.hpp
* SMBus Controller Driver for macOS X
*
* Copyright (c) 2019 Leonard Kleinhans <leo-labs>
*
*/
#ifndef VoodooSMBusDeviceNub_hpp
#define VoodooSMBusDeviceNub_hpp
#include <IOKit/IOService.h>
class VoodooSMBusControllerDriver;
class VoodooSMBusSlaveDevice;
typedef UInt8 u8;
#ifndef EXPORT
#define EXPORT __attribute__((visibility("default")))
#endif
class EXPORT VoodooSMBusDeviceNub : public IOService {
OSDeclareDefaultStructors(VoodooSMBusDeviceNub);
public:
bool init() override;
bool attach(IOService* provider, UInt8 address);
bool start(IOService* provider) override;
void stop(IOService* provider) override;
void free(void) override;
void handleHostNotify();
void setSlaveDeviceFlags(unsigned short flags);
IOReturn writeByteData(u8 command, u8 value);
IOReturn readByteData(u8 command);
IOReturn readBlockData(u8 command, u8 *values);
IOReturn writeByte(u8 value);
IOReturn writeBlockData(u8 command, u8 length, const u8 *values);
IOReturn wakeupController();
private:
VoodooSMBusControllerDriver* controller;
void releaseResources();
VoodooSMBusSlaveDevice* slave_device;
void handleHostNotifyThreaded();
};
#endif /* VoodooSMBusDeviceNub_hpp */
@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>Resources/Headers/VoodooSMBusDeviceNub.hpp</key>
<data>
Gkz/vNrHlRcTeb3TNsAqUb24aZ4=
</data>
</dict>
<key>files2</key>
<dict>
<key>Resources/Headers/VoodooSMBusDeviceNub.hpp</key>
<dict>
<key>hash</key>
<data>
Gkz/vNrHlRcTeb3TNsAqUb24aZ4=
</data>
<key>hash2</key>
<data>
OgYn96uJNktmjX+20pkPJEVgMAFTgyFCGxbanbDpdzA=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>
@@ -0,0 +1,186 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>Resources/VoodooSMBus.kext/Contents/Info.plist</key>
<data>
DGX1zycjRTX2+91LhvBRD+ofkZ8=
</data>
<key>Resources/VoodooSMBus.kext/Contents/MacOS/VoodooSMBus</key>
<data>
IXEVDsxN+vMu2wLwAZlwV0D8CCM=
</data>
<key>Resources/VoodooSMBus.kext/Contents/Resources/Headers/VoodooSMBusDeviceNub.hpp</key>
<data>
Gkz/vNrHlRcTeb3TNsAqUb24aZ4=
</data>
<key>Resources/VoodooSMBus.kext/Contents/_CodeSignature/CodeResources</key>
<data>
KEdn/SMYhrvgjQV0XBx1F6hqbEA=
</data>
</dict>
<key>files2</key>
<dict>
<key>PlugIns/VoodooInput.kext</key>
<dict>
<key>cdhash</key>
<data>
z/bqi3jHjuDwp8awimjIRz+PF1o=
</data>
<key>requirement</key>
<string>cdhash H"a25f20cc1295927aa6b1e76d9f8b488040cad6c6" or cdhash H"cff6ea8b78c78ee0f0a7c6b08a68c8473f8f175a"</string>
</dict>
<key>Resources/VoodooSMBus.kext/Contents/Info.plist</key>
<dict>
<key>hash</key>
<data>
DGX1zycjRTX2+91LhvBRD+ofkZ8=
</data>
<key>hash2</key>
<data>
/JmxjWrs0JwM7bm0BekwPg5LNOlVDJzMo+UXlqgjUwc=
</data>
</dict>
<key>Resources/VoodooSMBus.kext/Contents/MacOS/VoodooSMBus</key>
<dict>
<key>hash</key>
<data>
IXEVDsxN+vMu2wLwAZlwV0D8CCM=
</data>
<key>hash2</key>
<data>
fL0h3PQZx7KXrKHGrxMmMNj++ZTnZu4nICzKiBUaUgo=
</data>
</dict>
<key>Resources/VoodooSMBus.kext/Contents/Resources/Headers/VoodooSMBusDeviceNub.hpp</key>
<dict>
<key>hash</key>
<data>
Gkz/vNrHlRcTeb3TNsAqUb24aZ4=
</data>
<key>hash2</key>
<data>
OgYn96uJNktmjX+20pkPJEVgMAFTgyFCGxbanbDpdzA=
</data>
</dict>
<key>Resources/VoodooSMBus.kext/Contents/_CodeSignature/CodeResources</key>
<dict>
<key>hash</key>
<data>
KEdn/SMYhrvgjQV0XBx1F6hqbEA=
</data>
<key>hash2</key>
<data>
BgN4cDIha0rGFeM4B52IbPENLsc7y4qToe55Lvxmz0k=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>