Skip to content
This repository has been archived by the owner on Sep 13, 2024. It is now read-only.

Allow clients to subscribe to setReport calls on devices #9

Merged
merged 1 commit into from
Feb 23, 2017
Merged

Allow clients to subscribe to setReport calls on devices #9

merged 1 commit into from
Feb 23, 2017

Conversation

btoews
Copy link
Contributor

@btoews btoews commented Feb 3, 2017

This PR implements the setReport() method on the foohid device. This gets called when a report needs to be sent back to the device by whatever client is using it. To get these reports back into userland, this PR implements an external userclient method for subscribing to setReport calls for a given device. The subscribe method registers a callback function that gets called from the userclient when a device receives a setReport() call. This approach allows the userland HID implementation to receive setReport() calls without having to constantly poll the userclient.

I'm copying this approach from the SoftU2F driver I wrote. I'm hoping to include this change in foohid because Apple hasn't responded to my request for a kernel extension signing certificate.

I added a simple U2F example to this repository to demonstrate subscribing to setReport() calls.

Fixes #7

@btoews btoews mentioned this pull request Feb 3, 2017
@btoews
Copy link
Contributor Author

btoews commented Feb 21, 2017

I submitted a request to Apple for a kext signing certificate for my SoftU2F library, but they rejected it after 4 weeks. My library contains a driver that does essentially the same thing as FooHID, but includes the setReport functionality. I could easily replace my driver with FooHID if it could handle setReport calls. I'd really like to ship my SoftU2FTool app, but can't really do so without a signed kext.

It would really help me out if this PR could get merged and a new release of the FooHID driver could be made. I understand though if you're busy. Sorry to pester you 😄.

@unbit unbit merged commit 59436da into unbit:master Feb 23, 2017
@unbit
Copy link
Owner

unbit commented Feb 23, 2017

Sorry for the late, the patch is absolutely good (read: not invasive). But i could need a bit of time to issue a new release. (i fear i need to renew my apple development license before ;)

@btoews btoews deleted the setreport_iii branch February 23, 2017 15:27
@btoews
Copy link
Contributor Author

btoews commented Feb 23, 2017

Thanks for merging this. If you would be renewing your developer program membership just to make a new release of this, I'd be happy to help with the cost. Let me know if that would be helpful.

@btoews btoews mentioned this pull request Oct 2, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants