// Copyright 2017 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.ui.input;

// Service to receive input events.
//
// Input devices can describe their capabilities using |DeviceDescriptor|
// and register themselves with the |InputDeviceRegistry|.
[Discoverable]
interface InputDeviceRegistry {
    // Register a device with the capabilities described by |DeviceDescriptor|
    1: RegisterDevice(DeviceDescriptor descriptor, request<InputDevice> input_device);
};

interface InputDevice {
    // Dispatch an |InputReport| from the device |token|
    1: DispatchReport(InputReport report);
};