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

group("input") {
  deps = [ "drivers" ]
}

group("drivers") {
  testonly = true
  deps = [
    "drivers/adc-buttons:bazel_package",
    "drivers/buttons",
    "drivers/ctaphid",
    "drivers/focaltech",
    "drivers/focaltech:focaltech-sherlock",
    "drivers/goldfish_sensor:sensor_driver",
    "drivers/goodix",
    "drivers/gt6853:gt6853-module",
    "drivers/hid",
    "drivers/hid-input-report",
    "drivers/hid-input-report:hid-input-report-v2",
    "drivers/hidctl",
    "drivers/i2c-hid",
    "drivers/usb-hid:usb-hid",
    "drivers/usb-hid:usb-one-endpoint-hid-fake-usb",
    "drivers/usb-hid:usb-two-endpoint-hid-fake-usb",
    "drivers/virtio:virtio_input",
  ]

  if (current_cpu == "x64") {
    deps += [ "drivers/pc-ps2" ]
  }
}

group("tests") {
  testonly = true

  deps = [
    "drivers:tests",
    "lib:tests",
    "tests",
  ]
}
