Skip to content

Add support for Named Arrays  #10

Description

@NZSmartie

I didn't put enough thought into how to handle selector usages inside of a named array collection.

For example, this is pulled from HID Usage Table Review Request 39b

// ...
HID_USAGE_SENSOR_PROPERTY_REPORTING_STATE, // NAry
HID_LOGICAL_MIN_8(0),
HID_LOGICAL_MAX_8(5),
HID_REPORT_SIZE(8),
HID_REPORT_COUNT(1),
HID_COLLECTION(Logical),
    HID_USAGE_SENSOR_PROPERTY_REPORTING_STATE_NO_EVENTS,
    HID_USAGE_SENSOR_PROPERTY_REPORTING_STATE_ALL_EVENTS,
    HID_USAGE_SENSOR_PROPERTY_REPORTING_STATE_THRESHOLD_EVENTS,
    HID_USAGE_SENSOR_PROPERTY_REPORTING_STATE_NO_EVENTS_WAKE,
    HID_USAGE_SENSOR_PROPERTY_REPORTING_STATE_ALL_EVENTS_WAKE,
    HID_USAGE_SENSOR_PROPERTY_REPORTING_STATE_THRESHOLD_EVENTS_WAKE,
    HID_FEATURE(Data_Arr_Abs),
HID_END_COLLECTION,
// ...

Which effectively translates to a enum that maps from the values 0 to 5.
Something like:

class ReportingState(Enum):
  NO_EVENTS = 0
  ALL_EVENTS = 1
  THRESHOLD_EVENTS = 2
  NO_EVENTS_WAKE = 3
  ALL_EVENTS_WAKE = 4
  THRESHOLD_EVENTS_WAKE = 5
}

An idea is to generate a Enum subclass at runtime that maps from the logical min/max range to the usage names.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions