

To code to, WMI is a bit nasty and complicated. From a C perspective, I think the raw PDO is much simpler

To address the filter through a raw PDO, firefly shows how to access Googling, seems to contain a couple of suggested workarounds:īoth toaster and firefly can work in the HID stack. But subsequent hid_read-s fail to collect any data. replacing GENERIC_READ | GENERIC_WRITE with STANDARD_RIGHTS_READ | STANDARD_RIGHTS_WRITE - now it happily creates a handle. I've tried fiddling with CreateFileA's params, e.g. Usage_page=13 => Error code 32 (ERROR_SHARING_VIOLATION) Usage_page= 1 => Error code 5 (ERROR_ACCESS_DENIED) Nope, CreateFileA just raises a different error: to get the correct entry, it should work right? The Inkling was exposing 2 'devices' and hidapi was taking the wrong (mouse) one, and Windows doesn't allow access to Mouse or Keyboard Devices. So it looks like this should be the solution. (EDIT: Sometimes the first path is the 1/2 and the second is the 13/2, other times it's swapped).Īnd HIDAPI is only taking the first one it finds. Handle = hid_open(inklingVendorId, inklingProductId, nullptr) My code looks like this: unsigned short inklingVendorId = 0x056a, inklingProductId = 0x0221 I'm trying to tidy up InklingReader to use HIDAPI rather than libusb (as it works at higher level: HID rather than raw USB, so is much more compact & suitable. ( InklingReader) is an open source project that gets real-time data from it.
