Thanks for the reply. Yes I see that, but when I try with the following combinations I get the same result:
This should match at 100,000 instead com.apple.AppleUserHIDDrivers that matches at 50,001
<key>idVendor</key>
<integer>1240</integer>
<key>idProduct</key>
<integer>63</integer>
<key>bInterfaceNumber</key>
<string>0</string>
<key>bConfigurationValue</key>
<string>1</string>
<key>bcdDevice</key>
<string>2</string>
This should match at 90,000 instead com.apple.AppleUserHIDDrivers that matches at 50,001
<key>idVendor</key>
<integer>1240</integer>
<key>idProduct</key>
<integer>63</integer>
<key>bInterfaceNumber</key>
<string>0</string>
<key>bConfigurationValue</key>
<string>1</string>
This should match at 60,000 instead com.apple.AppleUserHIDDrivers that matches at 50,001
<key>bInterfaceClass</key>
<integer>3</integer>
<key>bInterfaceSubClass</key>
<integer>0</integer>
<key>bInterfaceProtocol</key>
<string>0</string>
At the log I see the following:
331 default kernelmanagerd kernelmanagerd <Description missing> symlink /Library/DriverExtensions/qbtech.Clicker.driver.dext -> /Library/SystemExtensions/E744CAAC-D320-459C-9DBD-5258C44D0000/qbtech.Clicker.driver.dext 10:49:25.429349+0200
331 default kernelmanagerd kernelmanagerd com.apple.kernelmanagerd.logging DextValidation Realize dext qbtech.Clicker.driver 10:49:25.429466+0200
331 default kernelmanagerd kernelmanagerd <Description missing> validating extension at /Library/SystemExtensions/E744CAAC-D320-459C-9DBD-5258C44D0000/qbtech.Clicker.driver.dext 10:49:25.433887+0200
331 default kernelmanagerd kernelmanagerd com.apple.kernelmanagerd.logging KernelClient Loading codeless extension: Dext qbtech.Clicker.driver v1 in executable dext bundle qbtech.Clicker.driver at /Library/SystemExtensions/E744CAAC-D320-459C-9DBD-5258C44D0000/qbtech.Clicker.driver.dext 10:49:25.434437+0200
478 default sysextd sysextd <Description missing> extension point confirmed that extension qbtech.Clicker.driver is runnable 10:49:25.437382+0200
478 default sysextd sysextd <Description missing> changing state of extension qbtech.Clicker.driver to activated_enabled 10:49:25.437429+0200
478 default sysextd sysextd com.apple.sx StateChange extension <..none..> qbtech.Clicker.driver (1.0/1) advancing state from activated_enabling to activated_enabled 10:49:25.437460+0200
And then when the device is connected:
0 default kernel kernel <Description missing> DK: AppleUserUSBHostHIDDevice-0x1000013cf using existing server IOUserServer(com.apple.driverkit.AppleUserHIDDrivers-0x100000c6b)-0x100000c71 10:49:33.106035+0200
0 default kernel kernel <Description missing> DK: AppleUserUSBHostHIDDevice-0x1000013cf::start(IOUSBHostInterface-0x1000013cd) ok 10:49:33.121388+0200
Here's the full plist that I'm trying to get to match at 100,000:
<?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>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<!-- required, see https://developer.apple.com/documentation/driverkit/creating_a_driver_using_the_driverkit_sdk -->
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>OSBundleUsageDescription</key>
<string>Clicker driver</string>
<!-- end required -->
<key>IOKitPersonalities</key>
<dict>
<key>ClickerDriver</key>
<dict>
<key>IOKitDebug</key>
<string>65535</string>
<!--
Required for each personality
https://developer.apple.com/documentation/driverkit/creating_a_driver_using_the_driverkit_sdk -->
<!-- The bundle ID of your driver -->
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<!-- The Apple class containing the base behavior -->
<key>IOClass</key>
<string>IOUserService</string>
<!-- The name of your custom service class -->
<key>IOUserClass</key>
<string>ClickerDriver</string>
<!-- The bundle identifier of your driver -->
<key>IOUserServerName</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<!--
The class that your service requires as its provider object. IOKit provider class is
IOUSBInterface, but in with USBDriverKit it is IOUSBHostInterface (or IOUSBHostDevice)
https://developer.apple.com/documentation/usbdriverkit/iousbhostinterface
-->
<key>IOProviderClass</key>
<string>IOUSBHostInterface</string>
<!-- End Required for each personality -->
<!--
matching see https://developer.apple.com/library/archive/qa/qa1076/_index.html
ioreg output for IOUSBHostInterface:
| "USB Vendor Name" = "Microchip Technology Inc."
| "bcdDevice" = 2
| "idProduct" = 63
| "bInterfaceSubClass" = 0
| "bConfigurationValue" = 1
| "bInterfaceProtocol" = 0
| "iInterface" = 0
| "bAlternateSetting" = 0
| "idVendor" = 1240
| "bInterfaceNumber" = 0
| "bInterfaceClass" = 3
-->
<key>idVendor</key>
<integer>1240</integer>
<key>idProduct</key>
<integer>63</integer>
<key>bInterfaceNumber</key>
<string>0</string>
<key>bConfigurationValue</key>
<string>1</string>
<key>bcdDevice</key>
<string>2</string>
<!-- end matching -->
<key>UserClientProperties</key>
<dict>
<key>IOClass</key>
<string>IOUserUserClient</string>
<key>IOUserClass</key>
<string>ClickerDriverUserClient</string>
</dict>
</dict>
</dict>
</dict>
</plist>