blob: 00c363e2b6225280a16164483cb97287ed48f106 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.input.report;
using zx;
/// |InputReport| is a single report that is created by an input device.
table InputReport {
/// |event_time| is in nanoseconds when the event was recorded.
1: zx.time event_time;
/// |mouse| is the report generated if the device contains a mouse.
2: MouseInputReport mouse;
/// |sensor| is the report generated if the device contains a sensor.
4: SensorInputReport sensor;
/// |touch| is the report generated if the device contains a touch device.
5: TouchInputReport touch;
/// |keyboard| is the report generated if the device contains a keyboard.
6: KeyboardInputReport keyboard;
/// |consumer_controls| is the report generated if the device contains a
/// ConsumerControl device.
7: ConsumerControlInputReport consumer_control;
/// Unique ID to connect trace async begin/end events.
3: uint64 trace_id;
};
/// 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).
table OutputReport {
1: KeyboardOutputReport keyboard;
};