# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/input.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Input Devices Common Properties

maintainers:
  - Dmitry Torokhov <dmitry.torokhov@gmail.com>

properties:
  autorepeat:
    description: Enable autorepeat when key is pressed and held down.
    type: boolean

  linux,keycodes:
    description:
      Specifies an array of numeric keycode values to be used for reporting
      button presses.
    $ref: /schemas/types.yaml#/definitions/uint32-array
    items:
      minimum: 0
      maximum: 0x2ff

  linux,code:
    description:
      Specifies a single numeric keycode value to be used for reporting
      button/switch events. Specify KEY_RESERVED (0) to opt out of event
      reporting.
    $ref: /schemas/types.yaml#/definitions/uint32
    maximum: 0x2ff

  linux,input-type:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum:
      - 1   # EV_KEY
      - 2   # EV_REL
      - 3   # EV_ABS
      - 5   # EV_SW
    description:
      Specifies whether the event is to be interpreted as a key, relative,
      absolute, or switch.

  poll-interval:
    description: Poll interval time in milliseconds.
    $ref: /schemas/types.yaml#/definitions/uint32

  power-off-time-sec:
    description:
      Duration in seconds which the key should be kept pressed for device to
      power off automatically. Device with key pressed shutdown feature can
      specify this property.

  reset-time-sec:
    description:
      Duration in seconds which the key should be kept pressed for device to
      reset automatically. Device with key pressed reset feature can specify
      this property.

dependencies:
  linux,input-type: [ "linux,code" ]

additionalProperties: true