Crate fidl_fuchsia_input_report_common

Source

Macros§

ConsumerControlButtonUnknown
Pattern that matches an unknown ConsumerControlButton member.
DeviceTypeUnknown
Pattern that matches an unknown DeviceType member.
LedTypeUnknown
Pattern that matches an unknown LedType member.
SensorReportingStateUnknown
Pattern that matches an unknown SensorReportingState member.
SensorTypeUnknown
Pattern that matches an unknown SensorType member.
TouchConfigurationInputModeUnknown
Pattern that matches an unknown TouchConfigurationInputMode member.
TouchTypeUnknown
Pattern that matches an unknown TouchType member.
UnitTypeUnknown
Pattern that matches an unknown UnitType member.
VendorGoogleProductIdUnknown
Pattern that matches an unknown VendorGoogleProductId member.
VendorIdUnknown
Pattern that matches an unknown VendorId member.

Structs§

Axis
An Axis is defined as a range and a unit.
ConsumerControlDescriptor
A Fuchsia ConsumerControl represents a device thats purpose is to change values on the host. Typical controls are Volume, Power, Media Playback. (Consider a TV remote to be a typical ConsumerControl).
ConsumerControlInputDescriptor
Describes the format of the input report that will be sent from the ConsumerControl device to the host.
ConsumerControlInputReport
A single report created by a ConsumerControl device.
ContactInputDescriptor
ContactInputDescriptor describes the fields associated with a touch on a touch device.
ContactInputReport
ContactInputReport describes one touch on a touch device.
DeviceDescriptor
DeviceDescriptor describes a physical input device. Some physical devices may send multiple types of reports (E.g: a physical touchscreen can send touch and stylus reports, so it will have both a TouchDescriptor and a StylusDescriptor).
DeviceInfo
DeviceInfo provides more information about the device and lets a client distinguish between devices (e.g between two touchscreens that come from different vendors). If the device is a HID device, then the id information will come from the device itself. Other, non-HID devices may assign the ids in the driver, so it will be the driver author’s responsibility to assign sensible ids.
DeviceInformation
DeviceInformation provides more information about the device and lets a client distinguish between devices (e.g between two touchscreens that come from different vendors). If the device is a HID device, then the id information will come from the device itself. Other, non-HID devices may assign the ids in the driver, so it will be the driver author’s responsibility to assign sensible ids.
FeatureReport
A single report containing the feature information for an input device. Feature reports obtained from the device show the current state of the device. Sending a feature report to the device sets the device in that state.
InputDeviceGetDescriptorResponse
InputDeviceGetFeatureReportResponse
InputDeviceGetInputReportRequest
InputDeviceGetInputReportResponse
InputDeviceSendOutputReportRequest
InputDeviceSetFeatureReportRequest
InputReport
InputReport is a single report that is created by an input device.
InputReportsReaderReadInputReportsResponse
KeyboardDescriptor
The capabilities of a keyboard device.
KeyboardInputDescriptor
Describes the format of the input report that will be sent from the keyboard to the device.
KeyboardInputReport
A single report created by a keyboard device.
KeyboardOutputDescriptor
Describes the format of the output report that can be sent to the keyboard..
KeyboardOutputReport
A single report containing output information for a keyboard.
MouseDescriptor
The capabilities of a mouse device.
MouseInputDescriptor
Describes the format of the input report that will be sent from the mouse to the device.
MouseInputReport
MouseReport gives the relative movement of the mouse and currently pressed buttons. Relative means the movement seen between the previous report and this report. The client is responsible for tracking this and converting it to absolute movement.
OutputDescriptor
Describes the output reports that a physical input device will accept. Output information typically represents device output to the user (E.g: LEDs, tactile feedback, etc).
OutputReport
A single report containing output information for an input device. Output information typically represents device output to the user (E.g: LEDs, tactile feedback, etc).
Range
Describe a Range of values.
SelectiveReportingFeatureReport
Selective Reporting Feature Report indicating which types of input are reported.
SensorAxis
A SensorAxis is a normal Axis with an additional SensorType to describe what the axis is measuring.
SensorDescriptor
The capabilities of a sensor device.
SensorFeatureDescriptor
Describes the format of the sensor’s feature report. Feature reports can be requested from the sensor, or sent to the sensor.
SensorFeatureReport
A SensorFeatureReport describes the features of a given sensor. If a FeatureReport is sent to the Input Device it sets the configuration of the device. If a FeatureReport is requested from the Input Device it shows the device’s current configuration.
SensorInputDescriptor
Describes the format of the input report that will be sent from the sensor to the device.
SensorInputReport
SensorReport gives the values measured by a sensor at a given point in time.
TouchDescriptor
The capabilities of a touch device.
TouchFeatureDescriptor
Describes the format of the touchpad configuration’s feature report. Feature reports can be requested from the touchpad, or sent to the touchpad.
TouchFeatureReport
A TouchFeatureReport describes the features of a given touch device. If a FeatureReport is sent to the Input Device it sets the configuration of the device. If a FeatureReport is requested from the Input Device it shows the device’s current configuration.
TouchInputDescriptor
Describes the format of the input report that will be sent from the keyboard to the device.
TouchInputReport
TouchInputReport describes the current contacts recorded by the touchscreen.
Unit
Describes a given unit by giving the unit and the unit’s exponent. E.g: Nanometers would have type METERS and exponent -9.

Enums§

ConsumerControlButton
These ControlButtons represent on/off buttons whose purpose is to change the host’s configuration.
DeviceType
The InputReport field to be populated by InputDevice.GetInputReport.
LedType
An LedType represents an LED on a device that can be turned on or off. When applicable, the definition of each LED is derived from one of the following sources albeit with a Fuchsia-specific numeric value:
SensorReportingState
SensorReportingState determines when a sensor will send reports.
SensorType
Each sensor value has a corresponding SensorType, which explains what the value is measuring in the world.
TouchConfigurationInputMode
Input mode indicating which top-level collection should be used for input reporting. These values must correspond to the input modes defined in 16.7 of the HID Usage Tables for Universal Serial Bus (USB) Spec (https://usb.org/sites/default/files/hut1_22.pdf).
TouchType
The device type from which the touch originated.
UnitType
This provides an easy, standardized way to specify units. New units can be added as needed. Each UnitType should be named after a specific unit that should be fully distinguished by the name (E.g: Use METERS instead of DISTANCE). More complicated units that need to be differentiated should begin with SI_ (for Internation System of Units) or ENGLISH_ (for English System of Units).
VendorGoogleProductId
Below are ProductIds which represents which product this Input device represents. If the Input device is a HID device, the ProductId maps directly to the HID ProductId. If the Input device is not a HID device, then the ProductId will be greater than 0xFFFF, which is the max HID ProductId.
VendorId
The VendorId represents the vendor that created this Input device. If the Input device is a HID device, the VendorId maps directly to the HID VendorId. If the Input device is not a HID device, then the VendorId will be greater than 0xFFFF, which is the max HID VendorId.

Constants§

CONSUMER_CONTROL_MAX_NUM_BUTTONS
Hardcoded max sizes for ConsumerControl vectors. These sizes should be increased if we ever see a device with more objects than can be represented.
KEYBOARD_MAX_NUM_KEYS
Hardcoded max sizes for keyboard vectors. These sizes should be increased if we ever see keyboards with more objects than can be represented.
KEYBOARD_MAX_NUM_LEDS
KEYBOARD_MAX_PRESSED_KEYS
MAX_DEVICE_REPORT_COUNT
MAX_REPORT_COUNT
A hardcoded number of max reports. Because report ID is only 8 bits, only 255 different reports are allowed at a time.
MOUSE_MAX_NUM_BUTTONS
A hardcoded number of max mouse buttons. This should be increased in the future if we ever see mice with more buttons.
SENSOR_MAX_VALUES
A hardcoded number of max sensor values. This should be increased in the future if we ever see a sensor with more values.
TOUCH_MAX_CONTACTS
A hardcoded number of max contacts per report. This should be increased in the future if we see devices with more than the max amount.
TOUCH_MAX_NUM_BUTTONS