class InputDevice

Defined at line 9004 of file fidling/gen/sdk/fidl/fuchsia.input.report/fuchsia.input.report/hlcpp/fuchsia/input/report/cpp/fidl.h

An `InputDevice` driver represents a single physical input device.

The InputDevice maintains an internal FIFO of `MAX_DEVICE_REPORT_COUNT`

reports for each client that connects. Reports are removed from the FIFO

once they are read by the client. If the FIFO is full, it will drop the

oldest report to make room for an incoming report.

Public Members

static const char[] Name_

Public Methods

void ~InputDevice ()
void GetInputReportsReader (::fidl::InterfaceRequest< ::fuchsia::input::report::InputReportsReader> reader)

Open a new InputReportsReader on this device. Each reader receives

their own reports.

void GetDescriptor (GetDescriptorCallback callback)

Gets the device descriptor for this device.

void SendOutputReport (::fuchsia::input::report::OutputReport report, SendOutputReportCallback callback)

Send a single output report to the device. This will throw an error

if the output report does not follow the OutputDescriptor.

void GetFeatureReport (GetFeatureReportCallback callback)

Get the feature report for a given device. This requests the state of

the device's features.

void SetFeatureReport (::fuchsia::input::report::FeatureReport report, SetFeatureReportCallback callback)

Set the feature report for a given device. This sets the state of

the device's features.

void GetInputReport (::fuchsia::input::report::DeviceType device_type, GetInputReportCallback callback)

For general cases, InputReportReader is the preferred way of getting

InputReports. For devices that don't send InputReports naturally, this

method can be used to request a report from the device type indicated.

Does not block, and returns ZX_ERR_NOT_SUPPORTED if `GetInputReport` or

`device_type` are not supported.

Protected Methods

void handle_unknown_method (uint64_t ordinal, bool method_has_response)

Friends

class InputDevice_Stub