forked from kofal.net/zmk
merge upstream
This commit is contained in:
@@ -1,14 +0,0 @@
|
||||
|
||||
|
||||
|
||||
config ZMK_KEYBOARD_NAME
|
||||
default "cradios"
|
||||
|
||||
# Unable to use interrupts as the same pin number is used
|
||||
# across A & B controllers, and STM32F303CCT6 can't enable
|
||||
# interrutps for multiple controllers for the same "line"
|
||||
# for the external interrupts.
|
||||
config ZMK_KSCAN_GPIO_POLLING
|
||||
default y
|
||||
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
# Copyright (c) 2020 Pete Johanson
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config SHIELD_CRADIOS
|
||||
def_bool $(shields_list_contains,cradios)
|
||||
50
app/boards/shields/a_dux/a_dux-layouts.dtsi
Normal file
50
app/boards/shields/a_dux/a_dux-layouts.dtsi
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright (c) 2025 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
#include <physical_layouts.dtsi>
|
||||
|
||||
/ {
|
||||
physical_layout0: physical_layout_0 {
|
||||
compatible = "zmk,physical-layout";
|
||||
display-name = "Default";
|
||||
|
||||
keys // w h x y rot rx ry
|
||||
= <&key_physical_attrs 100 100 0 133 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 31 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 28 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 42 0 0 0>
|
||||
, <&key_physical_attrs 100 100 800 42 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 28 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 31 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 133 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 233 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 131 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 128 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 142 0 0 0>
|
||||
, <&key_physical_attrs 100 100 800 142 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 128 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 131 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 233 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 333 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 231 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 228 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 242 0 0 0>
|
||||
, <&key_physical_attrs 100 100 800 242 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 228 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 231 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 333 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 375 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 400 0 0 0>
|
||||
, <&key_physical_attrs 100 100 700 400 0 0 0>
|
||||
, <&key_physical_attrs 100 100 800 375 0 0 0>
|
||||
;
|
||||
};
|
||||
};
|
||||
@@ -5,12 +5,18 @@
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
#include "a_dux-layouts.dtsi"
|
||||
|
||||
&physical_layout0 {
|
||||
transform = <&default_transform>;
|
||||
};
|
||||
|
||||
|
||||
/ {
|
||||
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,physical-layout = &physical_layout0;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
@@ -27,7 +33,8 @@
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-direct";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
input-gpios =
|
||||
<&pro_micro 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
|
||||
<&pro_micro 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
|
||||
@@ -48,5 +55,4 @@
|
||||
<&pro_micro 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
// This is a sample keymap intended to be replaced with your own
|
||||
base_layer {
|
||||
display-name = "Base Layer";
|
||||
bindings = <
|
||||
&kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P
|
||||
&kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp ESC &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp MINUS
|
||||
&kp TAB &kp A &kp S &kp D &kp F &kp G &kp BSPC &kp H &kp J &kp K &kp L &kp SEMI &kp RSHFT
|
||||
@@ -29,6 +30,7 @@
|
||||
>;
|
||||
};
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
bindings = <
|
||||
&trans &none &none &none &none &none &none &kp EQUAL &kp PLUS &kp STAR &kp PRCNT &trans
|
||||
&trans &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &trans &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &trans
|
||||
@@ -38,6 +40,7 @@
|
||||
>;
|
||||
};
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
bindings = <
|
||||
&trans &kp BSLH &kp EXCL &kp AMPS &kp PIPE &none &none &kp EQUAL &kp PLUS &kp STAR &kp PRCNT &trans
|
||||
&trans &kp HASH &kp GRAVE &kp DQT &kp SQT &kp TILDE &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp DLLR &trans
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
@@ -28,7 +28,7 @@ RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(6,0) RC(6,1) RC(6,2)
|
||||
|
||||
kscan0: kscan_0 {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
diode-direction = "col2row";
|
||||
|
||||
col-gpios
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
row-gpios
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// | Esc | Vol Up | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del |
|
||||
// | Home | Vol Dn | ` | 1 | 2 | 3 | 4 | 5 | 6 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bk Spc |
|
||||
// | End | Tab | Tab | Q | W | E | R | T | Y | T | Y | U | I | O | P | [ | ] | \ |
|
||||
@@ -36,6 +37,7 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// | | | | | | | | | | | | | | | | | | |
|
||||
// | | | | | | | | | | | | | | | | | | |
|
||||
// | | | | | | | | | | | | | | | | | | |
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
/*
|
||||
* Copyright (c) 2025 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <physical_layouts.dtsi>
|
||||
|
||||
/ {
|
||||
horizontal_physical_layout: horizontal_physical_layout {
|
||||
compatible = "zmk,physical-layout";
|
||||
display-name = "Horizontal Layout";
|
||||
|
||||
keys
|
||||
= <&key_physical_attrs 100 100 0 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 200 0 0 0>
|
||||
;
|
||||
};
|
||||
|
||||
vertical_physical_layout: vertical_physical_layout {
|
||||
compatible = "zmk,physical-layout";
|
||||
display-name = "Vertical Layout";
|
||||
|
||||
keys
|
||||
= <&key_physical_attrs 100 100 0 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 300 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 300 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 300 0 0 0>
|
||||
;
|
||||
};
|
||||
|
||||
position_map {
|
||||
compatible = "zmk,physical-layout-position-map";
|
||||
|
||||
horizontal_map: horizontal {
|
||||
// A 7 8 9
|
||||
// B 4 5 6
|
||||
// C 1 2 3
|
||||
physical-layout = <&horizontal_physical_layout>;
|
||||
positions = </* 0 */ 1 2 3 4 5 6 7 8 /* 9 10 11 */>;
|
||||
};
|
||||
vertical_map: verctical {
|
||||
// A B C
|
||||
// 7 8 9
|
||||
// 4 5 6
|
||||
// 1 2 3
|
||||
physical-layout = <&vertical_physical_layout>;
|
||||
positions = </* 0 */ 3 4 5 1 6 7 8 2 /* 9 10 11 */>;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
* Copyright (c) 2025 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
|
||||
bindings = <
|
||||
&tog 1 &kp C_PREV &kp C_PP &kp C_NEXT
|
||||
@@ -23,6 +24,7 @@
|
||||
};
|
||||
|
||||
num_layer {
|
||||
display-name = "Num Layer";
|
||||
bindings = <
|
||||
&trans &kp N7 &kp N8 &kp N9
|
||||
&trans &kp N4 &kp N5 &kp N6
|
||||
@@ -31,14 +33,16 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
bindings = <
|
||||
&bt BT_CLR &none &sys_reset &bootloader
|
||||
&trans &bt BT_SEL 3 &bt BT_SEL 4 &none
|
||||
&none &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2
|
||||
&studio_unlock &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2
|
||||
>;
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
bindings = <
|
||||
&kp 0x68 &kp 0x69 &kp 0x6A &kp 0x6B
|
||||
&kp 0x6C &kp 0x6D &kp 0x6E &kp 0x6F
|
||||
@@ -46,4 +50,4 @@
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,19 +1,53 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
* Copyright (c) 2025 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
#include "boardsource3x4-layouts.dtsi"
|
||||
|
||||
|
||||
&horizontal_physical_layout {
|
||||
transform = <&horizontal_transform>;
|
||||
};
|
||||
&vertical_physical_layout {
|
||||
transform = <&vertical_transform>;
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,physical-layout = &horizontal_physical_layout;
|
||||
};
|
||||
|
||||
horizontal_transform: horizontal_transform {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <4>;
|
||||
rows = <3>;
|
||||
map = <
|
||||
RC(0,0) RC(0,1) RC(0,2) RC(0,3)
|
||||
RC(1,0) RC(1,1) RC(1,2) RC(1,3)
|
||||
RC(2,0) RC(2,1) RC(2,2) RC(2,3)
|
||||
>;
|
||||
};
|
||||
|
||||
vertical_transform: vertical_transform {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <4>;
|
||||
rows = <3>;
|
||||
map = <
|
||||
RC(0,3) RC(1,3) RC(2,3)
|
||||
RC(0,2) RC(1,2) RC(2,2)
|
||||
RC(0,1) RC(1,1) RC(2,1)
|
||||
RC(0,0) RC(1,0) RC(2,0)
|
||||
>;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
|
||||
row-gpios
|
||||
|
||||
@@ -6,3 +6,4 @@ url: https://boardsource.xyz/store/5ecc2008eee64242946c98c1
|
||||
requires: [pro_micro]
|
||||
features:
|
||||
- keys
|
||||
- studio
|
||||
|
||||
@@ -15,12 +15,13 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// ------------------------------------------------------------------------------------------
|
||||
// | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BSPC |
|
||||
// | TAB | Q | W | E | R | T | Y | U | I | O | P | \ |
|
||||
// | SHIFT | A | S | D | F | G | H | J | K | L | ; | ' |
|
||||
// | CTRL | Z | X | C | V | B | N | M | , | . | / | ENTER |
|
||||
// |ADJUST | LCTL | LALT | LGUI | LOWR | SPACE| SPACE | RAIS | LARW | DARW | UARW | RARW |
|
||||
// |ADJUST | LCTL | LALT | LGUI | LOWR | SPACE| SPACE | RAIS | LEFT | DOWN | UARW | RARW |
|
||||
|
||||
|
||||
bindings = <
|
||||
@@ -33,6 +34,7 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// -------------------------------------------------------------------------------------------
|
||||
// | ESC | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
// | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | DEL |
|
||||
@@ -49,6 +51,7 @@
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
// ------------------------------------------------------------------------------------------
|
||||
// | ESC | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
// | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | DEL |
|
||||
@@ -65,6 +68,7 @@
|
||||
};
|
||||
|
||||
adjust_layer {
|
||||
display-name = "Adjust Layer";
|
||||
// ------------------------------------------------------------------------------------------
|
||||
// |tog(4)| F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
// | | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |LALT(PRTSN)|
|
||||
@@ -81,6 +85,7 @@
|
||||
};
|
||||
|
||||
flock_layer {
|
||||
display-name = "Flock Layer";
|
||||
// ----------------------------------------------------------------------------------------------
|
||||
// |tog(4) | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | |
|
||||
// |out tog|BT_SEL 0|BT_SEL 1|BT_SEL 2|BT_SEL 3|BT_SEL 4|BT_PRV|BT_NXT|BT_CLR| | | |
|
||||
@@ -96,4 +101,4 @@
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -6,14 +6,31 @@
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
#include <layouts/common/ortho_5x12/all1u.dtsi>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,physical-layout = &layout_ortho_5x12_all1u;
|
||||
};
|
||||
|
||||
matrix_transform_50_all1u: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <12>;
|
||||
rows = <5>;
|
||||
map = <
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8) RC(3,9) RC(3,10) RC(3,11)
|
||||
RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,7) RC(4,8) RC(4,9) RC(4,10) RC(4,11)
|
||||
>;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
|
||||
row-gpios
|
||||
@@ -39,4 +56,8 @@
|
||||
, <&pro_micro 6 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&layout_ortho_5x12_all1u {
|
||||
transform = <&matrix_transform_50_all1u>;
|
||||
};
|
||||
|
||||
@@ -6,3 +6,4 @@ url: https://boardsource.xyz/store/5ecb802c86879c9a0c22db61
|
||||
requires: [pro_micro]
|
||||
features:
|
||||
- keys
|
||||
- studio
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
@@ -1,3 +1,2 @@
|
||||
# Uncomment the following lines to enable RGB underglow
|
||||
# CONFIG_ZMK_RGB_UNDERGLOW=y
|
||||
# CONFIG_WS2812_STRIP=y
|
||||
@@ -15,6 +15,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
|
||||
bindings = <
|
||||
&kp ESC &kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS &kp EQUAL &kp BSPC
|
||||
@@ -26,6 +27,7 @@
|
||||
};
|
||||
|
||||
function_layer {
|
||||
display-name = "Function Layer";
|
||||
|
||||
bindings = <
|
||||
&bootloader &out OUT_TOG &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &trans
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
};
|
||||
|
||||
|
||||
@@ -44,7 +44,8 @@
|
||||
|
||||
kscan0: kscan_0 {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
|
||||
col-gpios
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-direct";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
input-gpios
|
||||
= <&pro_micro 18 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
&mt {
|
||||
flavor = "tap-preferred";
|
||||
tapping_term_ms = <140>;
|
||||
tapping-term-ms = <140>;
|
||||
};
|
||||
|
||||
/ {
|
||||
@@ -75,6 +75,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
MAIN_layer {
|
||||
display-name = "Main Layer";
|
||||
bindings = <
|
||||
&kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O
|
||||
&kp Q &kp A &kp S &kp D < SYM F &kp G &kp H < SYM J &kp K &kp L &kp SQT &kp P
|
||||
@@ -84,6 +85,7 @@
|
||||
};
|
||||
|
||||
SYM_layer {
|
||||
display-name = "Sym Layer";
|
||||
bindings = <
|
||||
&kp N7 &kp N8 &kp N9 &kp STAR &kp DLLR &kp LBRC &kp RBRC &kp HASH
|
||||
&kp AMPS &kp EXCL &kp N1 &kp N2 &kp N3 &kp EQUAL &kp LT &kp LPAR &kp RPAR &kp GT &kp PIPE &none
|
||||
@@ -93,6 +95,7 @@
|
||||
};
|
||||
|
||||
NAV_layer {
|
||||
display-name = "Nav Layer";
|
||||
bindings = <
|
||||
&kp C_VOL_DN &kp C_VOL_UP &kp C_NEXT &kp C_PP &none &kp F7 &kp F8 &kp F9
|
||||
&kp C_PREV &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp LC(TAB) &kp PSCRN &kp F1 &kp F2 &kp F3 &kp F10 &kp F12
|
||||
@@ -102,6 +105,7 @@
|
||||
};
|
||||
|
||||
BT_layer {
|
||||
display-name = "BT Layer";
|
||||
bindings = <
|
||||
&none &none &none &none &none &none &none &none
|
||||
&none &none &none &none &none &none &none &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &none
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp N9 &kp N8
|
||||
&kp N7 &kp N6
|
||||
@@ -22,4 +23,4 @@
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -12,8 +12,6 @@
|
||||
kscan0: kscan_0 {
|
||||
compatible = "zmk,kscan-gpio-direct";
|
||||
|
||||
label = "KSCAN";
|
||||
|
||||
input-gpios
|
||||
= <&gpioa 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&gpioa 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp ESC &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSPC
|
||||
&kp TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
||||
@@ -26,6 +27,7 @@
|
||||
};
|
||||
|
||||
num_mods {
|
||||
display-name = "Num Mods";
|
||||
bindings = <
|
||||
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp DEL
|
||||
&kp TAB &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp MINUS &kp PG_UP &kp LBKT &kp RBKT &kp BSLH
|
||||
@@ -35,6 +37,7 @@
|
||||
};
|
||||
|
||||
bt_control {
|
||||
display-name = "Bt Control";
|
||||
bindings = <
|
||||
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
@@ -43,4 +46,4 @@
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -4,14 +4,32 @@
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
#include <layouts/common/ortho_4x12/all1u.dtsi>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,physical-layout = &layout_ortho_4x12_all1u;
|
||||
};
|
||||
|
||||
matrix_transform_40_all1u: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <12>;
|
||||
rows = <4>;
|
||||
map = <
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8) RC(3,9) RC(3,10) RC(3,11)
|
||||
>;
|
||||
};
|
||||
|
||||
kscan0: kscan_0 {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
|
||||
col-gpios
|
||||
@@ -36,4 +54,8 @@
|
||||
, <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&layout_ortho_4x12_all1u {
|
||||
transform = <&matrix_transform_40_all1u>;
|
||||
};
|
||||
|
||||
@@ -6,3 +6,4 @@ url: https://github.com/ai03-2725/Contra
|
||||
requires: [pro_micro]
|
||||
features:
|
||||
- keys
|
||||
- studio
|
||||
|
||||
@@ -21,9 +21,6 @@ config I2C
|
||||
config SSD1306
|
||||
default y
|
||||
|
||||
config SSD1306_REVERSE_MODE
|
||||
default y
|
||||
|
||||
endif # ZMK_DISPLAY
|
||||
|
||||
if LVGL
|
||||
@@ -31,7 +28,7 @@ if LVGL
|
||||
config LV_Z_VDB_SIZE
|
||||
default 64
|
||||
|
||||
config LV_Z_DPI
|
||||
config LV_DPI_DEF
|
||||
default 148
|
||||
|
||||
config LV_Z_BITS_PER_PIXEL
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
@@ -1,6 +1,5 @@
|
||||
# Uncomment the following lines to enable the Corne RGB Underglow
|
||||
# CONFIG_ZMK_RGB_UNDERGLOW=y
|
||||
# CONFIG_WS2812_STRIP=y
|
||||
|
||||
# Uncomment the following line to enable the Corne OLED Display
|
||||
# CONFIG_ZMK_DISPLAY=y
|
||||
|
||||
@@ -6,11 +6,22 @@
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
#include <layouts/foostan/corne/5column.dtsi>
|
||||
#include <layouts/foostan/corne/6column.dtsi>
|
||||
|
||||
&foostan_corne_6col_layout {
|
||||
transform = <&default_transform>;
|
||||
};
|
||||
|
||||
&foostan_corne_5col_layout {
|
||||
transform = <&five_column_transform>;
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zephyr,display = &oled;
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,physical-layout = &foostan_corne_6col_layout;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
@@ -36,7 +47,7 @@ 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)
|
||||
// | SW2 | SW3 | SW4 | SW5 | SW6 | | SW6 | SW5 | SW4 | SW3 | SW2 |
|
||||
// | SW8 | SW9 | SW10 | SW11 | SW12 | | SW12 | SW11 | SW10 | SW9 | SW8 |
|
||||
// | SW14 | SW15 | SW16 | SW17 | SW18 | | SW18 | SW17 | SW16 | SW15 | SW14 |
|
||||
// | SW19 | SW20 | SW21 | | SW21 | SW20 | SW19 |
|
||||
// | SW19 | SW20 | SW21 | | SW21 | SW20 | SW19 |
|
||||
map = <
|
||||
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(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)
|
||||
@@ -47,7 +58,7 @@ 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
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
row-gpios
|
||||
@@ -68,7 +79,6 @@ 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
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
@@ -78,6 +88,7 @@ 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
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
inversion-on;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -13,8 +13,9 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | BKSP |
|
||||
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | BSPC |
|
||||
// | CTRL | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
// | SHFT | Z | X | C | V | B | | N | M | , | . | / | ESC |
|
||||
// | GUI | LWR | SPC | | ENT | RSE | ALT |
|
||||
@@ -26,8 +27,9 @@
|
||||
>;
|
||||
};
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | TAB | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BKSP |
|
||||
// | TAB | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BSPC |
|
||||
// | BTCLR| BT1 | BT2 | BT3 | BT4 | BT5 | | LFT | DWN | UP | RGT | | |
|
||||
// | SHFT | | | | | | | | | | | | |
|
||||
// | GUI | | SPC | | ENT | | ALT |
|
||||
@@ -40,15 +42,16 @@
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | TAB | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BKSP |
|
||||
// | TAB | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BSPC |
|
||||
// | CTRL | | | | | | | - | = | [ | ] | \ | ` |
|
||||
// | SHFT | | | | | | | _ | + | { | } | "|" | ~ |
|
||||
// | GUI | | SPC | | ENT | | ALT |
|
||||
bindings = <
|
||||
&kp TAB &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp KP_MULTIPLY &kp LPAR &kp RPAR &kp BSPC
|
||||
&kp LCTRL &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE
|
||||
&kp LSHFT &trans &trans &trans &trans &trans &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE
|
||||
&kp TAB &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &kp BSPC
|
||||
&kp LCTRL &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE
|
||||
&kp LSHFT &trans &trans &trans &trans &trans &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE
|
||||
&kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -9,6 +9,7 @@ features:
|
||||
- keys
|
||||
- display
|
||||
- underglow
|
||||
- studio
|
||||
siblings:
|
||||
- corne_left
|
||||
- corne_right
|
||||
|
||||
@@ -5,12 +5,15 @@
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
#include <layouts/cuddlykeyboards/ferris.dtsi>
|
||||
|
||||
&cuddlykeyboards_ferris_layout {
|
||||
transform = <&default_transform>;
|
||||
};
|
||||
|
||||
/ {
|
||||
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
@@ -27,7 +30,8 @@
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-direct";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
input-gpios
|
||||
= <&pro_micro 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro 18 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
/ {
|
||||
behaviors {
|
||||
ht: hold_tap {
|
||||
label = "hold_tap";
|
||||
compatible = "zmk,behavior-hold-tap";
|
||||
#binding-cells = <2>;
|
||||
flavor = "tap-preferred";
|
||||
@@ -34,6 +33,7 @@
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
|
||||
//│ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │
|
||||
@@ -51,13 +51,14 @@
|
||||
};
|
||||
|
||||
right_layer {
|
||||
display-name = "Right Layer";
|
||||
bindings = <
|
||||
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
|
||||
//│ INSERT │ 1 │ 2 │ 3 │ │ │ HOME │ PAGE DN │ PAGE UP │ END │ : │
|
||||
&kp INS &kp N1 &kp N2 &kp N3 &trans &kp HOME &kp PG_DN &kp PG_UP &kp END &kp COLON
|
||||
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
//│ DELETE │ 4 │ 5 │ 6 │ │ │ LEFT │ DOWN │ UP │ RIGHT │ ; │
|
||||
&kp DEL &kp N4 &kp N5 &kp N6 &trans &kp LARW &kp DARW &kp UARW &kp RARW &kp SEMI
|
||||
&kp DEL &kp N4 &kp N5 &kp N6 &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp SEMI
|
||||
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
//│ CAPS │ 7 │ 8 │ 9 │ 0 │ │ │ │ │ │ │
|
||||
&caps_word &kp N7 &kp N8 &kp N9 &kp N0 &trans &trans &trans &trans &trans
|
||||
@@ -68,6 +69,7 @@
|
||||
};
|
||||
|
||||
left_layer {
|
||||
display-name = "Left Layer";
|
||||
bindings = <
|
||||
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
|
||||
//│ │ [ │ { │ } │ │ │ ^ │ ( │ ) │ ] │ ~ │
|
||||
@@ -85,6 +87,7 @@
|
||||
};
|
||||
|
||||
tri_layer {
|
||||
display-name = "Tri Layer";
|
||||
bindings = <
|
||||
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
|
||||
//│ RESET │ │ │ │PROFILE 0 │ │ │ │ │ │ RESET │
|
||||
|
||||
@@ -7,6 +7,7 @@ requires: [pro_micro]
|
||||
exposes: [i2c_oled]
|
||||
features:
|
||||
- keys
|
||||
- studio
|
||||
siblings:
|
||||
- cradio_left
|
||||
- cradio_right
|
||||
|
||||
@@ -13,22 +13,24 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | TAB | Q | W | E | R | T | Y | U | I | O | P | BSPC |
|
||||
// | ESC | A | S | D | F | G | H | J | K | L | ; | ' |
|
||||
// | SHIFT | Z | X | C | V | B | N | M | , | . | / | RET |
|
||||
// | | LCTL | LALT | LGUI | LOWR | SPACE | RAIS | LARW | DARW | UARW | RARW |
|
||||
// | | LCTRL | LALT | LGUI | LOWR | SPACE | RAIS | LEFT | DOWN | UP | RIGHT |
|
||||
bindings = <
|
||||
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSPC
|
||||
&kp ESC &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
||||
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp SLASH &kp RET
|
||||
&trans &kp LCTL &kp LALT &kp LGUI &mo 1 &kp SPACE &trans &mo 2 &kp LEFT &kp DOWN &kp UP &kp RIGHT
|
||||
&trans &kp LCTRL &kp LALT &kp LGUI &mo 1 &kp SPACE &trans &mo 2 &kp LEFT &kp DOWN &kp UP &kp RIGHT
|
||||
>;
|
||||
|
||||
sensor-bindings = <&inc_dec_kp PG_UP PG_DN>;
|
||||
};
|
||||
|
||||
lower {
|
||||
display-name = "Lower";
|
||||
bindings = <
|
||||
&kp LS(GRAVE) &kp LS(N1) &kp LS(N2) &kp LS(N3) &kp LS(N4) &kp LS(N5) &kp LS(N6) &kp LS(N7) &kp LS(N8) &kp LS(N9) &kp LS(N0) &kp DEL
|
||||
&kp DEL &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE
|
||||
@@ -40,6 +42,7 @@
|
||||
};
|
||||
|
||||
raise {
|
||||
display-name = "Raise";
|
||||
bindings = <
|
||||
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BSPC
|
||||
&kp DEL &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH
|
||||
@@ -51,6 +54,7 @@
|
||||
};
|
||||
|
||||
control {
|
||||
display-name = "Control";
|
||||
bindings = <
|
||||
&sys_reset &bootloader &bt BT_CLR &bt BT_PRV &bt BT_NXT &trans &trans &trans &trans &trans &trans &trans
|
||||
&bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
|
||||
@@ -6,14 +6,30 @@
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
#include <layouts/common/ortho_4x12/all1u.dtsi>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,physical-layout = &layout_ortho_4x12_all1u;
|
||||
};
|
||||
|
||||
matrix_transform_40_all1u: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <12>;
|
||||
rows = <4>;
|
||||
map = <
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8) RC(3,9) RC(3,10) RC(3,11)
|
||||
>;
|
||||
};
|
||||
|
||||
kscan0: kscan_0 {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
|
||||
col-gpios
|
||||
@@ -41,15 +57,19 @@
|
||||
|
||||
encoder: encoder {
|
||||
compatible = "alps,ec11";
|
||||
label = "ENCODER";
|
||||
a-gpios = <&pro_micro 20 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
|
||||
b-gpios = <&pro_micro 21 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
|
||||
resolution = <2>;
|
||||
steps = <80>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
sensors {
|
||||
sensors: sensors {
|
||||
compatible = "zmk,keymap-sensors";
|
||||
sensors = <&encoder>;
|
||||
triggers-per-rotation = <20>;
|
||||
};
|
||||
};
|
||||
|
||||
&layout_ortho_4x12_all1u {
|
||||
transform = <&matrix_transform_40_all1u>;
|
||||
};
|
||||
|
||||
@@ -7,3 +7,4 @@ requires: [pro_micro]
|
||||
features:
|
||||
- keys
|
||||
- encoder
|
||||
- studio
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default {
|
||||
display-name = "Default";
|
||||
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
// Q | W | E | R | T | | Y | U | I | O | P |
|
||||
// A | S | D | F | G | | H | J | K | L | ; |
|
||||
@@ -27,6 +28,7 @@
|
||||
>;
|
||||
};
|
||||
numbers {
|
||||
display-name = "Numbers";
|
||||
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
// 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
|
||||
// TAB | BT_PRV | BT_NXT | VOL-| VOL+| | < | v | ∧ | > | ' |
|
||||
@@ -40,6 +42,7 @@
|
||||
>;
|
||||
};
|
||||
symbols {
|
||||
display-name = "Symbols";
|
||||
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
// ESC | F1 | F2 | F3 | F4 | | OUT_USB | OUT_BLE | | = | - |
|
||||
// CAPS| F5 | F6 | F7 | F8 | | [ | ] | | ` | \ |
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
@@ -26,7 +26,8 @@
|
||||
|
||||
kscan0: kscan_0 {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
|
||||
col-gpios
|
||||
|
||||
@@ -24,9 +24,6 @@ config I2C
|
||||
config SSD1306
|
||||
default y
|
||||
|
||||
config SSD1306_REVERSE_MODE
|
||||
default y
|
||||
|
||||
endif # ZMK_DISPLAY
|
||||
|
||||
if LVGL
|
||||
@@ -34,7 +31,7 @@ if LVGL
|
||||
config LV_Z_VDB_SIZE
|
||||
default 64
|
||||
|
||||
config LV_Z_DPI
|
||||
config LV_DPI_DEF
|
||||
default 148
|
||||
|
||||
config LV_Z_BITS_PER_PIXEL
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
@@ -25,7 +25,6 @@
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
@@ -1,47 +0,0 @@
|
||||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
@@ -1,6 +1,5 @@
|
||||
# Uncomment the following lines to enable the Elephant42 RGB Underglow
|
||||
# CONFIG_ZMK_RGB_UNDERGLOW=y
|
||||
# CONFIG_WS2812_STRIP=y
|
||||
|
||||
# Uncomment the following line to enable the Elephant42 OLED Display
|
||||
# CONFIG_ZMK_DISPLAY=y
|
||||
# CONFIG_ZMK_DISPLAY=y
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
@@ -26,7 +26,7 @@ RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7)
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
row-gpios
|
||||
@@ -45,7 +45,6 @@ RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7)
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
@@ -55,6 +54,7 @@ RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7)
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
inversion-on;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
@@ -18,6 +18,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
< ADJT ESC &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp DEL
|
||||
&mt LCTRL TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
||||
@@ -27,6 +28,7 @@
|
||||
};
|
||||
|
||||
lower {
|
||||
display-name = "Lower";
|
||||
bindings = <
|
||||
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp C_PLAY_PAUSE
|
||||
&trans &trans &trans &trans &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans &trans
|
||||
@@ -35,6 +37,7 @@
|
||||
>;
|
||||
};
|
||||
raise {
|
||||
display-name = "Raise";
|
||||
bindings = <
|
||||
&kp TILDE &trans &trans &trans &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp C_PLAY_PAUSE
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp BSLH
|
||||
@@ -44,6 +47,7 @@
|
||||
};
|
||||
|
||||
adjust {
|
||||
display-name = "Adjust";
|
||||
bindings = <
|
||||
&trans &bt BT_NXT &bt BT_PRV &trans &trans &bt BT_CLR &trans &trans &trans &trans &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
@@ -52,4 +56,4 @@
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
@@ -35,7 +35,7 @@ RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,13) RC(4,12
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
/* QWERTY
|
||||
* .----------------------------------------------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | [ | | ] | 6 | 7 | 8 | 9 | 0 | PScr |
|
||||
@@ -40,6 +41,7 @@
|
||||
>;
|
||||
};
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
/* .----------------------------------------------------------------------------------------------------------------------.
|
||||
* | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
|
||||
* |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
|
||||
@@ -61,6 +63,7 @@
|
||||
>;
|
||||
};
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
/* .----------------------------------------------------------------------------------------------------------------------.
|
||||
* | | BT 0 | BT 1 | BT 2 | BT 3 | | BTCL | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
@@ -25,7 +25,6 @@
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
@@ -1,47 +0,0 @@
|
||||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
@@ -6,4 +6,3 @@
|
||||
|
||||
# Uncomment the following lines to enable RGB underglow
|
||||
# CONFIG_ZMK_RGB_UNDERGLOW=y
|
||||
# CONFIG_WS2812_STRIP=y
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
|
||||
|
||||
@@ -17,13 +17,14 @@
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
};
|
||||
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6
|
||||
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp N7
|
||||
@@ -34,6 +35,7 @@
|
||||
};
|
||||
|
||||
arrow_layer {
|
||||
display-name = "Arrow Layer";
|
||||
bindings = <
|
||||
&bt BT_SEL 0 &bt BT_SEL 1 &trans &trans &trans &out OUT_USB &out OUT_BLE
|
||||
&trans &trans &kp UP &trans &rgb_ug RGB_TOG &rgb_ug RGB_HUI &rgb_ug RGB_HUD
|
||||
@@ -44,6 +46,7 @@
|
||||
};
|
||||
|
||||
function_layer {
|
||||
display-name = "Function Layer";
|
||||
bindings = <
|
||||
&trans &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6
|
||||
&trans &kp P &kp O &kp I &kp U &kp Y &kp F7
|
||||
|
||||
@@ -17,13 +17,14 @@
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
};
|
||||
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6
|
||||
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp N7
|
||||
@@ -34,6 +35,7 @@
|
||||
};
|
||||
|
||||
arrow_layer {
|
||||
display-name = "Arrow Layer";
|
||||
bindings = <
|
||||
&bt BT_SEL 0 &bt BT_SEL 1 &trans &trans &trans &out OUT_USB &out OUT_BLE
|
||||
&trans &trans &kp UP &trans &rgb_ug RGB_TOG &rgb_ug RGB_HUI &rgb_ug RGB_HUD
|
||||
@@ -44,6 +46,7 @@
|
||||
};
|
||||
|
||||
function_layer {
|
||||
display-name = "Function Layer";
|
||||
bindings = <
|
||||
&trans &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6
|
||||
&trans &kp P &kp O &kp I &kp U &kp Y &kp F7
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -30,7 +30,7 @@ RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) /**/ RC(3,6) RC(3,9
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
row-gpios
|
||||
|
||||
@@ -14,13 +14,14 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
// ---------------------------------------------- ----------------------------------------------
|
||||
// | ESC | Q | W | E | R | T | | Y | U | I | O | P | | BKSP |
|
||||
// | ESC | Q | W | E | R | T | | Y | U | I | O | P | | BSPC |
|
||||
// | TAB | A | S | D | F | G | | H | J | K | L | ' | ENTER |
|
||||
// | SHIFT | Z | X | C | V | B | | N | M | , | . | / | RSHFT |
|
||||
// | LCTRL | LALT| LGUI | SPACE | | SPACE/L1 | L2 | RGUI | RALT |RCTRL|
|
||||
// ------------------------------------------- -----------------------------------------------
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp ESC &kp Q &kp W &kp E &kp R &kp T /**/ &kp Y &kp U &kp I &kp O &kp P &none &kp BACKSPACE
|
||||
&kp TAB &kp A &kp S &kp D &kp F &kp G /**/ &kp H &kp J &kp K &kp L &kp SQT &kp ENTER
|
||||
@@ -37,6 +38,7 @@
|
||||
// ------------------------------------------- -----------------------------------------------
|
||||
|
||||
symbols_layer {
|
||||
display-name = "Symbols Layer";
|
||||
bindings = <
|
||||
&kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 /**/ &kp N7 &kp N8 &kp N9 &kp N0 &kp PSCRN &none &kp DEL
|
||||
&kp GRAVE &none &kp LEFT &kp UP &kp RIGHT &kp C_VOL_UP /**/ &kp LBKT &kp RBKT &kp MINUS &kp EQUAL &kp SEMI &kp BACKSLASH
|
||||
@@ -53,6 +55,7 @@
|
||||
// ------------------------------------------- -----------------------------------------------
|
||||
|
||||
fn_layer {
|
||||
display-name = "Fn Layer";
|
||||
bindings = <
|
||||
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 /**/ &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &none &kp F12
|
||||
&kp CAPS &none &kp HOME &kp PG_UP &kp END &none /**/ &none &none &none &none &none &none
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,46 @@
|
||||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
@@ -1,47 +0,0 @@
|
||||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
@@ -3,4 +3,3 @@
|
||||
|
||||
# Enables RGB functionality (Uncomment lines below to enable.)
|
||||
# CONFIG_ZMK_RGB_UNDERGLOW=y
|
||||
# CONFIG_WS2812_STRIP=y
|
||||
@@ -9,7 +9,7 @@
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
@@ -32,7 +32,7 @@ RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,7) RC(4,8) RC(4,9
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
row-gpios
|
||||
|
||||
@@ -25,6 +25,7 @@ As such, those are in use within the default layer at this time.*/
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------
|
||||
// | GRAVE | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | DEL |
|
||||
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | BSPC |
|
||||
@@ -40,6 +41,7 @@ As such, those are in use within the default layer at this time.*/
|
||||
>;
|
||||
};
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------
|
||||
// | | | | | | | | | | | | | |
|
||||
// | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
|
||||
@@ -55,6 +57,7 @@ As such, those are in use within the default layer at this time.*/
|
||||
>;
|
||||
};
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------
|
||||
// | | | | | | | | | | | | | |
|
||||
// | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | DEL |
|
||||
@@ -70,6 +73,7 @@ As such, those are in use within the default layer at this time.*/
|
||||
>;
|
||||
};
|
||||
adjust_layer {
|
||||
display-name = "Adjust Layer";
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------
|
||||
// | ` | ! | @ | # | $ | % | | ^ | & | * | ( | ) | EP TOG |
|
||||
// | BT CLR | BT SEL0 | BT SEL1 | BT SEL2 | BGT SEL3 | BT SEL4 | | RGB EFF+ | RGB HUE+ | RGB SAT+ | RGB SPD+ | RGB BRI+ | RGB TOG |
|
||||
@@ -85,4 +89,4 @@ As such, those are in use within the default layer at this time.*/
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
41
app/boards/shields/hummingbird/hummingbird-layouts.dtsi
Normal file
41
app/boards/shields/hummingbird/hummingbird-layouts.dtsi
Normal file
@@ -0,0 +1,41 @@
|
||||
#include <physical_layouts.dtsi>
|
||||
|
||||
/ {
|
||||
physical_layout0: physical_layout_0 {
|
||||
compatible = "zmk,physical-layout";
|
||||
display-name = "Default";
|
||||
|
||||
keys // w h x y rot rx ry
|
||||
= <&key_physical_attrs 100 100 0 75 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 25 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 25 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 75 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 75 0 0 0>
|
||||
, <&key_physical_attrs 100 100 700 25 0 0 0>
|
||||
, <&key_physical_attrs 100 100 800 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 25 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 75 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 175 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 125 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 125 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 175 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 175 0 0 0>
|
||||
, <&key_physical_attrs 100 100 700 125 0 0 0>
|
||||
, <&key_physical_attrs 100 100 800 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 125 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 175 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 225 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 225 0 0 0>
|
||||
, <&key_physical_attrs 100 100 700 225 0 0 0>
|
||||
, <&key_physical_attrs 100 100 800 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 225 0 0 0>
|
||||
, <&key_physical_attrs 100 100 325 350 0 0 0>
|
||||
, <&key_physical_attrs 100 100 425 375 0 0 0>
|
||||
, <&key_physical_attrs 100 100 575 375 0 0 0>
|
||||
, <&key_physical_attrs 100 100 675 350 0 0 0>
|
||||
;
|
||||
};
|
||||
};
|
||||
@@ -13,15 +13,14 @@
|
||||
#define SYM_L 3
|
||||
|
||||
// Using layer taps on thumbs, having quick tap as well helps w/ repeating space/backspace
|
||||
< { quick_tap_ms = <200>; };
|
||||
< { quick-tap-ms = <200>; };
|
||||
|
||||
/ {
|
||||
behaviors {
|
||||
hm: homerow_mods {
|
||||
compatible = "zmk,behavior-hold-tap";
|
||||
label = "homerow mods";
|
||||
#binding-cells = <2>;
|
||||
tapping_term_ms = <225>;
|
||||
tapping-term-ms = <225>;
|
||||
flavor = "tap-preferred";
|
||||
bindings = <&kp>, <&kp>;
|
||||
};
|
||||
@@ -57,26 +56,27 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp Q &kp W &kp E &kp R &kp T &kp H &kp U &kp I &kp O &kp P
|
||||
&hm LGUI A &hm LALT S &hm LCTRL D &hm LSHFT F &kp G &kp N &hm RSHFT J &hm RCTRL K &hm LALT L &hm RGUI QUOT
|
||||
&hm LGUI A &hm LALT S &hm LCTRL D &hm LSHFT F &kp G &kp N &hm RSHFT J &hm RCTRL K &hm LALT L &hm RGUI SQT
|
||||
&kp X &kp C &kp V &kp M &kp COMMA &kp DOT
|
||||
< NAV_L TAB &kp RET < NUM_L SPACE < SYM_L BKSP
|
||||
< NAV_L TAB &kp RET < NUM_L SPACE < SYM_L BSPC
|
||||
>;
|
||||
};
|
||||
|
||||
nav_layer {
|
||||
label = "Nav";
|
||||
display-name = "Nav";
|
||||
bindings = <
|
||||
&trans &trans &trans &trans &trans &trans &kp HOME &kp UARW &kp PG_UP &trans
|
||||
&trans &trans &trans &trans &trans &trans &kp LARW &kp DARW &kp RARW &trans
|
||||
&trans &trans &trans &trans &trans &trans &kp HOME &kp UP &kp PG_UP &trans
|
||||
&trans &trans &trans &trans &trans &trans &kp LEFT &kp DOWN &kp RIGHT &trans
|
||||
&trans &trans &trans &kp END &trans &kp PG_DN
|
||||
&trans &trans &kp ESC &kp DEL
|
||||
>;
|
||||
};
|
||||
|
||||
num_layer {
|
||||
label = "Num";
|
||||
display-name = "Num";
|
||||
bindings = <
|
||||
&kp LBKT &kp N7 &kp N8 &kp N9 &kp RBKT &trans &trans &trans &trans &trans
|
||||
&kp SEMI &kp N4 &kp N5 &kp N6 &kp EQUAL &trans &trans &trans &trans &trans
|
||||
@@ -86,7 +86,7 @@
|
||||
};
|
||||
|
||||
sym_layer {
|
||||
label = "Sym";
|
||||
display-name = "Sym";
|
||||
bindings = <
|
||||
&kp LBRC &kp LS(N7) &kp LS(N8) &kp LS(N9) &kp RBRC &trans &trans &trans &trans &trans
|
||||
&kp COLON &kp LS(N4) &kp LS(N5) &kp LS(N6) &kp PLUS &trans &trans &trans &trans &trans
|
||||
|
||||
@@ -5,16 +5,19 @@
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
#include "hummingbird-layouts.dtsi"
|
||||
|
||||
&physical_layout0 {
|
||||
transform = <&matrix_transform0>;
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
/delete-property/ zephyr,console;
|
||||
/delete-property/ zephyr,shell-uart;
|
||||
zmk,physical-layout = &physical_layout0;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
matrix_transform0: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <7>;
|
||||
rows = <6>;
|
||||
@@ -29,7 +32,8 @@
|
||||
|
||||
kscan0: kscan_0 {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "row2col";
|
||||
|
||||
col-gpios
|
||||
@@ -49,8 +53,4 @@
|
||||
, <&xiao_d 5 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&xiao_spi { status = "disabled"; };
|
||||
&xiao_serial { status = "disabled"; };
|
||||
|
||||
@@ -6,3 +6,4 @@ url: https://github.com/PJE66/hummingbird
|
||||
requires: [seeed_xiao]
|
||||
features:
|
||||
- keys
|
||||
- studio
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
@@ -32,7 +32,7 @@ RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(4,2) RC(4,9) RC(3,6) RC(3,7)
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
row-gpios
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
|
||||
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | - |
|
||||
@@ -29,6 +30,7 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// | BTCLR | BT1 | BT2 | BT3 | BT4 | BT5 | | | | | | | |
|
||||
// | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
@@ -36,15 +38,16 @@
|
||||
// | | | | | | | | | | | _ | + | { | } | "|" |
|
||||
// | | | | | | | |
|
||||
bindings = <
|
||||
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans &trans
|
||||
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12
|
||||
&kp GRAVE &kp EXCL &kp AT &kp HASH &kp DOLLAR &kp PRCNT &kp CARET &kp AMPS &kp KP_MULTIPLY &kp LPAR &kp RPAR &kp TILDE
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &kp MINUS &kp KP_PLUS &kp LBRC &kp RBRC &kp PIPE
|
||||
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans &trans
|
||||
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12
|
||||
&kp GRAVE &kp EXCL &kp AT &kp HASH &kp DOLLAR &kp PRCNT &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &kp TILDE
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &kp MINUS &kp PLUS &kp LBRC &kp RBRC &kp PIPE
|
||||
&trans &trans &trans &trans &trans &trans
|
||||
>;
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// | | | | | | | | | | | | | |
|
||||
// | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||
|
||||
@@ -6,10 +6,26 @@
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
#include <layouts/kgoh/jian/full.dtsi>
|
||||
#include <layouts/kgoh/jian/6column.dtsi>
|
||||
#include <layouts/kgoh/jian/5column.dtsi>
|
||||
|
||||
&kgoh_jian_full_layout {
|
||||
transform = <&default_transform>;
|
||||
};
|
||||
|
||||
&kgoh_jian_6col_layout {
|
||||
transform = <&crkbd_transform>;
|
||||
};
|
||||
|
||||
&kgoh_jian_5col_layout {
|
||||
transform = <&five_column_transform>;
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,physical-layout = &kgoh_jian_full_layout;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
@@ -56,13 +72,13 @@
|
||||
RC(0,1) RC(1,2) RC(0,2) RC(0,3) RC(0,4) RC(0,7) RC(0,8) RC(0,9) RC(1,9) RC(0,10)
|
||||
RC(1,1) RC(2,2) RC(1,3) RC(1,4) RC(0,5) RC(0,6) RC(1,7) RC(1,8) RC(2,9) RC(1,10)
|
||||
RC(3,2) RC(3,3) RC(2,3) RC(2,4) RC(1,5) RC(1,6) RC(2,7) RC(2,8) RC(3,8) RC(3,9)
|
||||
RC(3,4) RC(2,5) RC(3,5) RC(3,6) RC(2,6) RC(3,7)
|
||||
RC(3,4) RC(2,5) RC(3,5) RC(3,6) RC(2,6) RC(3,7)
|
||||
>;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
row-gpios
|
||||
|
||||
@@ -7,70 +7,83 @@
|
||||
#include <behaviors.dtsi>
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <dt-bindings/zmk/bt.h>
|
||||
#include <dt-bindings/zmk/outputs.h>
|
||||
|
||||
#define DEF 0
|
||||
#define LWR 1
|
||||
#define RSE 2
|
||||
#define ADJ 3
|
||||
|
||||
< { quick_tap_ms = <200>; };
|
||||
&mt { quick_tap_ms = <200>; };
|
||||
< { quick-tap-ms = <200>; };
|
||||
&mt { quick-tap-ms = <200>; };
|
||||
|
||||
/ {
|
||||
conditional_layers {
|
||||
compatible = "zmk,conditional-layers";
|
||||
tri_layer {
|
||||
if-layers = <LWR RSE>;
|
||||
then-layer = <ADJ>;
|
||||
};
|
||||
};
|
||||
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "MAIN";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | GUI | ~ | Q | W | E | R | T | | Y | U | I | O | P | [ | GUI/] |
|
||||
// | CTRL | A | S | D | F | G | | H | J | K | L | ; |CTRL/'|
|
||||
// | LALT | Z | X | C | V | B | | N | M | , | . | / | RALT |
|
||||
// | RSE | SPC | LWR | | LWR | BKSP | RSE |
|
||||
// | LALT | Z | X | C | V | B | | N | M | , | . | / |RALT/\|
|
||||
// | RSE | SPC | LWR | | LWR | BSPC | RSE |
|
||||
bindings = <
|
||||
&kp LWIN &kp GRAVE &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp LBKT &mt RWIN RBKT
|
||||
&kp LCTRL &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &mt RCTRL SQT
|
||||
&kp LALT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &mt RALT BSLH
|
||||
< RSE TAB &mt LSHFT SPACE < LWR RET < LWR ESC &mt RSHFT BSPC < RSE DEL
|
||||
< RSE TAB &mt LSHFT SPACE < LWR RET < LWR ESC &mt RSHFT BSPC < RSE DEL
|
||||
>;
|
||||
};
|
||||
lower_layer {
|
||||
display-name = "SYM";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | | _ | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
// | + | ! | @ | # | $ | % | | ^ | & | * | ( | ) | - |
|
||||
// | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||
// | GUI | | SPC | | ENT | | ALT |
|
||||
// | ADJ | | | | | | ADJ |
|
||||
bindings = <
|
||||
&trans &kp UNDER &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &mt RGUI F12
|
||||
&mt LCTRL PLUS &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp STAR &kp LPAR &kp RPAR &mt RCTRL MINUS
|
||||
&mt LALT EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &trans
|
||||
< ADJ TAB &trans &trans &trans &trans < ADJ DEL
|
||||
&trans &trans &trans &trans &trans &trans
|
||||
>;
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "NUM";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | | NMLK | / | 7 | 8 | 9 | - | | VOLU| HOME| PRSC| PGUP| SCLK| CLCK| |
|
||||
// | CTRL | * | 4 | 5 | 6 | + | | MUT | LEFT| UP | RGHT| INS | APP |
|
||||
// |CTRL/=| * | 4 | 5 | 6 | + | | MUT | LEFT| UP | RGHT| INS | APP |
|
||||
// | | 0 | 1 | 2 | 3 | . | | VOLD| END | DOWN| PGDN| PAUS| |
|
||||
// | | | ADJ | | ADJ | | |
|
||||
bindings = <
|
||||
&trans &kp KP_NUM &kp KP_SLASH &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_MINUS &kp C_VOL_UP &kp HOME &kp PSCRN &kp PG_UP &kp SLCK &kp CAPS &trans
|
||||
&mt LCTRL EQUAL &kp KP_MULTIPLY &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &kp C_MUTE &kp LEFT &kp UP &kp RIGHT &kp INS &mt RCTRL K_APP
|
||||
&trans &kp KP_N0 &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_DOT &kp C_VOL_DN &kp END &kp DOWN &kp PG_DN &kp PAUSE_BREAK &trans
|
||||
&trans &trans < ADJ RET < ADJ ESC &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans
|
||||
>;
|
||||
};
|
||||
adjust_layer {
|
||||
display-name = "ADJ";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | RST | BLDR | | | | | | | | | | | | BLDR | RST |
|
||||
// | RST | BLDR | STU | | | | | | | | | | STU | BLDR | RST |
|
||||
// | BTCLR| BT0 | BT1 | BT2 | BT3 | BT4 | | BT4 | BT3 | BT2 | BT1 | BT0 | BTCLR|
|
||||
// | | | | | | | | | | | | | |
|
||||
// | OUT | | | | | | | | | | | | OUT |
|
||||
// | | | | | | | |
|
||||
bindings = <
|
||||
&sys_reset &bootloader &none &none &none &none &none &none &none &none &none &none &bootloader &sys_reset
|
||||
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &bt BT_SEL 4 &bt BT_SEL 3 &bt BT_SEL 2 &bt BT_SEL 1 &bt BT_SEL 0 &bt BT_CLR
|
||||
&none &none &none &none &none &none &none &none &none &none &none &none
|
||||
&trans &none &trans &trans &none &trans
|
||||
&sys_reset &bootloader &studio_unlock &none &none &none &none &none &none &none &none &studio_unlock &bootloader &sys_reset
|
||||
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &bt BT_SEL 4 &bt BT_SEL 3 &bt BT_SEL 2 &bt BT_SEL 1 &bt BT_SEL 0 &bt BT_CLR
|
||||
&out OUT_TOG &none &none &none &none &none &none &none &none &none &none &out OUT_TOG
|
||||
&trans &none &trans &trans &none &trans
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -6,6 +6,7 @@ url: https://github.com/KGOH/Jian-Info
|
||||
requires: [pro_micro]
|
||||
features:
|
||||
- keys
|
||||
- studio
|
||||
siblings:
|
||||
- jian_left
|
||||
- jian_right
|
||||
|
||||
103
app/boards/shields/jiran/jiran-layouts.dtsi
Normal file
103
app/boards/shields/jiran/jiran-layouts.dtsi
Normal file
@@ -0,0 +1,103 @@
|
||||
#include <layouts/kgoh/jian/6column.dtsi>
|
||||
#include <layouts/kgoh/jian/full.dtsi>
|
||||
#include <physical_layouts.dtsi>
|
||||
|
||||
&layouts_kgoh_jian_position_map {
|
||||
ladniy_jiran_full_posmap: full_jiran {
|
||||
physical-layout = <&ladniy_jiran_full_layout>;
|
||||
positions
|
||||
= < 0 1 2 3 4 5 6 7 8 9 10 11 >
|
||||
, <12 13 14 15 16 17 18 19 20 21 22 23 24 25>
|
||||
, < 26 27 28 29 30 31 32 33 34 35 36 37 >
|
||||
, < 38 39 40 41 42 43 44 45 46 47 48 49 >
|
||||
, < 50 51 52 53 54 55 >;
|
||||
};
|
||||
};
|
||||
|
||||
&kgoh_jian_full_posmap {
|
||||
positions
|
||||
= < 44 45 46 47 48 49 50 51 52 53 54 55 >
|
||||
, < 0 1 2 3 4 5 6 7 8 9 10 11 12 13>
|
||||
, < 14 15 16 17 18 19 20 21 22 23 24 25 >
|
||||
, < 26 27 28 29 30 31 32 33 34 35 36 37 >
|
||||
, < 38 39 40 41 42 43 >;
|
||||
};
|
||||
|
||||
&kgoh_jian_6col_posmap {
|
||||
positions
|
||||
= < 42 43 44 45 46 47 48 49 50 51 52 53 >
|
||||
, <54 0 1 2 3 4 5 6 7 8 9 10 11 55>
|
||||
, < 12 13 14 15 16 17 18 19 20 21 22 23 >
|
||||
, < 24 25 26 27 28 29 30 31 32 33 34 35 >
|
||||
, < 36 37 38 39 40 41 >;
|
||||
};
|
||||
|
||||
&kgoh_jian_full_layout {
|
||||
display-name = "Jian (with pinky)";
|
||||
};
|
||||
|
||||
/ {
|
||||
ladniy_jiran_full_layout: ladniy_jiran_full_layout {
|
||||
compatible = "zmk,physical-layout";
|
||||
display-name = "Full (with pinky/numbers)";
|
||||
|
||||
keys // w h x y rot rx ry
|
||||
= <&key_physical_attrs 100 100 100 75 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 62 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 25 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 25 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 37 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 37 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 25 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1300 25 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1400 62 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1500 75 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 250 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 175 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 162 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 125 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 125 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 137 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 137 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 125 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1300 125 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1400 162 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1500 175 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1600 250 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 275 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 262 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 225 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 225 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 237 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 237 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 225 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1300 225 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1400 262 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1500 275 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 375 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 362 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 325 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 300 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 325 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 337 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 337 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 325 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 300 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1300 325 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1400 362 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1500 375 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 425 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 437 0 0 0>
|
||||
, <&key_physical_attrs 100 100 700 450 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 450 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 437 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 425 0 0 0>
|
||||
;
|
||||
};
|
||||
};
|
||||
@@ -6,13 +6,27 @@
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
#include "jiran-layouts.dtsi"
|
||||
|
||||
&ladniy_jiran_full_layout {
|
||||
transform = <&jiran_transform>;
|
||||
};
|
||||
|
||||
&kgoh_jian_full_layout {
|
||||
transform = <&jian_transform>;
|
||||
};
|
||||
|
||||
&kgoh_jian_6col_layout {
|
||||
transform = <&crkbd_transform>;
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,physical-layout = &ladniy_jiran_full_layout;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
jiran_transform: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <12>;
|
||||
rows = <5>;
|
||||
@@ -67,7 +81,7 @@
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
row-gpios
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS
|
||||
&kp LGUI &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp LBKT &mt RGUI RBKT
|
||||
@@ -23,13 +24,14 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
bindings = <
|
||||
&kp GRAVE &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp EQUAL
|
||||
&kp F11 &kp TAB &bt BT_CLR &kp HOME &sys_reset &kp PG_UP &kp C_VOL_UP &kp C_VOL_UP &kp PG_UP &sys_reset &kp HOME &kp INS &kp DEL &kp F12
|
||||
&kp F11 &kp TAB &bt BT_CLR &kp HOME &sys_reset &kp PG_UP &kp C_VOL_UP &kp C_VOL_UP &kp PG_UP &studio_unlock &kp HOME &kp INS &kp DEL &kp F12
|
||||
&kp LSHIFT &bt BT_NXT &kp LEFT &kp UP &kp RIGHT &kp C_MUTE &kp C_MUTE &kp LEFT &kp UP &kp RIGHT &kp PSCRN &mt RSHIFT SLCK
|
||||
&kp LCTRL &bt BT_PRV &kp END &kp DOWN &kp PG_DN &kp C_VOL_DN &kp C_VOL_DN &kp PG_DN &kp DOWN &kp END &kp PAUSE_BREAK &mt RCTRL KP_NUM
|
||||
&trans &kp SPACE &kp LALT &mt RALT RET &kp BSPC &trans
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -6,6 +6,7 @@ url: https://github.com/Ladniy/jiran
|
||||
requires: [pro_micro]
|
||||
features:
|
||||
- keys
|
||||
- studio
|
||||
siblings:
|
||||
- jiran_left
|
||||
- jiran_right
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
#include "jiran.dtsi"
|
||||
|
||||
&default_transform {
|
||||
&jiran_transform {
|
||||
col-offset = <6>;
|
||||
};
|
||||
|
||||
|
||||
@@ -22,9 +22,6 @@ config I2C
|
||||
config SSD1306
|
||||
default y
|
||||
|
||||
config SSD1306_REVERSE_MODE
|
||||
default y
|
||||
|
||||
endif # ZMK_DISPLAY
|
||||
|
||||
if LVGL
|
||||
@@ -32,7 +29,7 @@ if LVGL
|
||||
config LV_Z_VDB_SIZE
|
||||
default 64
|
||||
|
||||
config LV_Z_DPI
|
||||
config LV_DPI_DEF
|
||||
default 148
|
||||
|
||||
config LV_Z_BITS_PER_PIXEL
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,46 @@
|
||||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
@@ -1,47 +0,0 @@
|
||||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
84
app/boards/shields/jorne/jorne-layouts.dtsi
Normal file
84
app/boards/shields/jorne/jorne-layouts.dtsi
Normal file
@@ -0,0 +1,84 @@
|
||||
#include <layouts/foostan/corne/6column.dtsi>
|
||||
#include <layouts/foostan/corne/5column.dtsi>
|
||||
#include <physical_layouts.dtsi>
|
||||
|
||||
&layouts_foostan_corne_position_map {
|
||||
joric_jorne_full_posmap: full {
|
||||
physical-layout = <&joric_jorne_full_layout>;
|
||||
positions
|
||||
= < 0 1 2 3 4 5 6 7 8 9 10 11 12 13>
|
||||
, < 14 15 16 17 18 19 20 21 22 23 24 25 >
|
||||
, < 26 27 28 29 30 31 32 33 34 35 36 37 >
|
||||
, < 38 39 40 41 42 43 >;
|
||||
};
|
||||
};
|
||||
|
||||
&foostan_corne_6col_posmap {
|
||||
positions
|
||||
= <42 0 1 2 3 4 5 6 7 8 9 10 11 43>
|
||||
, < 12 13 14 15 16 17 18 19 20 21 22 23 >
|
||||
, < 24 25 26 27 28 29 30 31 32 33 34 35 >
|
||||
, < 36 37 38 39 40 41 >;
|
||||
};
|
||||
|
||||
&foostan_corne_5col_posmap {
|
||||
positions
|
||||
= <36 37 0 1 2 3 4 5 6 7 8 9 38 39>
|
||||
, < 40 10 11 12 13 14 15 16 17 18 19 41 >
|
||||
, < 42 20 21 22 23 24 25 26 27 28 29 43 >
|
||||
, < 30 31 32 33 34 35 >;
|
||||
};
|
||||
|
||||
/ {
|
||||
joric_jorne_full_layout: joric_jorne_full_layout {
|
||||
compatible = "zmk,physical-layout";
|
||||
display-name = "Full (with pinky)";
|
||||
|
||||
keys // w h x y rot rx ry
|
||||
= <&key_physical_attrs 100 100 0 112 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 37 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 37 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 12 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 12 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 24 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 24 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 12 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 12 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1300 37 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1400 37 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1500 112 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 137 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 137 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 112 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 112 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 124 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 124 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 112 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 112 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1300 137 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1400 137 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 237 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 237 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 212 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 212 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 224 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 224 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 212 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 212 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1300 237 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1400 237 0 0 0>
|
||||
, <&key_physical_attrs 100 100 450 312 0 0 0>
|
||||
, <&key_physical_attrs 100 100 550 312 1200 550 412>
|
||||
, <&key_physical_attrs 100 150 648 283 2400 648 433>
|
||||
, <&key_physical_attrs 100 150 852 283 (-2400) 952 433>
|
||||
, <&key_physical_attrs 100 100 950 312 (-1200) 1050 412>
|
||||
, <&key_physical_attrs 100 100 1050 312 0 0 0>
|
||||
;
|
||||
};
|
||||
};
|
||||
@@ -1,6 +1,5 @@
|
||||
# Uncomment the following lines to enable the Jorne RGB Underglow
|
||||
# CONFIG_ZMK_RGB_UNDERGLOW=y
|
||||
# CONFIG_WS2812_STRIP=y
|
||||
|
||||
# Uncomment the following line to enable the Jorne OLED Display
|
||||
# CONFIG_ZMK_DISPLAY=y
|
||||
|
||||
@@ -6,14 +6,28 @@
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
#include "jorne-layouts.dtsi"
|
||||
|
||||
&joric_jorne_full_layout {
|
||||
transform = <&jorne_transform>;
|
||||
};
|
||||
|
||||
&foostan_corne_6col_layout {
|
||||
transform = <&crkbd_transform>;
|
||||
};
|
||||
|
||||
&foostan_corne_5col_layout {
|
||||
transform = <&five_column_transform>;
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zephyr,display = &oled;
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zmk,physical-layout = &joric_jorne_full_layout;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
jorne_transform: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <12>;
|
||||
rows = <4>;
|
||||
@@ -57,13 +71,13 @@
|
||||
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(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(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(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8)
|
||||
RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8)
|
||||
>;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
row-gpios
|
||||
@@ -84,7 +98,6 @@ 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
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
@@ -94,6 +107,7 @@ 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
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
inversion-on;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -7,67 +7,83 @@
|
||||
#include <behaviors.dtsi>
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <dt-bindings/zmk/bt.h>
|
||||
#include <dt-bindings/zmk/outputs.h>
|
||||
|
||||
#define DEF 0
|
||||
#define LWR 1
|
||||
#define RSE 2
|
||||
#define ADJ 3
|
||||
|
||||
< { quick-tap-ms = <200>; };
|
||||
&mt { quick-tap-ms = <200>; };
|
||||
|
||||
/ {
|
||||
conditional_layers {
|
||||
compatible = "zmk,conditional-layers";
|
||||
tri_layer {
|
||||
if-layers = <LWR RSE>;
|
||||
then-layer = <ADJ>;
|
||||
};
|
||||
};
|
||||
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "MAIN";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | GUI | ~ | Q | W | E | R | T | | Y | U | I | O | P | [ | GUI/] |
|
||||
// | CTRL | A | S | D | F | G | | H | J | K | L | ; |CTRL/'|
|
||||
// | LALT | Z | X | C | V | B | | N | M | , | . | / | RALT |
|
||||
// | RSE | SPC | LWR | | LWR | BKSP | RSE |
|
||||
// | LALT | Z | X | C | V | B | | N | M | , | . | / |RALT/\|
|
||||
// | RSE | SPC | LWR | | LWR | BSPC | RSE |
|
||||
bindings = <
|
||||
&kp LWIN &kp GRAVE &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp LBKT &mt RWIN RBKT
|
||||
&kp LCTRL &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &mt RCTRL SQT
|
||||
&kp LALT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp BSLH
|
||||
< RSE TAB &mt LSHFT SPACE < LWR RET < LWR ESC &mt RSHFT BSPC < RSE DEL
|
||||
&kp LALT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &mt RALT BSLH
|
||||
< RSE TAB &mt LSHFT SPACE < LWR RET < LWR ESC &mt RSHFT BSPC < RSE DEL
|
||||
>;
|
||||
};
|
||||
lower_layer {
|
||||
display-name = "SYM";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | | _ | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
// | + | ! | @ | # | $ | % | | ^ | & | * | ( | ) | - |
|
||||
// | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||
// | GUI | | SPC | | ENT | | ALT |
|
||||
// | ADJ | | | | | | ADJ |
|
||||
bindings = <
|
||||
&trans &kp UNDER &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &mt RGUI F12
|
||||
&mt LCTRL PLUS &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp STAR &kp LPAR &kp RPAR &mt RCTRL MINUS
|
||||
&mt LALT EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &trans
|
||||
< ADJ TAB &trans &trans &trans &trans < ADJ DEL
|
||||
&trans &trans &trans &trans &trans &trans
|
||||
>;
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "NUM";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | | NMLK | / | 7 | 8 | 9 | - | | VOLU| HOME| PRSC| PGUP| SCLK| CLCK| |
|
||||
// | CTRL | * | 4 | 5 | 6 | + | | MUT | LEFT| UP | RGHT| INS | APP |
|
||||
// |CTRL/=| * | 4 | 5 | 6 | + | | MUT | LEFT| UP | RGHT| INS | APP |
|
||||
// | | 0 | 1 | 2 | 3 | . | | VOLD| END | DOWN| PGDN| PAUS| |
|
||||
// | | | ADJ | | ADJ | | |
|
||||
bindings = <
|
||||
&trans &kp KP_NUM &kp KP_SLASH &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_MINUS &kp C_VOL_UP &kp HOME &kp PSCRN &kp PG_UP &kp SLCK &kp CAPS &trans
|
||||
&mt LCTRL EQUAL &kp KP_MULTIPLY &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &kp C_MUTE &kp LEFT &kp UP &kp RIGHT &kp INS &mt RCTRL K_APP
|
||||
&trans &kp KP_N0 &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_DOT &kp C_VOL_DN &kp END &kp DOWN &kp PG_DN &kp PAUSE_BREAK &trans
|
||||
&trans &trans < ADJ RET < ADJ ESC &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans
|
||||
>;
|
||||
};
|
||||
adjust_layer {
|
||||
display-name = "ADJ";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | RST | BLDR | | | | | | | | | | | | BLDR | RST |
|
||||
// | RST | BLDR | STU | | | | | | | | | | STU | BLDR | RST |
|
||||
// | BTCLR| BT0 | BT1 | BT2 | BT3 | BT4 | | BT4 | BT3 | BT2 | BT1 | BT0 | BTCLR|
|
||||
// | | | | | | | | | | | | | |
|
||||
// | OUT | | | | | | | | | | | | OUT |
|
||||
// | | | | | | | |
|
||||
bindings = <
|
||||
&sys_reset &bootloader &none &none &none &none &none &none &none &none &none &none &bootloader &sys_reset
|
||||
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &bt BT_SEL 4 &bt BT_SEL 3 &bt BT_SEL 2 &bt BT_SEL 1 &bt BT_SEL 0 &bt BT_CLR
|
||||
&none &none &none &none &none &none &none &none &none &none &none &none
|
||||
&trans &none &trans &trans &none &trans
|
||||
&sys_reset &bootloader &studio_unlock &none &none &none &none &none &none &none &none &studio_unlock &bootloader &sys_reset
|
||||
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &bt BT_SEL 4 &bt BT_SEL 3 &bt BT_SEL 2 &bt BT_SEL 1 &bt BT_SEL 0 &bt BT_CLR
|
||||
&out OUT_TOG &none &none &none &none &none &none &none &none &none &none &out OUT_TOG
|
||||
&trans &none &trans &trans &none &trans
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -9,6 +9,7 @@ features:
|
||||
- keys
|
||||
- display
|
||||
- underglow
|
||||
- studio
|
||||
siblings:
|
||||
- jorne_left
|
||||
- jorne_right
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
#include "jorne.dtsi"
|
||||
|
||||
&default_transform {
|
||||
&jorne_transform {
|
||||
col-offset = <6>;
|
||||
};
|
||||
|
||||
|
||||
@@ -14,9 +14,6 @@ config I2C
|
||||
config SSD1306
|
||||
default y
|
||||
|
||||
config SSD1306_REVERSE_MODE
|
||||
default y
|
||||
|
||||
endif # ZMK_DISPLAY
|
||||
|
||||
if LVGL
|
||||
@@ -24,7 +21,7 @@ if LVGL
|
||||
config LV_Z_VDB_SIZE
|
||||
default 64
|
||||
|
||||
config LV_Z_DPI
|
||||
config LV_DPI_DEF
|
||||
default 148
|
||||
|
||||
config LV_Z_BITS_PER_PIXEL
|
||||
|
||||
@@ -6,4 +6,4 @@ CONFIG_EC11=y
|
||||
CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y
|
||||
|
||||
# Uncomment the following line to enable the Knob Goblin OLED Display
|
||||
CONFIG_ZMK_DISPLAY=y
|
||||
# CONFIG_ZMK_DISPLAY=y
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
|
||||
bindings = <
|
||||
&trans &kp EQUAL &kp KP_SLASH &kp KP_MULTIPLY &kp KP_MINUS
|
||||
@@ -26,6 +27,7 @@
|
||||
};
|
||||
|
||||
num_layer {
|
||||
display-name = "Num Layer";
|
||||
bindings = <
|
||||
&trans &bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2
|
||||
&trans &kp HOME &trans &kp PAGE_UP &trans
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
wakeup-source;
|
||||
|
||||
diode-direction = "col2row";
|
||||
|
||||
row-gpios
|
||||
@@ -36,7 +37,6 @@
|
||||
|
||||
top_encoder: encoder_top {
|
||||
compatible = "alps,ec11";
|
||||
label = "TOP_ENCODER";
|
||||
a-gpios = <&pro_micro 19 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
||||
b-gpios = <&pro_micro 18 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
||||
steps = <80>;
|
||||
@@ -45,7 +45,6 @@
|
||||
|
||||
bottom_encoder: encoder_bottom {
|
||||
compatible = "alps,ec11";
|
||||
label = "BOTTOM_ENCODER";
|
||||
a-gpios = <&pro_micro 20 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
||||
b-gpios = <&pro_micro 21 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
||||
steps = <80>;
|
||||
@@ -66,7 +65,6 @@
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
@@ -76,6 +74,7 @@
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
inversion-on;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -22,9 +22,6 @@ config I2C
|
||||
config SSD1306
|
||||
default y
|
||||
|
||||
config SSD1306_REVERSE_MODE
|
||||
default y
|
||||
|
||||
endif # ZMK_DISPLAY
|
||||
|
||||
if LVGL
|
||||
@@ -32,7 +29,7 @@ if LVGL
|
||||
config LV_Z_VDB_SIZE
|
||||
default 64
|
||||
|
||||
config LV_Z_DPI
|
||||
config LV_DPI_DEF
|
||||
default 148
|
||||
|
||||
config LV_Z_BITS_PER_PIXEL
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,46 @@
|
||||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
@@ -1,47 +0,0 @@
|
||||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
@@ -25,7 +25,6 @@
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
@@ -25,7 +25,6 @@
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
@@ -25,7 +25,6 @@
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user