HID Communications

This section describes types and facilities used for accessing HID (human interface) devices.

import "io_hid.jncx"

// typedefs

typedef io.StreamEvents io.HidDeviceEvents;

// enums

enum io.HidBusType;
bitflag enum io.HidDeviceOptions;
enum io.HidRdCollectionKind;
bitflag enum io.HidRdFlags;
enum io.HidRdItemId;
bitflag enum io.HidRdItemMask;
enum io.HidRdUnit;
enum io.HidRdUnitNibbleRole;
enum io.HidRdUnitSystem;
bitflag enum io.HidRdValueFlags;
enum io.HidReportType;

// structs

struct io.HidDeviceDesc;
struct io.HidMonDeviceDesc;

// classes

class io.HidDb;
class io.HidDevice;
class io.HidRd;
class io.HidRdCollection;
class io.HidReport;
class io.HidReportField;
class io.HidStandaloneReport;
class io.HidUsagePage;

// global functions

bool io.isHidRdItemSigned(io.HidRdItemId id);

io.HidRdUnit io.getHidRdUnit(
    io.HidRdUnitNibbleRole role,
    io.HidRdUnitSystem system
);

int io.getHidRdUnitExponent(uint_t nibble);
string_t io.getHidRdComplexUnitString(uint32_t unit);
io.HidMonDeviceDesc const* io.enumerateHidMonDevices(size_t* count = null);
io.HidDeviceDesc const* io.enumerateHidDevices(size_t* count = null);