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