1# Copyright 2023 Google LLC
2# SPDX-License-Identifier: Apache-2.0
3
4description: Keyboard matrix device
5
6include: base.yaml
7
8properties:
9  row-size:
10    type: int
11    description: |
12      The number of rows in the keyboard matrix.
13
14  col-size:
15    type: int
16    description: |
17      The number of column in the keyboard matrix.
18
19  poll-period-ms:
20    type: int
21    default: 5
22    description: |
23      Defines the poll period in msecs between between matrix scans, set to 0
24      to never exit poll mode. Defaults to 5ms if unspecified.
25
26  stable-poll-period-ms:
27    type: int
28    description: |
29      Defines the poll period in msecs between matrix scans when the matrix is
30      stable, defaults to poll-period-ms value if unspecified.
31
32  poll-timeout-ms:
33    type: int
34    default: 100
35    description: |
36      How long to wait before going from polling back to idle state. Defaults
37      to 100ms if unspecified.
38
39  debounce-down-ms:
40    type: int
41    default: 10
42    description: |
43      Debouncing time for a key press event. Defaults to 10ms if unspecified.
44
45  debounce-up-ms:
46    type: int
47    default: 20
48    description: |
49      Debouncing time for a key release event. Defaults to 20ms if unspecified.
50
51  settle-time-us:
52    type: int
53    default: 50
54    description: |
55      Delay between setting column output and reading the row values. Defaults
56      to 50us if unspecified.
57
58  actual-key-mask:
59    type: array
60    description:
61      Keyboard scanning mask. For each keyboard column, specify which
62      keyboard rows actually exist. Can be used to avoid triggering the ghost
63      detection on non existing keys. No masking by default, any combination is
64      valid.
65
66  no-ghostkey-check:
67    type: boolean
68    description: |
69        Ignore the ghost key checking in the driver if the diodes are used
70        in the matrix hardware.
71