| # 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 on 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>; |
| }; |