1111 rows = <0>;
1212 events = <0>;
1313 };
14+ };
15+
16+ / {
17+ chosen {
18+ zmk,kscan = &kscan0;
19+ zmk,matrix_transform = &default_transform;
20+ };
21+
22+ default_transform: keymap_transform_0 {
23+ compatible = "zmk,matrix-transform";
24+ columns = <10>;
25+ rows = <4>;
26+ // | SW01 | SW02 | SW03 | SW04 | SW05 | | SW05 | SW04 | SW03 | SW02 | SW01 |
27+ // | SW06 | SW07 | SW08 | SW09 | SW10 | | SW10 | SW09 | SW08 | SW07 | SW06 |
28+ // | SW16 | SW11 | SW12 | SW13 | SW14 | SW15 | | SW15 | SW14 | SW13 | SW12 | SW11 | SW16 |
29+ // | SW17 | SW18 | SW19 | | SW19 | SW18 | SW17 |
30+ map = <
31+ RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9)
32+ RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9)
33+ RC(3,0) RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(3,9)
34+ RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7)
35+ >;
36+ };
37+
38+
39+ kscan0: kscan_0 {
40+ compatible = "zmk,kscan-gpio-matrix";
41+ label = "KSCAN";
42+
43+ diode-direction = "col2row";
44+ row-gpios
45+ = <&xiao_d 0 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
46+ , <&xiao_d 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
47+ , <&xiao_d 2 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
48+ , <&xiao_d 3 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
49+ ;
50+ };
1451};
0 commit comments