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

title: Common key matrices binding for matrix-connected key boards

maintainers:
  - Olof Johansson <olof@lixom.net>

description: |
  A simple common binding for matrix-connected key boards. Currently targeted at
  defining the keys in the scope of linux key codes since that is a stable and
  standardized interface at this time.

  Some users of this binding might choose to specify secondary keymaps for
  cases where there is a modifier key such as a Fn key. Proposed names
  for said properties are "linux,fn-keymap" or with another descriptive
  word for the modifier other from "Fn".

properties:
  linux,keymap:
    $ref: '/schemas/types.yaml#/definitions/uint32-array'
    description: |
      An array of packed 1-cell entries containing the equivalent of row,
      column and linux key-code. The 32-bit big endian cell is packed as:
          row << 24 | column << 16 | key-code

  keypad,num-rows:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Number of row lines connected to the keypad controller.

  keypad,num-columns:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Number of column lines connected to the keypad controller.

additionalProperties: true

examples:
  - |
    keypad {
        /* ... */
        linux,keymap = < 0x00030012
                         0x0102003a >;
        keypad,num-rows = <2>;
        keypad,num-columns = <8>;
    };
