#include <zephyr/dt-bindings/input/input-event-codes.h>
&i2c4 {
status = "okay";
ch455g: ch455g@24 {
compatible = "wch,ch455g-kbd";
reg = <0x24>;
int-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
status = "okay";
/* Сохраняем вашу раскладку.
Формат MATRIX_KEY(row, col, code):
row — это SEG (0..3) из сырого кода CH455G
col — это DIG (0..3) из сырого кода CH455G */
keymap {
compatible = "input-keymap";
keymap = <
MATRIX_KEY(0, 0, INPUT_KEY_1) /* SEG0, DIG0 */
MATRIX_KEY(0, 1, INPUT_KEY_4) /* SEG0, DIG1 */
MATRIX_KEY(0, 2, INPUT_KEY_7) /* SEG0, DIG2 */
MATRIX_KEY(0, 3, INPUT_KEY_DOT) /* SEG0, DIG3 (*) */
MATRIX_KEY(1, 0, INPUT_KEY_2) /* SEG1, DIG0 */
MATRIX_KEY(1, 1, INPUT_KEY_5) /* SEG1, DIG1 */
MATRIX_KEY(1, 2, INPUT_KEY_8) /* SEG1, DIG2 */
MATRIX_KEY(1, 3, INPUT_KEY_0) /* SEG1, DIG3 */
MATRIX_KEY(2, 0, INPUT_KEY_3) /* SEG2, DIG0 */
MATRIX_KEY(2, 1, INPUT_KEY_6) /* SEG2, DIG1 */
MATRIX_KEY(2, 2, INPUT_KEY_9) /* SEG2, DIG2 */
MATRIX_KEY(2, 3, INPUT_KEY_T) /* SEG2, DIG3 (#) */
MATRIX_KEY(3, 0, INPUT_KEY_A) /* SEG3, DIG0 */
MATRIX_KEY(3, 1, INPUT_KEY_B) /* SEG3, DIG1 */
MATRIX_KEY(3, 2, INPUT_KEY_C) /* SEG3, DIG2 */
MATRIX_KEY(3, 3, INPUT_KEY_D) /* SEG3, DIG3 */
>;
row-size = <4>;
col-size = <4>;
};
};
};