// 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);
};
