facedancer.classes.hid.descriptor module

Code for implementing HID classes.

facedancer.classes.hid.descriptor.COLLECTION(*octets)
facedancer.classes.hid.descriptor.DELIMITER(*octets)
facedancer.classes.hid.descriptor.DESGINATOR_INDEX(*octets)
facedancer.classes.hid.descriptor.DESGINATOR_MAXIMUM(*octets)
facedancer.classes.hid.descriptor.DESGINATOR_MINIMUM(*octets)
facedancer.classes.hid.descriptor.END_COLLECTION()
facedancer.classes.hid.descriptor.FEATURE(constant=False, variable=False, relative=False, wrap=False, nonlinear=False, preferred_state=True, nullable=False, buffered_bytes=False)
class facedancer.classes.hid.descriptor.HIDCollection(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

HID collections; from HID1.1 [6.2.2.4].

APPLICATION = 1
LOGICAL = 2
NAMED_ARRAY = 4
PHYSICAL = 0
REPORT = 3
USAGE_MODIFIER = 6
USAGE_SWITCH = 5
VENDOR = 255
class facedancer.classes.hid.descriptor.HIDReportDescriptor(*, raw: None | bytes = None, type_number: int = USBDescriptorTypeNumber.REPORT, number: int = None, parent: USBDescribable = None, include_in_config: bool = False, fields: Iterable[bytes] = ())[source]

Bases: USBDescriptor

Descriptor class representing a HID report descriptor.

__call__(index=0)[source]

Converts the descriptor object into raw bytes.

fields: Iterable[bytes] = ()
raw: None | bytes = None

The bDescriptorType of the descriptor.

type_number: int = 34

Number to request this descriptor with a GET_DESCRIPTOR request.

facedancer.classes.hid.descriptor.INPUT(constant=False, variable=False, relative=False, wrap=False, nonlinear=False, preferred_state=True, nullable=False, buffered_bytes=False)
facedancer.classes.hid.descriptor.LOGICAL_MAXIMUM(*octets)
facedancer.classes.hid.descriptor.LOGICAL_MINIMUM(*octets)
facedancer.classes.hid.descriptor.OUTPUT(constant=False, variable=False, relative=False, wrap=False, nonlinear=False, preferred_state=True, nullable=False, buffered_bytes=False)
facedancer.classes.hid.descriptor.PHYSICAL_MAXIMUM(*octets)
facedancer.classes.hid.descriptor.PHYSICAL_MINIMUM(*octets)
facedancer.classes.hid.descriptor.POP(*octets)
facedancer.classes.hid.descriptor.PUSH(*octets)
facedancer.classes.hid.descriptor.REPORT_COUNT(*octets)
facedancer.classes.hid.descriptor.REPORT_ID(*octets)
facedancer.classes.hid.descriptor.REPORT_SIZE(*octets)
facedancer.classes.hid.descriptor.STRING_INDEX(*octets)
facedancer.classes.hid.descriptor.STRING_MAXIMUM(*octets)
facedancer.classes.hid.descriptor.STRING_MINIMUM(*octets)
facedancer.classes.hid.descriptor.UNIT(*octets)
facedancer.classes.hid.descriptor.UNIT_EXPONENT(*octets)
facedancer.classes.hid.descriptor.USAGE(*octets)
facedancer.classes.hid.descriptor.USAGE_MAXIMUM(*octets)
facedancer.classes.hid.descriptor.USAGE_MINIMUM(*octets)
facedancer.classes.hid.descriptor.USAGE_PAGE(*octets)