George Helyar - 2010-09-10

I am no longer maintaining this project. However, I will still answer any questions by email.

The HID libraries for Windows and Linux are just too different to produce a viable cross platform library for both.

The Linux HID library is nice but cannot be ported to Windows without installing a custom USB driver for each device (libusb-win32, WinUSB, UMDF) which makes it unsuitable for writing 3rd party software for existing devices.

The Windows library could potentially be ported to Linux but assumptions have to be made and the advantages of the Linux HID library are lost.

Either way, this should probably be done in C and a .NET wrapper should be created for that library, rather than trying to create the whole library in .NET.

This library is still perfectly suitable for Windows 32bit and 64bit HID. Other .NET HID libraries (including any code on pinvoke.net) do not support 64 bit. For a Windows-only project, I recommend using Win32Device objects directly.

For Linux use, the LinuxHid.ReadEvent method should be used for better read performance and greater reliability.