Загрузка данных


#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>;
        };
    };
};