|
| 1 | +/* |
| 2 | + * Copyright (c) 2022 The ZMK Contributors |
| 3 | + * |
| 4 | + * SPDX-License-Identifier: MIT |
| 5 | + */ |
| 6 | + |
| 7 | +#include <dt-bindings/zmk/matrix_transform.h> |
| 8 | + |
| 9 | +/ { |
| 10 | + |
| 11 | + chosen { |
| 12 | + zephyr,display = &oled; |
| 13 | + zmk,matrix_transform = &default_transform; |
| 14 | + }; |
| 15 | + |
| 16 | + default_transform: keymap_transform_0 { |
| 17 | + compatible = "zmk,matrix-transform"; |
| 18 | + columns = <14>; |
| 19 | + rows = <5>; |
| 20 | +// | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 | | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | |
| 21 | +// | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 | | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 | |
| 22 | +// | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 | | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 | |
| 23 | +// | SW24 | SW23 | SW22 | SW21 | SW20 | SW19 | SW25 | | SW25 | SW19 | SW20 | SW21 | SW22 | SW23 | SW24 | |
| 24 | +// | SW29 | SW28 | SW27 | SW26 | | SW26 | SW27 | SW28 | SW29 | |
| 25 | + map = < |
| 26 | +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) RC(0,10) RC(0,11) |
| 27 | +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) RC(1,10) RC(1,11) |
| 28 | +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(2,10) RC(2,11) |
| 29 | +RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(4,1) RC(4,10) RC(3,6) RC(3,7) RC(3,8) RC(3,9) RC(3,10) RC(3,11) |
| 30 | + RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,7) RC(4,8) RC(4,9) |
| 31 | + >; |
| 32 | + }; |
| 33 | + |
| 34 | + left_encoder: left_encoder { |
| 35 | + compatible = "alps,ec11"; |
| 36 | + label = "L_ENCODER"; |
| 37 | + resolution = <4>; |
| 38 | + status = "disabled"; |
| 39 | + |
| 40 | + a-gpios = <&pro_micro 5 GPIO_PULL_UP>; |
| 41 | + b-gpios = <&pro_micro 4 GPIO_PULL_UP>; |
| 42 | + }; |
| 43 | + |
| 44 | + right_encoder: right_encoder { |
| 45 | + compatible = "alps,ec11"; |
| 46 | + label = "R_ENCODER"; |
| 47 | + resolution = <4>; |
| 48 | + status = "disabled"; |
| 49 | + |
| 50 | + a-gpios = <&pro_micro 18 GPIO_PULL_UP>; |
| 51 | + b-gpios = <&pro_micro 19 GPIO_PULL_UP>; |
| 52 | + }; |
| 53 | + |
| 54 | + sensors { |
| 55 | + compatible = "zmk,keymap-sensors"; |
| 56 | + sensors = <&left_encoder &right_encoder>; |
| 57 | + }; |
| 58 | +}; |
| 59 | + |
| 60 | +&pro_micro_i2c { |
| 61 | + status = "okay"; |
| 62 | + |
| 63 | + oled: ssd1306@3c { |
| 64 | + compatible = "solomon,ssd1306fb"; |
| 65 | + reg = <0x3c>; |
| 66 | + label = "DISPLAY"; |
| 67 | + width = <128>; |
| 68 | + height = <32>; |
| 69 | + segment-offset = <0>; |
| 70 | + page-offset = <0>; |
| 71 | + display-offset = <0>; |
| 72 | + multiplex-ratio = <31>; |
| 73 | + segment-remap; |
| 74 | + com-invdir; |
| 75 | + com-sequential; |
| 76 | + prechargep = <0x22>; |
| 77 | + }; |
| 78 | +}; |
0 commit comments