6 #include <IOKit/hid/IOHIDKeys.h>
7 #include <IOKit/hidsystem/IOHIDLib.h>
14 if (@available(macOS 10.15, *))
16 return IOHIDCheckAccess(kIOHIDRequestTypeListenEvent) == IOHIDAccessType::kIOHIDAccessTypeGranted;
26 if (@available(macOS 10.15, *))
28 return IOHIDRequestAccess(kIOHIDRequestTypeListenEvent);
38 CFMutableDictionaryRef result = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
39 &kCFTypeDictionaryKeyCallBacks,
40 &kCFTypeDictionaryValueCallBacks);
46 CFNumberRef pageCFNumberRef = CFNumberCreate(kCFAllocatorDefault, kCFNumberIntType, &usagePage);
49 CFDictionarySetValue(result, CFSTR(kIOHIDDeviceUsagePageKey), pageCFNumberRef);
50 CFRelease(pageCFNumberRef);
54 CFNumberRef usageCFNumberRef = CFNumberCreate(kCFAllocatorDefault, kCFNumberIntType, &usage);
57 CFDictionarySetValue(result, CFSTR(kIOHIDDeviceUsageKey), usageCFNumberRef);
58 CFRelease(usageCFNumberRef);