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