/// <summary>Value type for raw input devices.</summary>
[StructLayout(LayoutKind.Sequential)]
public struct RAWINPUTDEVICE
{
/// <summary>Top level collection Usage page for the raw input device.</summary>
public HIDUsagePage UsagePage;
/// <summary>Top level collection Usage for the raw input device. </summary>
public HIDUsage Usage;
/// <summary>Mode flag that specifies how to interpret the information provided by UsagePage and Usage.</summary>
public RawInputDeviceFlags Flags;
/// <summary>Handle to the target device. If NULL, it follows the keyboard focus.</summary>
public IntPtr WindowHandle;
}
''' <summary>Value type for raw input devices.</summary>
<StructLayout(LayoutKind.Sequential)> _
Public Structure RAWINPUTDEVICE
''' <summary>Top level collection Usage page for the raw input device.</summary>
Public UsagePage As HIDUsagePage
''' <summary>Top level collection Usage for the raw input device. </summary>
Public Usage As HIDUsage
''' <summary>Mode flag that specifies how to interpret the information provided by UsagePage and Usage.</summary>
Public Flags As RawInputDeviceFlags
''' <summary>Handle to the target device. If NULL, it follows the keyboard focus.</summary>
Public WindowHandle As IntPtr
End Structure
HIDUsagePage, HIDUsage, RawInputDeviceFlags
None.