Interface IInputDevice
Represents the physical instance of a hardware peripheral agnostic of any input API. That is to mean that one device may implement multiple device APIs (driver instances).
Namespace: Snowflake.Input.Device
Assembly: Snowflake.Framework.Primitives.dll
Syntax
public interface IInputDevice
Properties
DeviceName
The name of the device.
Declaration
string DeviceName { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
DevicePath
Gets the path to this device instance.
On Windows, this usually begins with \?\HID whereas on Linux, this usually begins with /dev/input.
Declaration
string DevicePath { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
FriendlyName
A user-friendly label to give to this device.
Declaration
string FriendlyName { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
InstanceGuid
A GUID that uniquely identifies the device.
In general, this GUID is opaque and arbitrary, but must be consistent with the IDeviceEnumerator that produced this device.
On Windows, this will be the device instance GUID as enumerated from DirectInput, and on Linux, this GUID will be in SDL2 format. The passthrough and keyboard instances will always have the GUIDs PassthroughInstanceGuid and KeyboardInstanceGuid in particular.
Declaration
Guid InstanceGuid { get; }
Property Value
| Type | Description |
|---|---|
| System.Guid |
Instances
Gets the device driver instances for which this device implements.
Declaration
IEnumerable<IInputDeviceInstance> Instances { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerable<IInputDeviceInstance> |
ProductID
The USB PID of this device.
Declaration
int ProductID { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
VendorID
The USB VID of this device.
May not be accurate for Keyboard and Passthrough devices.
Declaration
int VendorID { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |