https://www.zer7.com/software/hidsharp
2.0 版允許您從任何 USB HID 輸入裝置讀取和解析報告。您可以讀取 USB 遊戲手柄、體重秤以及任何您需要的東西。它透過提供完整的報告描述符和報告解析功能來實現這一點。據我所知,HIDSharp 是第一個可以做到這一點的無人駕駛跨平臺庫!當然,原始讀寫仍然是完全支援的。
1.5 及以下版本支援 COM,允許 VB6 和 MS Access 程式使用(當然需要安裝 .NET Framework)。如果有需求我可能會為 HIDSharp 2.0 新增 COM 支援。
HIDSharp 在 MS Access 中與 Dymo Scale 一起連續使用了八年,在商業軟體中與我開發的各種 USB HID 裝置一起使用了七年,所以我知道它是可靠的。
HIDSharp 支援 Windows、MacOS 和 Linux (hidraw)。
HIDSharp 使用 Apache 開源許可證。
下載
版本 2.1.0(2019 年 5 月 4 日)(包括 C# 示例)
版本 2.0.8(2019 年 1 月 21 日)(包括 C# 示例)
版本 1.5(2013 年 5 月 18 日)(包括 C# 示例)
版本 1.4.0.1(4 月 21 日) ,2013)(包括 C# 示例)
版本 1.3(2 月2013 年 7 月 23 日)(包括 C# 示例)
版本 1.1(2012 年 7 月 28 日)(包括 C# 和 VB6 示例)
版本 1.0(2010 年 8 月 28 日)(包括 C# 和 VB6 示例)
NuGet 包“HidSharp”
線上文件
版本歷史
2.1.0(2019 年 5 月 4 日):
在 Windows 上新增了實驗性藍芽低功耗支援。庫的這一部分將來可能會發生變化。讓我知道它對您有何作用。
修復了排他層中的競爭條件。
修復了 Linux 上 .NET Core 上出現的執行緒錯誤。
使用 Windows 有缺陷的 usbser.sys 驅動程式的序列裝置現在與 HIDSharp 相容,包括連線和斷開連線的檢測。
2.0.8(2019 年 1 月 21 日):
在 SerialStream 中新增了對七個資料位和偶/奇奇偶校驗的支援。
修復了 MacOS 上導致沒有序列號的 HID 裝置無法顯示的錯誤。
2.0.6(2018 年 12 月 27 日):
在 SerialStream 中新增了對兩個停止位的支援。
2.0.5(2018 年 10 月 15 日):
HIDSharp 現在與 Linux 上的 .NET Core 相容。
修復了 MacOS 上與垃圾收集器相關的崩潰。
2.0.2(2018 年 5 月 5 日):
修復了 Linux 上的一個錯誤,該錯誤導致輸出報告在不使用報告 ID 的裝置上傳送不正確。
DeviceList GetSerialDeviceOrNull() 現在將匹配檔案系統名稱(COM1、/dev/ttyUSB 等)以及 DevicePath。
2.0.1(2018 年 4 月 11 日):
修復了 Windows 上的一個錯誤,在某些情況下,無法重建裝置的報告描述符可能會導致該裝置根本無法開啟。
HIDSharp 現在包含適用於 .NET Framework 3.5+ 和 .NET Standard 2.0+ 的程式集。
2.0(2018 年 4 月 9 日):
極大改進了報告描述符解析功能。
您現在可以在所有平臺上解碼(幾乎)任何 HID 裝置的報告!
新增了對 MacOS 版本 10.8 及更高版本的 GetReportDescriptor 支援。
新增了 Windows 上的 GetReportDescriptor 支援。此描述符是重建的,因為 Windows 不提供直接訪問此資訊的方法。
在 DeviceList 上新增了 AreDriversBeingInstalled 屬性。 (Windows 有時會關閉安裝驅動程式時開啟的複合 HID 裝置流。)
在 DeviceList 上新增了 Changed 事件,用於檢測裝置連線和斷開連線。
向裝置新增了 NativeImplementation 屬性。
新增了排他性層,具有請求中斷的能力。這對於程序間協作很有用,但必須手動啟用。
新增了對串列埠的支援。這在 Linux 上仍然存在一些問題,但在 MacOS 上它比 Mono 本機實現更好。
新增了對 Linux libudev.so.1 的支援。
公開 GetFileSystemName()。這可用於在 Linux 上檢查 hidraw 許可權。
修復了 MacOS 上不使用報告 ID 的裝置的最大報告長度。
修復了裝置斷開連線時 Linux 和 MacOS 不會在 HID Read() 上丟擲 IOException 的問題。
修復了最新 Mono 版本上的 Linux 支援。
修復了 32 位 Linux 支援 (Raspberry Pi)。
GetFeature() 和 SetFeature() 現在可以在 Linux 上執行。
HIDSharp 現在使用 Apache 開源許可證。
感謝對新功能的反饋。使用這個新版本需要修改一些程式碼。
1.5(2013 年 5 月 18 日):
向 HidDevice 新增了 DevicePath 屬性。
這對於區分具有相同 VID、PID 等的裝置很有用。
1.4.0.1(2013 年 4 月 21 日):
將缺少的 XML 文件檔案新增到存檔中。
1.4(2013 年 4 月 20 日):
記錄最重要的類。
修復了 64 位 Windows 上的輸出報告問題。
修復了 Windows 上的超時錯誤。
並行裝置列舉。
重新排序平臺檢測以防止在 Windows 上植入二進位制檔案。
1.3(2013 年 2 月 23 日):
修復了 Linux libudev 引用,使其不需要開發人員包符號連結。
1.2(2012 年 10 月 16 日):
修復了 MacOS 支援。
1.1(2012 年 7 月 28 日):
新增了實驗性 MacOS 和 Linux 支援。
新增了實驗報告描述符解析。
1.0(2010 年 8 月 28 日):
初始版本。