HidSharp 2.1.0

dotnet add package HidSharp --version 2.1.0
NuGet\Install-Package HidSharp -Version 2.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HidSharp" Version="2.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add HidSharp --version 2.1.0
#r "nuget: HidSharp, 2.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install HidSharp as a Cake Addin
#addin nuget:?package=HidSharp&version=2.1.0

// Install HidSharp as a Cake Tool
#tool nuget:?package=HidSharp&version=2.1.0

HIDSharp is a cross-platform .NET wrapper for Windows, MacOS, and Linux (hidraw) USB HID APIs.
     
It can interface with arbitrary USB HID devices as well as read and write raw reports.

It also includes cross-platform serial port communications and supports interprocess communication for exclusion of HID devices between programs.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net35 is compatible.  net40 was computed.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (32)

Showing the top 5 NuGet packages that depend on HidSharp:

Package Downloads
LibreHardwareMonitorLib

Monitor the temperature sensors, fan speeds, voltages, load and clock speeds of your computer.

Buttplug.Server.Managers.HidSharpManager

Buttplug Server Hid Device and Serial Port Subtype Manager, based on the HidSharp Library. (.Net Framework 4.7+/.Net Standard 2.0)

libremoteio

Munts Technologies Remote I/O Library for .Net Standard 2.0

StreamDeckSharp

A simple .NET wrapper for StreamDeck (using OpenMacroBoard.SDK)

HIDDevices

Cross-platform .NET Standard library for asynchronous access to HID Devices (e.g. gamepads, joysticks, etc.)

GitHub repositories (16)

Showing the top 5 popular GitHub repositories that depend on HidSharp:

Repository Stars
LibreHardwareMonitor/LibreHardwareMonitor
Libre Hardware Monitor, home of the fork of Open Hardware Monitor
nefarius/ScpToolkit
Windows Driver and XInput Wrapper for Sony DualShock 3/4 Controllers
csutorasa/XOutput
DirectInput to XInput wrapper
Artemis-RGB/Artemis
Provides advanced unified lighting across many different brands RGB peripherals
Hofknecht/SystemTrayMenu
SystemTrayMenu - Browse and open your files easily
Version Downloads Last updated
2.1.0 408,752 5/4/2019
2.0.8 18,141 1/21/2019
2.0.5 7,556 11/11/2018
2.0.2 48,932 5/5/2018
2.0.1 4,904 4/11/2018
1.5.0 55,775 5/18/2013
1.4.0.1 1,354 4/21/2013
1.4.0 1,369 4/20/2013
1.3.0 1,567 2/23/2013

2.1.0 (May 4, 2019):
 Added experimental Bluetooth Low Energy support on Windows. This part of the library may change in the future. Let me know how it works for you.
 Fixed a race condition in the exclusivity layer.
 Fixed a threading bug that cropped up on .NET Core on Linux.
 Serial devices that use Windows's buggy usbser.sys driver are now compatible with HIDSharp, including the detection of connection and disconnection.
 
2.0.8 (January 21, 2019):
 Added support in SerialStream for seven data bits and even/odd parity.
 Fixed a bug on MacOS which caused HID devices without serial numbers to not show up.
 
2.0.6 (December 27, 2018):
 Added support in SerialStream for two stop bits.

2.0.5 (October 15, 2018):
 HIDSharp is now compatible with .NET Core on Linux.
 Fixed a garbage collector-related crash on MacOS.

2.0.2 (May 5, 2018):
 Fixed a bug on Linux which caused output reports to be sent incorrectly on devices which do not use a Report ID.
 DeviceList GetSerialDeviceOrNull() will now match the filesystem name (COM1, /dev/ttyUSB, etc.) as well as DevicePath.
 
2.0.1 (April 11, 2018):
 Fixed a bug on Windows where, in some cases, being unable to reconstruct a device's report descriptor could prevent that device from being opened at all.
 HIDSharp now includes assemblies for both .NET Framework 3.5+ and .NET Standard 2.0+.
 
2.0 (April 9, 2018):
 Vastly improved the report descriptor parsing functionality.
 You can now decode (nearly) any HID device's reports, on all platforms!
 
 Added GetReportDescriptor support on MacOS version 10.8 and higher.
 Added GetReportDescriptor support on Windows. This descriptor is a reconstruction as Windows does not provide a way to directly access this information.
 Added an AreDriversBeingInstalled property on DeviceList. (Windows will sometimes close streams of composite HID devices opened while their drivers are being installed.)
 Added a Changed event on DeviceList, for detecting device connect and disconnect.
 Added a NativeImplementation property to Device.
 Added an exclusivity layer, with the ability to request interruption. This is useful for interprocess cooperation, but must be enabled manually.
 Added support for serial ports. This is still somewhat buggy on Linux, but on MacOS it works better than the Mono native implementation.
 Added support for Linux libudev.so.1.
 Exposed GetFileSystemName(). This can be used on Linux to check hidraw permissions.
 Fixed max report lengths on MacOS for devices which do not use a Report ID.
 Fixed Linux and MacOS not throwing IOException on HID Read() when the device is disconnected.
 Fixed Linux support on recent Mono versions.
 Fixed 32-bit Linux support (Raspberry Pi).
 GetFeature() and SetFeature() now work on Linux.
 HIDSharp now uses the Apache open-source license.
 
 Feedback on the new features is appreciated. Some code modifications will be needed to use this new version.

1.5 (May 18, 2013):
 Added the DevicePath property to HidDevice.
 This is useful for differentiating devices with the same VID, PID, etc.

1.4.0.1 (April 21, 2013):
 Added missing XML documentation file to the archive.

1.4 (April 20, 2013):
 Documented the most important classes.
 Fixed a problem with output reports on 64-bit Windows.
 Fixed a timeout bug on Windows.
 Parallelized device enumeration.
 Reordered platform detection to prevent binary planting on Windows.

1.3 (February 23, 2013):
 Fixed Linux libudev reference to not require developer package symlinks.
 
1.2 (October 16, 2012):
 Fixed MacOS support.

1.1 (July 28, 2012):
 Added experimental MacOS and Linux support.
 Added experimental report descriptor parsing.
 
1.0 (August 28, 2010):
 Initial release.