Feature-gate HID over USB functionality #140
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds a
usbfeature to Cargo.toml which allowsusb-deviceto be an optional dependency. Components depending on HID over USB functionality (hid.rs and keyboard.rs) are then feature-gated behind this.USB constructors have been moved to a
usb.rsmodule which is feature-gated as well. To preserve backwards compatibility and not introduce breaking changes, theusbfeature is configured as the default and public items from the usb module have been reexported from the crate root.The motivation for this is I'm using my own HID over i2c backend for example and thus would prefer not to pull in the
usb-devicedependency into my project, as I need to audit all 3rd-party dependencies. This change would hopefully help any others who find themselves in a similar boat as well.