# Copyright 2015 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.

import("//build/fidl/fidl.gni")

fidl("fuchsia.ui.input") {
  sdk_category = "partner"

  sources = [
    "commands.fidl",
    "events.fidl",
    "ime_service.fidl",
    "input_device_registry.fidl",
    "input_event_constants.fidl",
    "input_events.fidl",
    "input_reports.fidl",
    "keys.fidl",
    "modifiers.fidl",
    "text_editing.fidl",
    "text_input.fidl",
    "usages.fidl",
  ]

  public_deps = []
}
