linux/Documentation/devicetree/bindings/input/matrix-keymap.yaml
<<
>>
Prefs
   1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
   2%YAML 1.2
   3---
   4$id: http://devicetree.org/schemas/input/matrix-keymap.yaml#
   5$schema: http://devicetree.org/meta-schemas/core.yaml#
   6
   7title: Common key matrices binding for matrix-connected key boards
   8
   9maintainers:
  10  - Olof Johansson <olof@lixom.net>
  11
  12description: |
  13  A simple common binding for matrix-connected key boards. Currently targeted at
  14  defining the keys in the scope of linux key codes since that is a stable and
  15  standardized interface at this time.
  16
  17  Some users of this binding might choose to specify secondary keymaps for
  18  cases where there is a modifier key such as a Fn key. Proposed names
  19  for said properties are "linux,fn-keymap" or with another descriptive
  20  word for the modifier other from "Fn".
  21
  22properties:
  23  linux,keymap:
  24    $ref: '/schemas/types.yaml#/definitions/uint32-array'
  25    description: |
  26      An array of packed 1-cell entries containing the equivalent of row,
  27      column and linux key-code. The 32-bit big endian cell is packed as:
  28          row << 24 | column << 16 | key-code
  29
  30  keypad,num-rows:
  31    $ref: /schemas/types.yaml#/definitions/uint32
  32    description: Number of row lines connected to the keypad controller.
  33
  34  keypad,num-columns:
  35    $ref: /schemas/types.yaml#/definitions/uint32
  36    description: Number of column lines connected to the keypad controller.
  37
  38additionalProperties: true
  39
  40examples:
  41  - |
  42    keypad {
  43        /* ... */
  44        linux,keymap = < 0x00030012
  45                         0x0102003a >;
  46        keypad,num-rows = <2>;
  47        keypad,num-columns = <8>;
  48    };
  49