blob: a715c2a773fe0861ad6969ba21b7002768b9450c [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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 on 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 };