Conversation
…FeatureReportConnection
There was a problem hiding this comment.
Pull Request Overview
This PR adds support for configurable HID device sharing modes, allowing applications to open HID handles exclusively or in shared mode. The changes introduce a new compatibility switch for HID devices that mirrors the existing smart card functionality.
- Adds new IOKit constants for HID device sharing options on macOS
- Introduces
OpenHidHandlesExclusivelycompatibility switch for HID devices - Refactors existing smart card sharing mode logic for better readability
- Updates Windows HID connection to use consistent field naming conventions
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| IOKitHidConstants.cs | Adds IOKit HID option constants for device sharing modes |
| DesktopSmartCardDevice.cs | Refactors smart card share mode logic to use ternary operator |
| WindowsHidFeatureReportConnection.cs | Updates field naming to use underscore prefix convention |
| MacOSHidIOReportConnection.cs | Implements HID sharing mode based on new compatibility switch |
| CoreCompatSwitches.cs | Adds new compatibility switch for HID handle exclusivity |
Test Results: Windows 2 files 2 suites 9s ⏱️ Results for commit 34f596a. |
Test Results: Ubuntu 2 files 2 suites 19s ⏱️ Results for commit 34f596a. |
Test Results: MacOS 2 files 2 suites 10s ⏱️ Results for commit 34f596a. |
|
the PR doesn't change/manage the open mode for Linux or Windows.. It couldve done so in a similar manner |
Description
Please include a summary of the change and which issue is fixed, as well as relevant motivation and context. Finally, list any dependencies that are required for this change if any.
Fixes: # <link to issue(s)>
Type of change
How has this been tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Test configuration:
Checklist:
dotnet formatto format my codeFootnotes
See Yubikey models (Multi-protocol, Security Key, FIPS, Bio, YubiHSM, YubiHSM FIPS) ↩