49 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/input/matrix-keymap.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Common Key Matrices on Matrix-connected Key Boards8 9maintainers:10 - Olof Johansson <olof@lixom.net>11 12description: |13 A simple common binding for matrix-connected key boards. Currently targeted at14 defining the keys in the scope of linux key codes since that is a stable and15 standardized interface at this time.16 17 Some users of this binding might choose to specify secondary keymaps for18 cases where there is a modifier key such as a Fn key. Proposed names19 for said properties are "linux,fn-keymap" or with another descriptive20 word for the modifier other from "Fn".21 22properties:23 linux,keymap:24 $ref: /schemas/types.yaml#/definitions/uint32-array25 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-code29 30 keypad,num-rows:31 $ref: /schemas/types.yaml#/definitions/uint3232 description: Number of row lines connected to the keypad controller.33 34 keypad,num-columns:35 $ref: /schemas/types.yaml#/definitions/uint3236 description: Number of column lines connected to the keypad controller.37 38additionalProperties: true39 40examples:41 - |42 keypad {43 /* ... */44 linux,keymap = < 0x0003001245 0x0102003a >;46 keypad,num-rows = <2>;47 keypad,num-columns = <8>;48 };49