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

executable("input") {
  sources = [
    "main.cc",
  ]

  deps = [
    ":inverse_keymap",
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/ui/input/cpp",
    "//sdk/fidl/fuchsia.ui.input",
    "//sdk/lib/sys/cpp",
    "//src/lib/fxl",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/hid",
    "//zircon/public/lib/trace",
    "//zircon/public/lib/trace-provider-with-fdio",
  ]
}

source_set("inverse_keymap") {
  sources = [
    "inverse_keymap.cc",
    "inverse_keymap.h",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.ui.input",
    "//zircon/public/lib/hid",
  ]
}
