Pointer to the default, non-virtual keyboard.
Character input converted to UTF-8
Character input converted to UTF-32
Last position of the mouse cursor.
Pointer to the default, non-virtual mouse.
Window counter.
Defines the type of the input device
Defines the number of the input device within the group of same types
Current percentage of the battery
Status flags of the device. Bits 0-7 are common, 8-15 are special to each device/interface type. Note: flags related to indicators/etc should be kept separately.
Defines common status codes
Returns the type of the device.
Returns the device number.
Returns true if the device is connected.
Returns true if device got invalidated (disconnected, etc).
Returns true if device has analog capabilities.
Returns true if device is virtual, emulated, etc.
Returns the battery percentage of the device, or ubyte.max if it doesn't have a battery.
Polls the device for events.
Implements a class for system-wide events.
Under Windows, this class also handles keyboard and mouse inputs, because of Microsoft of course (Why? You did great with WASAPI and relatively good with MIDI!)
Note: Polling might suck up some more advanced windowing-related events. If they really needed, then just add handling of them to it with OOP magic!