From 07aafaaafdde6392fa1cfc53916e943a444a2b6b Mon Sep 17 00:00:00 2001 From: JW2586 Date: Wed, 16 Feb 2022 18:34:26 +0000 Subject: [PATCH 01/13] Added severedduck36 shield and default keymap --- .../shields/severedduck36/Kconfig.defconfig | 53 +++++++++ .../shields/severedduck36/Kconfig.shield | 8 ++ .../shields/severedduck36/severedduck36.dtsi | 86 ++++++++++++++ .../severedduck36/severedduck36.keymap | 112 ++++++++++++++++++ .../severedduck36/severedduck36.zmk.yml | 14 +++ .../severedduck36/severedduck36_left.conf | 0 .../severedduck36/severedduck36_left.overlay | 21 ++++ .../severedduck36/severedduck36_right.conf | 0 .../severedduck36/severedduck36_right.overlay | 26 ++++ 9 files changed, 320 insertions(+) create mode 100644 app/boards/shields/severedduck36/Kconfig.defconfig create mode 100644 app/boards/shields/severedduck36/Kconfig.shield create mode 100644 app/boards/shields/severedduck36/severedduck36.dtsi create mode 100644 app/boards/shields/severedduck36/severedduck36.keymap create mode 100644 app/boards/shields/severedduck36/severedduck36.zmk.yml create mode 100644 app/boards/shields/severedduck36/severedduck36_left.conf create mode 100644 app/boards/shields/severedduck36/severedduck36_left.overlay create mode 100644 app/boards/shields/severedduck36/severedduck36_right.conf create mode 100644 app/boards/shields/severedduck36/severedduck36_right.overlay diff --git a/app/boards/shields/severedduck36/Kconfig.defconfig b/app/boards/shields/severedduck36/Kconfig.defconfig new file mode 100644 index 00000000..57e751c5 --- /dev/null +++ b/app/boards/shields/severedduck36/Kconfig.defconfig @@ -0,0 +1,53 @@ + +if SHIELD_SEVEREDDUCK36_LEFT + +config ZMK_KEYBOARD_NAME + default "SeveredDuck36" + +config ZMK_SPLIT_BLE_ROLE_CENTRAL + default y + +endif + +if SHIELD_SEVEREDDUCK36_LEFT || SHIELD_SEVEREDDUCK36_RIGHT + +config ZMK_SPLIT + default y + +if ZMK_DISPLAY + +config I2C + default y + +config SSD1306 + default y + +config SSD1306_REVERSE_MODE + default y + +endif # ZMK_DISPLAY + +if LVGL + +config LVGL_HOR_RES_MAX + default 128 + +config LVGL_VER_RES_MAX + default 64 + +config LVGL_VDB_SIZE + default 64 + +config LVGL_DPI + default 148 + +config LVGL_BITS_PER_PIXEL + default 1 + +choice LVGL_COLOR_DEPTH + default LVGL_COLOR_DEPTH_1 +endchoice + +endif # LVGL + +endif diff --git a/app/boards/shields/severedduck36/Kconfig.shield b/app/boards/shields/severedduck36/Kconfig.shield new file mode 100644 index 00000000..63d31746 --- /dev/null +++ b/app/boards/shields/severedduck36/Kconfig.shield @@ -0,0 +1,8 @@ +# Copyright (c) 2020 Pete Johanson +# SPDX-License-Identifier: MIT + +config SHIELD_SEVEREDDUCK36_LEFT + def_bool $(shields_list_contains,severedduck36_left) + +config SHIELD_SEVEREDDUCK36_RIGHT + def_bool $(shields_list_contains,severedduck36_right) diff --git a/app/boards/shields/severedduck36/severedduck36.dtsi b/app/boards/shields/severedduck36/severedduck36.dtsi new file mode 100644 index 00000000..ec607c8f --- /dev/null +++ b/app/boards/shields/severedduck36/severedduck36.dtsi @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2020 Pete Johanson + * + * SPDX-License-Identifier: MIT + */ + +#include + +/ { + chosen { + zmk,kscan = &kscan0; + zmk,matrix_transform = &default_transform; + }; + + default_transform: keymap_transform_0 { + compatible = "zmk,matrix-transform"; + columns = <16>; + rows = <4>; +// | MX5 | MX4 | MX3 | MX2 | MX1 | | MX1 | MX2 | MX3 | MX4 | MX5 | +// | MX10 | MX9 | MX8 | MX7 | MX6 | | MX6 | MX7 | MX8 | MX9 | MX10 | +// | MX15 | MX14 | MX13 | MX12 | MX11 | | MX11 | MX12 | MX13 | MX14 | MX15 | +// | MX20 | MX19 | MX18 | MX17 | MX16 | | MX16 | MX17 | MX18 | MX19 | MX20 | + 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(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(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) +RC(3,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) + >; + }; + + kscan0: kscan { + compatible = "zmk,kscan-gpio-matrix"; + label = "KSCAN"; + + diode-direction = "col2row"; + row-gpios + = <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + ; + + }; + + left_encoder: encoder_left { + compatible = "alps,ec11"; + label = "LEFT_ENCODER"; + a-gpios = <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; + b-gpios = <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; + resolution = <4>; + status = "disabled"; + }; + + right_encoder: encoder_right { + compatible = "alps,ec11"; + label = "RIGHT_ENCODER"; + a-gpios = <&pro_micro 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; + b-gpios = <&pro_micro 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; + resolution = <4>; + status = "disabled"; + }; + + sensors { + compatible = "zmk,keymap-sensors"; + sensors = <&left_encoder &right_encoder>; + }; + + // TODO: RGB node(s) +}; + +&pro_micro_i2c { + status = "okay"; + + ssd1306@3c { + compatible = "solomon,ssd1306fb"; + reg = <0x3c>; + label = "DISPLAY"; + width = <128>; + height = <64>; + segment-offset = <0>; + page-offset = <0>; + display-offset = <0>; + multiplex-ratio = <63>; + prechargep = <0x22>; + }; +}; diff --git a/app/boards/shields/severedduck36/severedduck36.keymap b/app/boards/shields/severedduck36/severedduck36.keymap new file mode 100644 index 00000000..af83ed9c --- /dev/null +++ b/app/boards/shields/severedduck36/severedduck36.keymap @@ -0,0 +1,112 @@ +/* + * Copyright (c) 2020 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + */ + +#include +#include +#include + +/ { + keymap { + compatible = "zmk,keymap"; + + default_layer { +/* QWERTY + * + * ,----------------------------------. ,----------------------------------. + * | Q | W | E | R | T | | Y | U | I | O | P | + * |------+------+------+------+------| |------+------+------+------+------| + * | A | S | D | F | G | | H | J | K | L | ; | + * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| + * | Z | X | C | V | B | | 2 | | 3 | | N | M | , | . | / | + * `----------------------------------' `-----' `-----' `----------------------------------' + * ,-----. ,--------------------. ,--------------------. ,-----. + * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | + * `-----' `--------------------' `--------------------' `-----' + */ + bindings = < + &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P + &mt LGUI A &mt LALT S &mt LCTRL D &mt LSHFT F &kp G &kp H &mt LSHFT J &mt LCTRL K &mt LALT L &mt LGUI SEMI + &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + >; + + sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; + }; + + navnum_layer { +/* NAVNUM + * + * ,----------------------------------. ,----------------------------------. + * | | PgUp | UP | PgDn | | | / | 7 | 8 | 9 | - | + * |------+------+------+------+------| |------+------+------+------+------| + * | Home | Left | Down | Right| End | | = | 4 | 5 | 6 | + | + * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| + * | | | INS | | | | 2 | | 3 | | 0 | 1 | 2 | 3 | * | + * `----------------------------------' `-----' `-----' `----------------------------------' + * ,-----. ,--------------------. ,--------------------. ,-----. + * | 1 | | DEL | SPACE | MO(3)| | ESC | BS | ENTER | | 4 | + * `-----' `--------------------' `--------------------' `-----' + */ + bindings = < + &trans &kp PG_UP &kp UP &kp PG_DN &trans &kp FSLH &kp N7 &kp N8 &kp N9 &kp MINUS + &kp HOME &kp LEFT &kp DOWN &kp RIGHT &kp END &kp EQUAL &kp N4 &kp N5 &kp N6 &kp PLUS + &trans &trans &kp INS &trans &trans &kp N0 &kp N1 &kp N2 &kp N3 &kp ASTERISK + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + >; + + sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; + }; + + symbol_layer { +/* SYM + * + * ,----------------------------------. ,----------------------------------. + * | % | @ | [ | ] | \ | | ¦ | ¬ | ^ | | | + * |------+------+------+------+------| |------+------+------+------+------| + * | # | ! | ( | ) | | | | _ | ' | " | ~ | ` | + * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| + * | $ | £ | { | } | & | | 2 | | 3 | | | | | | | + * `----------------------------------' `-----' `-----' `----------------------------------' + * ,-----. ,--------------------. ,--------------------. ,-----. + * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | + * `-----' `--------------------' `--------------------' `-----' + */ + bindings = < + &kp PRCNT &kp LS(QUOT) &kp LBKT &kp RBKT &kp NON_US_BSLH &kp RA(GRAVE) &kp LS(GRAVE) &kp CARET &trans &trans + &kp NON_US_HASH &kp EXCL &kp LPAR &kp RPAR &kp PIPE &kp UNDER &kp APOS &kp LS(N2) &kp LS(NON_US_HASH) &kp GRAVE + &kp DLLR &kp LS(N3) &kp LBRC &kp RBRC &kp AMPS &trans &trans &trans &trans &trans + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + >; + + sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; + }; + + function_layer { +/* FUNC + * + * ,----------------------------------. ,----------------------------------. + * | | | BTCLR| | Reset| | Reset| F7 | F8 | F9 | F11 | + * |------+------+------+------+------| |------+------+------+------+------| + * | BT0 | BT1 | BT2 | BT3 | BT4 | | | F4 | F5 | F6 | F12 | + * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| + * | | | | | | | 2 | | 3 | | F10 | F1 | F2 | F3 | F13 | + * `----------------------------------' `-----' `-----' `----------------------------------' + * ,-----. ,--------------------. ,--------------------. ,-----. + * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | + * `-----' `--------------------' `--------------------' `-----' + */ + bindings = < + &trans &trans &bt BT_CLR &trans &reset &reset &kp F7 &kp F8 &kp F9 &kp F11 + &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &kp F4 &kp F5 &kp F6 &kp F12 + &trans &trans &trans &trans &trans &kp F10 &kp F1 &kp F2 &kp F3 &kp F13 + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + >; + + sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; + }; + + }; +}; diff --git a/app/boards/shields/severedduck36/severedduck36.zmk.yml b/app/boards/shields/severedduck36/severedduck36.zmk.yml new file mode 100644 index 00000000..fb1aeb16 --- /dev/null +++ b/app/boards/shields/severedduck36/severedduck36.zmk.yml @@ -0,0 +1,14 @@ +file_format: "1" +id: severedduck36 +name: SeveredDuck36 +type: shield +url: https://keyboard.pixelytical.net/ +requires: [pro_micro] +exposes: [i2c_oled] +features: + - keys + - display + - encoder +siblings: + - severedduck36_left + - severedduck36_right diff --git a/app/boards/shields/severedduck36/severedduck36_left.conf b/app/boards/shields/severedduck36/severedduck36_left.conf new file mode 100644 index 00000000..e69de29b diff --git a/app/boards/shields/severedduck36/severedduck36_left.overlay b/app/boards/shields/severedduck36/severedduck36_left.overlay new file mode 100644 index 00000000..c4bd1e9a --- /dev/null +++ b/app/boards/shields/severedduck36/severedduck36_left.overlay @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2020 Pete Johanson + * + * SPDX-License-Identifier: MIT + */ + +#include "severedduck36.dtsi" + +&kscan0 { + col-gpios + = <&pro_micro 21 GPIO_ACTIVE_HIGH> + , <&pro_micro 20 GPIO_ACTIVE_HIGH> + , <&pro_micro 19 GPIO_ACTIVE_HIGH> + , <&pro_micro 18 GPIO_ACTIVE_HIGH> + , <&pro_micro 15 GPIO_ACTIVE_HIGH> + ; +}; + +&left_encoder { + status = "okay"; +}; diff --git a/app/boards/shields/severedduck36/severedduck36_right.conf b/app/boards/shields/severedduck36/severedduck36_right.conf new file mode 100644 index 00000000..e69de29b diff --git a/app/boards/shields/severedduck36/severedduck36_right.overlay b/app/boards/shields/severedduck36/severedduck36_right.overlay new file mode 100644 index 00000000..929eaf09 --- /dev/null +++ b/app/boards/shields/severedduck36/severedduck36_right.overlay @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2020 Pete Johanson + * + * SPDX-License-Identifier: MIT + */ + +#include "severedduck36.dtsi" + +&default_transform { + col-offset = <5>; +}; + +&kscan0 { + col-gpios + = <&pro_micro 15 GPIO_ACTIVE_HIGH> + , <&pro_micro 18 GPIO_ACTIVE_HIGH> + , <&pro_micro 19 GPIO_ACTIVE_HIGH> + , <&pro_micro 20 GPIO_ACTIVE_HIGH> + , <&pro_micro 21 GPIO_ACTIVE_HIGH> + ; +}; + + +&right_encoder { + status = "okay"; +}; From 6ac0516f15bdfe5369097e93a395f7d6f9e15559 Mon Sep 17 00:00:00 2001 From: JW2586 Date: Wed, 16 Feb 2022 18:47:08 +0000 Subject: [PATCH 02/13] Create severedduck36.conf --- app/boards/shields/severedduck36/severedduck36.conf | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 app/boards/shields/severedduck36/severedduck36.conf diff --git a/app/boards/shields/severedduck36/severedduck36.conf b/app/boards/shields/severedduck36/severedduck36.conf new file mode 100644 index 00000000..7a0b5b6c --- /dev/null +++ b/app/boards/shields/severedduck36/severedduck36.conf @@ -0,0 +1,10 @@ +# Uncomment these two line to add support for encoders to your firmware +# CONFIG_EC11=y +# CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y + +# Uncomment the following line to enable the Kyria OLED Display +# CONFIG_ZMK_DISPLAY=y + +# Uncomment the following lines to enable RGB underglow +# CONFIG_ZMK_RGB_UNDERGLOW=y +# CONFIG_WS2812_STRIP=y From 8e8e29196053f904beb95d8e6f1ecbbe7f19f287 Mon Sep 17 00:00:00 2001 From: JW2586 Date: Fri, 18 Feb 2022 15:44:08 +0000 Subject: [PATCH 03/13] Added Encoder support --- app/boards/shields/severedduck36/severedduck36.conf | 4 ++-- app/boards/shields/severedduck36/severedduck36.dtsi | 8 +++----- app/boards/shields/severedduck36/severedduck36.keymap | 4 ++-- app/boards/shields/severedduck36/severedduck36_left.conf | 2 ++ app/boards/shields/severedduck36/severedduck36_right.conf | 2 ++ 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/app/boards/shields/severedduck36/severedduck36.conf b/app/boards/shields/severedduck36/severedduck36.conf index 7a0b5b6c..f521b6e1 100644 --- a/app/boards/shields/severedduck36/severedduck36.conf +++ b/app/boards/shields/severedduck36/severedduck36.conf @@ -1,6 +1,6 @@ # Uncomment these two line to add support for encoders to your firmware -# CONFIG_EC11=y -# CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y +CONFIG_EC11=y +CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y # Uncomment the following line to enable the Kyria OLED Display # CONFIG_ZMK_DISPLAY=y diff --git a/app/boards/shields/severedduck36/severedduck36.dtsi b/app/boards/shields/severedduck36/severedduck36.dtsi index ec607c8f..5ab338e5 100644 --- a/app/boards/shields/severedduck36/severedduck36.dtsi +++ b/app/boards/shields/severedduck36/severedduck36.dtsi @@ -42,22 +42,20 @@ 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 }; - left_encoder: encoder_left { + left_encoder: encoder_left { //roller compatible = "alps,ec11"; label = "LEFT_ENCODER"; a-gpios = <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; b-gpios = <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; resolution = <4>; - status = "disabled"; }; - right_encoder: encoder_right { + right_encoder: encoder_right { //Standard encoder on left half compatible = "alps,ec11"; label = "RIGHT_ENCODER"; a-gpios = <&pro_micro 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; b-gpios = <&pro_micro 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; - resolution = <4>; - status = "disabled"; + resolution = <2>; }; sensors { diff --git a/app/boards/shields/severedduck36/severedduck36.keymap b/app/boards/shields/severedduck36/severedduck36.keymap index af83ed9c..a8176ab0 100644 --- a/app/boards/shields/severedduck36/severedduck36.keymap +++ b/app/boards/shields/severedduck36/severedduck36.keymap @@ -33,7 +33,7 @@ &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 >; - sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; + sensor-bindings = <&inc_dec_kp C_AC_SCROLL_UP C_AC_SCROLL_DOWN &inc_dec_kp TAB LS(TAB)>; }; navnum_layer { @@ -76,7 +76,7 @@ */ bindings = < &kp PRCNT &kp LS(QUOT) &kp LBKT &kp RBKT &kp NON_US_BSLH &kp RA(GRAVE) &kp LS(GRAVE) &kp CARET &trans &trans - &kp NON_US_HASH &kp EXCL &kp LPAR &kp RPAR &kp PIPE &kp UNDER &kp APOS &kp LS(N2) &kp LS(NON_US_HASH) &kp GRAVE + &kp NON_US_HASH &kp EXCL &kp LPAR &kp RPAR &kp LS(NON_US_BSLH) &kp UNDER &kp APOS &kp LS(N2) &kp LS(NON_US_HASH) &kp GRAVE &kp DLLR &kp LS(N3) &kp LBRC &kp RBRC &kp AMPS &trans &trans &trans &trans &trans &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 >; diff --git a/app/boards/shields/severedduck36/severedduck36_left.conf b/app/boards/shields/severedduck36/severedduck36_left.conf index e69de29b..2f561d0d 100644 --- a/app/boards/shields/severedduck36/severedduck36_left.conf +++ b/app/boards/shields/severedduck36/severedduck36_left.conf @@ -0,0 +1,2 @@ +CONFIG_EC11=y +CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y \ No newline at end of file diff --git a/app/boards/shields/severedduck36/severedduck36_right.conf b/app/boards/shields/severedduck36/severedduck36_right.conf index e69de29b..2f561d0d 100644 --- a/app/boards/shields/severedduck36/severedduck36_right.conf +++ b/app/boards/shields/severedduck36/severedduck36_right.conf @@ -0,0 +1,2 @@ +CONFIG_EC11=y +CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y \ No newline at end of file From e922d3b8f7c1ad4ab62fce622fc58e86e68fb824 Mon Sep 17 00:00:00 2001 From: JW2586 Date: Sun, 20 Feb 2022 15:33:50 +0000 Subject: [PATCH 04/13] Added waterfowl shield --- .../shields/waterfowl/Kconfig.defconfig | 53 +++++++++ app/boards/shields/waterfowl/Kconfig.shield | 8 ++ app/boards/shields/waterfowl/waterfowl.conf | 6 + app/boards/shields/waterfowl/waterfowl.dtsi | 84 +++++++++++++ app/boards/shields/waterfowl/waterfowl.keymap | 112 ++++++++++++++++++ .../shields/waterfowl/waterfowl.zmk.yml | 14 +++ .../shields/waterfowl/waterfowl_left.conf | 2 + .../shields/waterfowl/waterfowl_left.overlay | 21 ++++ .../shields/waterfowl/waterfowl_right.conf | 2 + .../shields/waterfowl/waterfowl_right.overlay | 26 ++++ 10 files changed, 328 insertions(+) create mode 100644 app/boards/shields/waterfowl/Kconfig.defconfig create mode 100644 app/boards/shields/waterfowl/Kconfig.shield create mode 100644 app/boards/shields/waterfowl/waterfowl.conf create mode 100644 app/boards/shields/waterfowl/waterfowl.dtsi create mode 100644 app/boards/shields/waterfowl/waterfowl.keymap create mode 100644 app/boards/shields/waterfowl/waterfowl.zmk.yml create mode 100644 app/boards/shields/waterfowl/waterfowl_left.conf create mode 100644 app/boards/shields/waterfowl/waterfowl_left.overlay create mode 100644 app/boards/shields/waterfowl/waterfowl_right.conf create mode 100644 app/boards/shields/waterfowl/waterfowl_right.overlay diff --git a/app/boards/shields/waterfowl/Kconfig.defconfig b/app/boards/shields/waterfowl/Kconfig.defconfig new file mode 100644 index 00000000..a3fe4ba8 --- /dev/null +++ b/app/boards/shields/waterfowl/Kconfig.defconfig @@ -0,0 +1,53 @@ + +if SHIELD_WATERFOWL_LEFT + +config ZMK_KEYBOARD_NAME + default "Waterfowl" + +config ZMK_SPLIT_BLE_ROLE_CENTRAL + default y + +endif + +if SHIELD_WATERFOWL_LEFT || SHIELD_WATERFOWL_RIGHT + +config ZMK_SPLIT + default y + +if ZMK_DISPLAY + +config I2C + default y + +config SSD1306 + default y + +config SSD1306_REVERSE_MODE + default y + +endif # ZMK_DISPLAY + +if LVGL + +config LVGL_HOR_RES_MAX + default 128 + +config LVGL_VER_RES_MAX + default 64 + +config LVGL_VDB_SIZE + default 64 + +config LVGL_DPI + default 148 + +config LVGL_BITS_PER_PIXEL + default 1 + +choice LVGL_COLOR_DEPTH + default LVGL_COLOR_DEPTH_1 +endchoice + +endif # LVGL + +endif diff --git a/app/boards/shields/waterfowl/Kconfig.shield b/app/boards/shields/waterfowl/Kconfig.shield new file mode 100644 index 00000000..a615440b --- /dev/null +++ b/app/boards/shields/waterfowl/Kconfig.shield @@ -0,0 +1,8 @@ +# Copyright (c) 2020 Pete Johanson +# SPDX-License-Identifier: MIT + +config SHIELD_WATERFOWL_LEFT + def_bool $(shields_list_contains,waterfowl_left) + +config SHIELD_WATERFOWL_RIGHT + def_bool $(shields_list_contains,waterfowl_right) diff --git a/app/boards/shields/waterfowl/waterfowl.conf b/app/boards/shields/waterfowl/waterfowl.conf new file mode 100644 index 00000000..449e0b1f --- /dev/null +++ b/app/boards/shields/waterfowl/waterfowl.conf @@ -0,0 +1,6 @@ +# Uncomment these two line to add support for encoders to your firmware +CONFIG_EC11=y +CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y + +# Uncomment the following line to enable the Waterfowl OLED Display +# CONFIG_ZMK_DISPLAY=y diff --git a/app/boards/shields/waterfowl/waterfowl.dtsi b/app/boards/shields/waterfowl/waterfowl.dtsi new file mode 100644 index 00000000..5ab338e5 --- /dev/null +++ b/app/boards/shields/waterfowl/waterfowl.dtsi @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2020 Pete Johanson + * + * SPDX-License-Identifier: MIT + */ + +#include + +/ { + chosen { + zmk,kscan = &kscan0; + zmk,matrix_transform = &default_transform; + }; + + default_transform: keymap_transform_0 { + compatible = "zmk,matrix-transform"; + columns = <16>; + rows = <4>; +// | MX5 | MX4 | MX3 | MX2 | MX1 | | MX1 | MX2 | MX3 | MX4 | MX5 | +// | MX10 | MX9 | MX8 | MX7 | MX6 | | MX6 | MX7 | MX8 | MX9 | MX10 | +// | MX15 | MX14 | MX13 | MX12 | MX11 | | MX11 | MX12 | MX13 | MX14 | MX15 | +// | MX20 | MX19 | MX18 | MX17 | MX16 | | MX16 | MX17 | MX18 | MX19 | MX20 | + 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(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(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) +RC(3,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) + >; + }; + + kscan0: kscan { + compatible = "zmk,kscan-gpio-matrix"; + label = "KSCAN"; + + diode-direction = "col2row"; + row-gpios + = <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + ; + + }; + + left_encoder: encoder_left { //roller + compatible = "alps,ec11"; + label = "LEFT_ENCODER"; + a-gpios = <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; + b-gpios = <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; + resolution = <4>; + }; + + right_encoder: encoder_right { //Standard encoder on left half + compatible = "alps,ec11"; + label = "RIGHT_ENCODER"; + a-gpios = <&pro_micro 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; + b-gpios = <&pro_micro 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; + resolution = <2>; + }; + + sensors { + compatible = "zmk,keymap-sensors"; + sensors = <&left_encoder &right_encoder>; + }; + + // TODO: RGB node(s) +}; + +&pro_micro_i2c { + status = "okay"; + + ssd1306@3c { + compatible = "solomon,ssd1306fb"; + reg = <0x3c>; + label = "DISPLAY"; + width = <128>; + height = <64>; + segment-offset = <0>; + page-offset = <0>; + display-offset = <0>; + multiplex-ratio = <63>; + prechargep = <0x22>; + }; +}; diff --git a/app/boards/shields/waterfowl/waterfowl.keymap b/app/boards/shields/waterfowl/waterfowl.keymap new file mode 100644 index 00000000..a8176ab0 --- /dev/null +++ b/app/boards/shields/waterfowl/waterfowl.keymap @@ -0,0 +1,112 @@ +/* + * Copyright (c) 2020 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + */ + +#include +#include +#include + +/ { + keymap { + compatible = "zmk,keymap"; + + default_layer { +/* QWERTY + * + * ,----------------------------------. ,----------------------------------. + * | Q | W | E | R | T | | Y | U | I | O | P | + * |------+------+------+------+------| |------+------+------+------+------| + * | A | S | D | F | G | | H | J | K | L | ; | + * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| + * | Z | X | C | V | B | | 2 | | 3 | | N | M | , | . | / | + * `----------------------------------' `-----' `-----' `----------------------------------' + * ,-----. ,--------------------. ,--------------------. ,-----. + * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | + * `-----' `--------------------' `--------------------' `-----' + */ + bindings = < + &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P + &mt LGUI A &mt LALT S &mt LCTRL D &mt LSHFT F &kp G &kp H &mt LSHFT J &mt LCTRL K &mt LALT L &mt LGUI SEMI + &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + >; + + sensor-bindings = <&inc_dec_kp C_AC_SCROLL_UP C_AC_SCROLL_DOWN &inc_dec_kp TAB LS(TAB)>; + }; + + navnum_layer { +/* NAVNUM + * + * ,----------------------------------. ,----------------------------------. + * | | PgUp | UP | PgDn | | | / | 7 | 8 | 9 | - | + * |------+------+------+------+------| |------+------+------+------+------| + * | Home | Left | Down | Right| End | | = | 4 | 5 | 6 | + | + * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| + * | | | INS | | | | 2 | | 3 | | 0 | 1 | 2 | 3 | * | + * `----------------------------------' `-----' `-----' `----------------------------------' + * ,-----. ,--------------------. ,--------------------. ,-----. + * | 1 | | DEL | SPACE | MO(3)| | ESC | BS | ENTER | | 4 | + * `-----' `--------------------' `--------------------' `-----' + */ + bindings = < + &trans &kp PG_UP &kp UP &kp PG_DN &trans &kp FSLH &kp N7 &kp N8 &kp N9 &kp MINUS + &kp HOME &kp LEFT &kp DOWN &kp RIGHT &kp END &kp EQUAL &kp N4 &kp N5 &kp N6 &kp PLUS + &trans &trans &kp INS &trans &trans &kp N0 &kp N1 &kp N2 &kp N3 &kp ASTERISK + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + >; + + sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; + }; + + symbol_layer { +/* SYM + * + * ,----------------------------------. ,----------------------------------. + * | % | @ | [ | ] | \ | | ¦ | ¬ | ^ | | | + * |------+------+------+------+------| |------+------+------+------+------| + * | # | ! | ( | ) | | | | _ | ' | " | ~ | ` | + * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| + * | $ | £ | { | } | & | | 2 | | 3 | | | | | | | + * `----------------------------------' `-----' `-----' `----------------------------------' + * ,-----. ,--------------------. ,--------------------. ,-----. + * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | + * `-----' `--------------------' `--------------------' `-----' + */ + bindings = < + &kp PRCNT &kp LS(QUOT) &kp LBKT &kp RBKT &kp NON_US_BSLH &kp RA(GRAVE) &kp LS(GRAVE) &kp CARET &trans &trans + &kp NON_US_HASH &kp EXCL &kp LPAR &kp RPAR &kp LS(NON_US_BSLH) &kp UNDER &kp APOS &kp LS(N2) &kp LS(NON_US_HASH) &kp GRAVE + &kp DLLR &kp LS(N3) &kp LBRC &kp RBRC &kp AMPS &trans &trans &trans &trans &trans + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + >; + + sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; + }; + + function_layer { +/* FUNC + * + * ,----------------------------------. ,----------------------------------. + * | | | BTCLR| | Reset| | Reset| F7 | F8 | F9 | F11 | + * |------+------+------+------+------| |------+------+------+------+------| + * | BT0 | BT1 | BT2 | BT3 | BT4 | | | F4 | F5 | F6 | F12 | + * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| + * | | | | | | | 2 | | 3 | | F10 | F1 | F2 | F3 | F13 | + * `----------------------------------' `-----' `-----' `----------------------------------' + * ,-----. ,--------------------. ,--------------------. ,-----. + * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | + * `-----' `--------------------' `--------------------' `-----' + */ + bindings = < + &trans &trans &bt BT_CLR &trans &reset &reset &kp F7 &kp F8 &kp F9 &kp F11 + &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &kp F4 &kp F5 &kp F6 &kp F12 + &trans &trans &trans &trans &trans &kp F10 &kp F1 &kp F2 &kp F3 &kp F13 + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + >; + + sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; + }; + + }; +}; diff --git a/app/boards/shields/waterfowl/waterfowl.zmk.yml b/app/boards/shields/waterfowl/waterfowl.zmk.yml new file mode 100644 index 00000000..e167e1f4 --- /dev/null +++ b/app/boards/shields/waterfowl/waterfowl.zmk.yml @@ -0,0 +1,14 @@ +file_format: "1" +id: waterfowl +name: Waterfowl +type: shield +url: https://keyboard.pixelytical.net/ +requires: [pro_micro] +exposes: [i2c_oled] +features: + - keys + - display + - encoder +siblings: + - waterfowl_left + - waterfowl_right diff --git a/app/boards/shields/waterfowl/waterfowl_left.conf b/app/boards/shields/waterfowl/waterfowl_left.conf new file mode 100644 index 00000000..2f561d0d --- /dev/null +++ b/app/boards/shields/waterfowl/waterfowl_left.conf @@ -0,0 +1,2 @@ +CONFIG_EC11=y +CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y \ No newline at end of file diff --git a/app/boards/shields/waterfowl/waterfowl_left.overlay b/app/boards/shields/waterfowl/waterfowl_left.overlay new file mode 100644 index 00000000..5b0c8c3b --- /dev/null +++ b/app/boards/shields/waterfowl/waterfowl_left.overlay @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2020 Pete Johanson + * + * SPDX-License-Identifier: MIT + */ + +#include "waterfowl.dtsi" + +&kscan0 { + col-gpios + = <&pro_micro 21 GPIO_ACTIVE_HIGH> + , <&pro_micro 20 GPIO_ACTIVE_HIGH> + , <&pro_micro 19 GPIO_ACTIVE_HIGH> + , <&pro_micro 18 GPIO_ACTIVE_HIGH> + , <&pro_micro 15 GPIO_ACTIVE_HIGH> + ; +}; + +&left_encoder { + status = "okay"; +}; diff --git a/app/boards/shields/waterfowl/waterfowl_right.conf b/app/boards/shields/waterfowl/waterfowl_right.conf new file mode 100644 index 00000000..2f561d0d --- /dev/null +++ b/app/boards/shields/waterfowl/waterfowl_right.conf @@ -0,0 +1,2 @@ +CONFIG_EC11=y +CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y \ No newline at end of file diff --git a/app/boards/shields/waterfowl/waterfowl_right.overlay b/app/boards/shields/waterfowl/waterfowl_right.overlay new file mode 100644 index 00000000..db119e99 --- /dev/null +++ b/app/boards/shields/waterfowl/waterfowl_right.overlay @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2020 Pete Johanson + * + * SPDX-License-Identifier: MIT + */ + +#include "waterfowl.dtsi" + +&default_transform { + col-offset = <5>; +}; + +&kscan0 { + col-gpios + = <&pro_micro 15 GPIO_ACTIVE_HIGH> + , <&pro_micro 18 GPIO_ACTIVE_HIGH> + , <&pro_micro 19 GPIO_ACTIVE_HIGH> + , <&pro_micro 20 GPIO_ACTIVE_HIGH> + , <&pro_micro 21 GPIO_ACTIVE_HIGH> + ; +}; + + +&right_encoder { + status = "okay"; +}; From 1d0d6f1d96def5d935982522fac3bda69e1195bc Mon Sep 17 00:00:00 2001 From: JW2586 Date: Sun, 20 Feb 2022 15:46:36 +0000 Subject: [PATCH 05/13] Changed lisences and encoders --- app/boards/shields/waterfowl/Kconfig.shield | 7 +++++-- app/boards/shields/waterfowl/waterfowl.dtsi | 2 +- app/boards/shields/waterfowl/waterfowl.keymap | 10 +++++----- app/boards/shields/waterfowl/waterfowl_left.overlay | 2 +- app/boards/shields/waterfowl/waterfowl_right.overlay | 2 +- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/app/boards/shields/waterfowl/Kconfig.shield b/app/boards/shields/waterfowl/Kconfig.shield index a615440b..4e1ebf8a 100644 --- a/app/boards/shields/waterfowl/Kconfig.shield +++ b/app/boards/shields/waterfowl/Kconfig.shield @@ -1,5 +1,8 @@ -# Copyright (c) 2020 Pete Johanson -# SPDX-License-Identifier: MIT +/* + * Copyright (c) 2022 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + */ config SHIELD_WATERFOWL_LEFT def_bool $(shields_list_contains,waterfowl_left) diff --git a/app/boards/shields/waterfowl/waterfowl.dtsi b/app/boards/shields/waterfowl/waterfowl.dtsi index 5ab338e5..33dc9bad 100644 --- a/app/boards/shields/waterfowl/waterfowl.dtsi +++ b/app/boards/shields/waterfowl/waterfowl.dtsi @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 Pete Johanson + * Copyright (c) 2022 The ZMK Contributors * * SPDX-License-Identifier: MIT */ diff --git a/app/boards/shields/waterfowl/waterfowl.keymap b/app/boards/shields/waterfowl/waterfowl.keymap index a8176ab0..68bdd914 100644 --- a/app/boards/shields/waterfowl/waterfowl.keymap +++ b/app/boards/shields/waterfowl/waterfowl.keymap @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 The ZMK Contributors + * Copyright (c) 2022 The ZMK Contributors * * SPDX-License-Identifier: MIT */ @@ -33,7 +33,7 @@ &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 >; - sensor-bindings = <&inc_dec_kp C_AC_SCROLL_UP C_AC_SCROLL_DOWN &inc_dec_kp TAB LS(TAB)>; + sensor-bindings = <&inc_dec_kp PAGE_UP PAGE_DOWN &inc_dec_kp TAB LS(TAB)>; }; navnum_layer { @@ -57,7 +57,7 @@ &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 >; - sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; + sensor-bindings = <&inc_dec_kp PAGE_UP PAGE_DOWN &inc_dec_kp TAB LS(TAB)>; }; symbol_layer { @@ -81,7 +81,7 @@ &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 >; - sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; + sensor-bindings = <&inc_dec_kp PAGE_UP PAGE_DOWN &inc_dec_kp TAB LS(TAB)>; }; function_layer { @@ -105,7 +105,7 @@ &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 >; - sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; + sensor-bindings = <&inc_dec_kp PAGE_UP PAGE_DOWN &inc_dec_kp TAB LS(TAB)>; }; }; diff --git a/app/boards/shields/waterfowl/waterfowl_left.overlay b/app/boards/shields/waterfowl/waterfowl_left.overlay index 5b0c8c3b..031936ea 100644 --- a/app/boards/shields/waterfowl/waterfowl_left.overlay +++ b/app/boards/shields/waterfowl/waterfowl_left.overlay @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 Pete Johanson + * Copyright (c) 2022 The ZMK Contributors * * SPDX-License-Identifier: MIT */ diff --git a/app/boards/shields/waterfowl/waterfowl_right.overlay b/app/boards/shields/waterfowl/waterfowl_right.overlay index db119e99..cff0d53c 100644 --- a/app/boards/shields/waterfowl/waterfowl_right.overlay +++ b/app/boards/shields/waterfowl/waterfowl_right.overlay @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 Pete Johanson + * Copyright (c) 2022 The ZMK Contributors * * SPDX-License-Identifier: MIT */ From 31a818ec525e57b79a1bb94db8caf5eecd8e5aba Mon Sep 17 00:00:00 2001 From: JW2586 Date: Sun, 20 Feb 2022 15:53:23 +0000 Subject: [PATCH 06/13] Update Kconfig.shield --- app/boards/shields/waterfowl/Kconfig.shield | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/app/boards/shields/waterfowl/Kconfig.shield b/app/boards/shields/waterfowl/Kconfig.shield index 4e1ebf8a..a321b73d 100644 --- a/app/boards/shields/waterfowl/Kconfig.shield +++ b/app/boards/shields/waterfowl/Kconfig.shield @@ -1,8 +1,6 @@ -/* - * Copyright (c) 2022 The ZMK Contributors - * - * SPDX-License-Identifier: MIT - */ +#Copyright (c) 2022 The ZMK Contributors +#SPDX-License-Identifier: MIT + config SHIELD_WATERFOWL_LEFT def_bool $(shields_list_contains,waterfowl_left) From 62eeae3b7ba7569c38671319abc3af0626a2a7b3 Mon Sep 17 00:00:00 2001 From: JW2586 Date: Sun, 20 Feb 2022 16:01:33 +0000 Subject: [PATCH 07/13] Removed SeveredDuck36 --- .../shields/severedduck36/Kconfig.defconfig | 53 --------- .../shields/severedduck36/Kconfig.shield | 8 -- .../shields/severedduck36/severedduck36.conf | 10 -- .../shields/severedduck36/severedduck36.dtsi | 84 ------------- .../severedduck36/severedduck36.keymap | 112 ------------------ .../severedduck36/severedduck36.zmk.yml | 14 --- .../severedduck36/severedduck36_left.conf | 2 - .../severedduck36/severedduck36_left.overlay | 21 ---- .../severedduck36/severedduck36_right.conf | 2 - .../severedduck36/severedduck36_right.overlay | 26 ---- 10 files changed, 332 deletions(-) delete mode 100644 app/boards/shields/severedduck36/Kconfig.defconfig delete mode 100644 app/boards/shields/severedduck36/Kconfig.shield delete mode 100644 app/boards/shields/severedduck36/severedduck36.conf delete mode 100644 app/boards/shields/severedduck36/severedduck36.dtsi delete mode 100644 app/boards/shields/severedduck36/severedduck36.keymap delete mode 100644 app/boards/shields/severedduck36/severedduck36.zmk.yml delete mode 100644 app/boards/shields/severedduck36/severedduck36_left.conf delete mode 100644 app/boards/shields/severedduck36/severedduck36_left.overlay delete mode 100644 app/boards/shields/severedduck36/severedduck36_right.conf delete mode 100644 app/boards/shields/severedduck36/severedduck36_right.overlay diff --git a/app/boards/shields/severedduck36/Kconfig.defconfig b/app/boards/shields/severedduck36/Kconfig.defconfig deleted file mode 100644 index 57e751c5..00000000 --- a/app/boards/shields/severedduck36/Kconfig.defconfig +++ /dev/null @@ -1,53 +0,0 @@ - -if SHIELD_SEVEREDDUCK36_LEFT - -config ZMK_KEYBOARD_NAME - default "SeveredDuck36" - -config ZMK_SPLIT_BLE_ROLE_CENTRAL - default y - -endif - -if SHIELD_SEVEREDDUCK36_LEFT || SHIELD_SEVEREDDUCK36_RIGHT - -config ZMK_SPLIT - default y - -if ZMK_DISPLAY - -config I2C - default y - -config SSD1306 - default y - -config SSD1306_REVERSE_MODE - default y - -endif # ZMK_DISPLAY - -if LVGL - -config LVGL_HOR_RES_MAX - default 128 - -config LVGL_VER_RES_MAX - default 64 - -config LVGL_VDB_SIZE - default 64 - -config LVGL_DPI - default 148 - -config LVGL_BITS_PER_PIXEL - default 1 - -choice LVGL_COLOR_DEPTH - default LVGL_COLOR_DEPTH_1 -endchoice - -endif # LVGL - -endif diff --git a/app/boards/shields/severedduck36/Kconfig.shield b/app/boards/shields/severedduck36/Kconfig.shield deleted file mode 100644 index 63d31746..00000000 --- a/app/boards/shields/severedduck36/Kconfig.shield +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright (c) 2020 Pete Johanson -# SPDX-License-Identifier: MIT - -config SHIELD_SEVEREDDUCK36_LEFT - def_bool $(shields_list_contains,severedduck36_left) - -config SHIELD_SEVEREDDUCK36_RIGHT - def_bool $(shields_list_contains,severedduck36_right) diff --git a/app/boards/shields/severedduck36/severedduck36.conf b/app/boards/shields/severedduck36/severedduck36.conf deleted file mode 100644 index f521b6e1..00000000 --- a/app/boards/shields/severedduck36/severedduck36.conf +++ /dev/null @@ -1,10 +0,0 @@ -# Uncomment these two line to add support for encoders to your firmware -CONFIG_EC11=y -CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y - -# Uncomment the following line to enable the Kyria OLED Display -# CONFIG_ZMK_DISPLAY=y - -# Uncomment the following lines to enable RGB underglow -# CONFIG_ZMK_RGB_UNDERGLOW=y -# CONFIG_WS2812_STRIP=y diff --git a/app/boards/shields/severedduck36/severedduck36.dtsi b/app/boards/shields/severedduck36/severedduck36.dtsi deleted file mode 100644 index 5ab338e5..00000000 --- a/app/boards/shields/severedduck36/severedduck36.dtsi +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2020 Pete Johanson - * - * SPDX-License-Identifier: MIT - */ - -#include - -/ { - chosen { - zmk,kscan = &kscan0; - zmk,matrix_transform = &default_transform; - }; - - default_transform: keymap_transform_0 { - compatible = "zmk,matrix-transform"; - columns = <16>; - rows = <4>; -// | MX5 | MX4 | MX3 | MX2 | MX1 | | MX1 | MX2 | MX3 | MX4 | MX5 | -// | MX10 | MX9 | MX8 | MX7 | MX6 | | MX6 | MX7 | MX8 | MX9 | MX10 | -// | MX15 | MX14 | MX13 | MX12 | MX11 | | MX11 | MX12 | MX13 | MX14 | MX15 | -// | MX20 | MX19 | MX18 | MX17 | MX16 | | MX16 | MX17 | MX18 | MX19 | MX20 | - 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(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(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) -RC(3,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) - >; - }; - - kscan0: kscan { - compatible = "zmk,kscan-gpio-matrix"; - label = "KSCAN"; - - diode-direction = "col2row"; - row-gpios - = <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - ; - - }; - - left_encoder: encoder_left { //roller - compatible = "alps,ec11"; - label = "LEFT_ENCODER"; - a-gpios = <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; - b-gpios = <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; - resolution = <4>; - }; - - right_encoder: encoder_right { //Standard encoder on left half - compatible = "alps,ec11"; - label = "RIGHT_ENCODER"; - a-gpios = <&pro_micro 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; - b-gpios = <&pro_micro 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; - resolution = <2>; - }; - - sensors { - compatible = "zmk,keymap-sensors"; - sensors = <&left_encoder &right_encoder>; - }; - - // TODO: RGB node(s) -}; - -&pro_micro_i2c { - status = "okay"; - - ssd1306@3c { - compatible = "solomon,ssd1306fb"; - reg = <0x3c>; - label = "DISPLAY"; - width = <128>; - height = <64>; - segment-offset = <0>; - page-offset = <0>; - display-offset = <0>; - multiplex-ratio = <63>; - prechargep = <0x22>; - }; -}; diff --git a/app/boards/shields/severedduck36/severedduck36.keymap b/app/boards/shields/severedduck36/severedduck36.keymap deleted file mode 100644 index a8176ab0..00000000 --- a/app/boards/shields/severedduck36/severedduck36.keymap +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (c) 2020 The ZMK Contributors - * - * SPDX-License-Identifier: MIT - */ - -#include -#include -#include - -/ { - keymap { - compatible = "zmk,keymap"; - - default_layer { -/* QWERTY - * - * ,----------------------------------. ,----------------------------------. - * | Q | W | E | R | T | | Y | U | I | O | P | - * |------+------+------+------+------| |------+------+------+------+------| - * | A | S | D | F | G | | H | J | K | L | ; | - * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| - * | Z | X | C | V | B | | 2 | | 3 | | N | M | , | . | / | - * `----------------------------------' `-----' `-----' `----------------------------------' - * ,-----. ,--------------------. ,--------------------. ,-----. - * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | - * `-----' `--------------------' `--------------------' `-----' - */ - bindings = < - &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P - &mt LGUI A &mt LALT S &mt LCTRL D &mt LSHFT F &kp G &kp H &mt LSHFT J &mt LCTRL K &mt LALT L &mt LGUI SEMI - &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH - &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 - >; - - sensor-bindings = <&inc_dec_kp C_AC_SCROLL_UP C_AC_SCROLL_DOWN &inc_dec_kp TAB LS(TAB)>; - }; - - navnum_layer { -/* NAVNUM - * - * ,----------------------------------. ,----------------------------------. - * | | PgUp | UP | PgDn | | | / | 7 | 8 | 9 | - | - * |------+------+------+------+------| |------+------+------+------+------| - * | Home | Left | Down | Right| End | | = | 4 | 5 | 6 | + | - * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| - * | | | INS | | | | 2 | | 3 | | 0 | 1 | 2 | 3 | * | - * `----------------------------------' `-----' `-----' `----------------------------------' - * ,-----. ,--------------------. ,--------------------. ,-----. - * | 1 | | DEL | SPACE | MO(3)| | ESC | BS | ENTER | | 4 | - * `-----' `--------------------' `--------------------' `-----' - */ - bindings = < - &trans &kp PG_UP &kp UP &kp PG_DN &trans &kp FSLH &kp N7 &kp N8 &kp N9 &kp MINUS - &kp HOME &kp LEFT &kp DOWN &kp RIGHT &kp END &kp EQUAL &kp N4 &kp N5 &kp N6 &kp PLUS - &trans &trans &kp INS &trans &trans &kp N0 &kp N1 &kp N2 &kp N3 &kp ASTERISK - &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 - >; - - sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; - }; - - symbol_layer { -/* SYM - * - * ,----------------------------------. ,----------------------------------. - * | % | @ | [ | ] | \ | | ¦ | ¬ | ^ | | | - * |------+------+------+------+------| |------+------+------+------+------| - * | # | ! | ( | ) | | | | _ | ' | " | ~ | ` | - * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| - * | $ | £ | { | } | & | | 2 | | 3 | | | | | | | - * `----------------------------------' `-----' `-----' `----------------------------------' - * ,-----. ,--------------------. ,--------------------. ,-----. - * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | - * `-----' `--------------------' `--------------------' `-----' - */ - bindings = < - &kp PRCNT &kp LS(QUOT) &kp LBKT &kp RBKT &kp NON_US_BSLH &kp RA(GRAVE) &kp LS(GRAVE) &kp CARET &trans &trans - &kp NON_US_HASH &kp EXCL &kp LPAR &kp RPAR &kp LS(NON_US_BSLH) &kp UNDER &kp APOS &kp LS(N2) &kp LS(NON_US_HASH) &kp GRAVE - &kp DLLR &kp LS(N3) &kp LBRC &kp RBRC &kp AMPS &trans &trans &trans &trans &trans - &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 - >; - - sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; - }; - - function_layer { -/* FUNC - * - * ,----------------------------------. ,----------------------------------. - * | | | BTCLR| | Reset| | Reset| F7 | F8 | F9 | F11 | - * |------+------+------+------+------| |------+------+------+------+------| - * | BT0 | BT1 | BT2 | BT3 | BT4 | | | F4 | F5 | F6 | F12 | - * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| - * | | | | | | | 2 | | 3 | | F10 | F1 | F2 | F3 | F13 | - * `----------------------------------' `-----' `-----' `----------------------------------' - * ,-----. ,--------------------. ,--------------------. ,-----. - * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | - * `-----' `--------------------' `--------------------' `-----' - */ - bindings = < - &trans &trans &bt BT_CLR &trans &reset &reset &kp F7 &kp F8 &kp F9 &kp F11 - &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &kp F4 &kp F5 &kp F6 &kp F12 - &trans &trans &trans &trans &trans &kp F10 &kp F1 &kp F2 &kp F3 &kp F13 - &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 - >; - - sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; - }; - - }; -}; diff --git a/app/boards/shields/severedduck36/severedduck36.zmk.yml b/app/boards/shields/severedduck36/severedduck36.zmk.yml deleted file mode 100644 index fb1aeb16..00000000 --- a/app/boards/shields/severedduck36/severedduck36.zmk.yml +++ /dev/null @@ -1,14 +0,0 @@ -file_format: "1" -id: severedduck36 -name: SeveredDuck36 -type: shield -url: https://keyboard.pixelytical.net/ -requires: [pro_micro] -exposes: [i2c_oled] -features: - - keys - - display - - encoder -siblings: - - severedduck36_left - - severedduck36_right diff --git a/app/boards/shields/severedduck36/severedduck36_left.conf b/app/boards/shields/severedduck36/severedduck36_left.conf deleted file mode 100644 index 2f561d0d..00000000 --- a/app/boards/shields/severedduck36/severedduck36_left.conf +++ /dev/null @@ -1,2 +0,0 @@ -CONFIG_EC11=y -CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y \ No newline at end of file diff --git a/app/boards/shields/severedduck36/severedduck36_left.overlay b/app/boards/shields/severedduck36/severedduck36_left.overlay deleted file mode 100644 index c4bd1e9a..00000000 --- a/app/boards/shields/severedduck36/severedduck36_left.overlay +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2020 Pete Johanson - * - * SPDX-License-Identifier: MIT - */ - -#include "severedduck36.dtsi" - -&kscan0 { - col-gpios - = <&pro_micro 21 GPIO_ACTIVE_HIGH> - , <&pro_micro 20 GPIO_ACTIVE_HIGH> - , <&pro_micro 19 GPIO_ACTIVE_HIGH> - , <&pro_micro 18 GPIO_ACTIVE_HIGH> - , <&pro_micro 15 GPIO_ACTIVE_HIGH> - ; -}; - -&left_encoder { - status = "okay"; -}; diff --git a/app/boards/shields/severedduck36/severedduck36_right.conf b/app/boards/shields/severedduck36/severedduck36_right.conf deleted file mode 100644 index 2f561d0d..00000000 --- a/app/boards/shields/severedduck36/severedduck36_right.conf +++ /dev/null @@ -1,2 +0,0 @@ -CONFIG_EC11=y -CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y \ No newline at end of file diff --git a/app/boards/shields/severedduck36/severedduck36_right.overlay b/app/boards/shields/severedduck36/severedduck36_right.overlay deleted file mode 100644 index 929eaf09..00000000 --- a/app/boards/shields/severedduck36/severedduck36_right.overlay +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2020 Pete Johanson - * - * SPDX-License-Identifier: MIT - */ - -#include "severedduck36.dtsi" - -&default_transform { - col-offset = <5>; -}; - -&kscan0 { - col-gpios - = <&pro_micro 15 GPIO_ACTIVE_HIGH> - , <&pro_micro 18 GPIO_ACTIVE_HIGH> - , <&pro_micro 19 GPIO_ACTIVE_HIGH> - , <&pro_micro 20 GPIO_ACTIVE_HIGH> - , <&pro_micro 21 GPIO_ACTIVE_HIGH> - ; -}; - - -&right_encoder { - status = "okay"; -}; From 4dd30c8185ed76891125151a8e9b93e34cfa2ce0 Mon Sep 17 00:00:00 2001 From: JW2586 Date: Mon, 30 May 2022 16:41:55 +0100 Subject: [PATCH 08/13] Increased Waterfowl debounce --- app/boards/shields/waterfowl/waterfowl_left.conf | 4 +++- app/boards/shields/waterfowl/waterfowl_right.conf | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/boards/shields/waterfowl/waterfowl_left.conf b/app/boards/shields/waterfowl/waterfowl_left.conf index 2f561d0d..52435102 100644 --- a/app/boards/shields/waterfowl/waterfowl_left.conf +++ b/app/boards/shields/waterfowl/waterfowl_left.conf @@ -1,2 +1,4 @@ CONFIG_EC11=y -CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y \ No newline at end of file +CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y +CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=7 +CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=7 \ No newline at end of file diff --git a/app/boards/shields/waterfowl/waterfowl_right.conf b/app/boards/shields/waterfowl/waterfowl_right.conf index 2f561d0d..52435102 100644 --- a/app/boards/shields/waterfowl/waterfowl_right.conf +++ b/app/boards/shields/waterfowl/waterfowl_right.conf @@ -1,2 +1,4 @@ CONFIG_EC11=y -CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y \ No newline at end of file +CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y +CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=7 +CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=7 \ No newline at end of file From 26f442bf92c0c85bf03828807603ed72a2248e31 Mon Sep 17 00:00:00 2001 From: JW2586 Date: Mon, 30 May 2022 17:25:15 +0100 Subject: [PATCH 09/13] Revert "Increased Waterfowl debounce" This reverts commit 4dd30c8185ed76891125151a8e9b93e34cfa2ce0. --- app/boards/shields/waterfowl/waterfowl_left.conf | 4 +--- app/boards/shields/waterfowl/waterfowl_right.conf | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/app/boards/shields/waterfowl/waterfowl_left.conf b/app/boards/shields/waterfowl/waterfowl_left.conf index 52435102..2f561d0d 100644 --- a/app/boards/shields/waterfowl/waterfowl_left.conf +++ b/app/boards/shields/waterfowl/waterfowl_left.conf @@ -1,4 +1,2 @@ CONFIG_EC11=y -CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y -CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=7 -CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=7 \ No newline at end of file +CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y \ No newline at end of file diff --git a/app/boards/shields/waterfowl/waterfowl_right.conf b/app/boards/shields/waterfowl/waterfowl_right.conf index 52435102..2f561d0d 100644 --- a/app/boards/shields/waterfowl/waterfowl_right.conf +++ b/app/boards/shields/waterfowl/waterfowl_right.conf @@ -1,4 +1,2 @@ CONFIG_EC11=y -CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y -CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=7 -CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=7 \ No newline at end of file +CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y \ No newline at end of file From 774a4bf4918736335eb78e509916be71cf7b219b Mon Sep 17 00:00:00 2001 From: laidbackhacker <70282382+JW2586@users.noreply.github.com> Date: Fri, 25 Nov 2022 14:31:25 +0000 Subject: [PATCH 10/13] Update waterfowl.zmk.yml --- app/boards/shields/waterfowl/waterfowl.zmk.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/boards/shields/waterfowl/waterfowl.zmk.yml b/app/boards/shields/waterfowl/waterfowl.zmk.yml index e167e1f4..3cd48686 100644 --- a/app/boards/shields/waterfowl/waterfowl.zmk.yml +++ b/app/boards/shields/waterfowl/waterfowl.zmk.yml @@ -2,7 +2,7 @@ file_format: "1" id: waterfowl name: Waterfowl type: shield -url: https://keyboard.pixelytical.net/ +url: https://waterfowl.bio.link/ requires: [pro_micro] exposes: [i2c_oled] features: From 5a33822309741f25cb8cd5064c291568c36cbba7 Mon Sep 17 00:00:00 2001 From: laidbackhacker <70282382+JW2586@users.noreply.github.com> Date: Fri, 25 Nov 2022 14:37:03 +0000 Subject: [PATCH 11/13] Updated keymap defines --- app/boards/shields/waterfowl/waterfowl.keymap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/boards/shields/waterfowl/waterfowl.keymap b/app/boards/shields/waterfowl/waterfowl.keymap index 68bdd914..48079551 100644 --- a/app/boards/shields/waterfowl/waterfowl.keymap +++ b/app/boards/shields/waterfowl/waterfowl.keymap @@ -75,7 +75,7 @@ * `-----' `--------------------' `--------------------' `-----' */ bindings = < - &kp PRCNT &kp LS(QUOT) &kp LBKT &kp RBKT &kp NON_US_BSLH &kp RA(GRAVE) &kp LS(GRAVE) &kp CARET &trans &trans + &kp PRCNT &kp LS(SQT) &kp LBKT &kp RBKT &kp NON_US_BSLH &kp RA(GRAVE) &kp LS(GRAVE) &kp CARET &trans &trans &kp NON_US_HASH &kp EXCL &kp LPAR &kp RPAR &kp LS(NON_US_BSLH) &kp UNDER &kp APOS &kp LS(N2) &kp LS(NON_US_HASH) &kp GRAVE &kp DLLR &kp LS(N3) &kp LBRC &kp RBRC &kp AMPS &trans &trans &trans &trans &trans &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 @@ -109,4 +109,4 @@ }; }; -}; +}; \ No newline at end of file From 7705aee07e66a918c420883fad8f30f42441684d Mon Sep 17 00:00:00 2001 From: laidbackhacker <70282382+JW2586@users.noreply.github.com> Date: Mon, 28 Nov 2022 20:32:55 +0000 Subject: [PATCH 12/13] Implemented US layout and formatted tabs/spaces, updated OLED support OLED not yet tested --- .../shields/waterfowl/Kconfig.defconfig | 8 +---- app/boards/shields/waterfowl/waterfowl.dtsi | 17 ++++----- app/boards/shields/waterfowl/waterfowl.keymap | 36 +++++++++---------- 3 files changed, 28 insertions(+), 33 deletions(-) diff --git a/app/boards/shields/waterfowl/Kconfig.defconfig b/app/boards/shields/waterfowl/Kconfig.defconfig index a3fe4ba8..897184f6 100644 --- a/app/boards/shields/waterfowl/Kconfig.defconfig +++ b/app/boards/shields/waterfowl/Kconfig.defconfig @@ -4,7 +4,7 @@ if SHIELD_WATERFOWL_LEFT config ZMK_KEYBOARD_NAME default "Waterfowl" -config ZMK_SPLIT_BLE_ROLE_CENTRAL +config ZMK_SPLIT_ROLE_CENTRAL default y endif @@ -29,12 +29,6 @@ endif # ZMK_DISPLAY if LVGL -config LVGL_HOR_RES_MAX - default 128 - -config LVGL_VER_RES_MAX - default 64 - config LVGL_VDB_SIZE default 64 diff --git a/app/boards/shields/waterfowl/waterfowl.dtsi b/app/boards/shields/waterfowl/waterfowl.dtsi index 33dc9bad..c21dcf07 100644 --- a/app/boards/shields/waterfowl/waterfowl.dtsi +++ b/app/boards/shields/waterfowl/waterfowl.dtsi @@ -8,6 +8,7 @@ / { chosen { + zephyr,display = &oled; zmk,kscan = &kscan0; zmk,matrix_transform = &default_transform; }; @@ -16,15 +17,15 @@ compatible = "zmk,matrix-transform"; columns = <16>; rows = <4>; -// | MX5 | MX4 | MX3 | MX2 | MX1 | | MX1 | MX2 | MX3 | MX4 | MX5 | -// | MX10 | MX9 | MX8 | MX7 | MX6 | | MX6 | MX7 | MX8 | MX9 | MX10 | -// | MX15 | MX14 | MX13 | MX12 | MX11 | | MX11 | MX12 | MX13 | MX14 | MX15 | -// | MX20 | MX19 | MX18 | MX17 | MX16 | | MX16 | MX17 | MX18 | MX19 | MX20 | +// | MX5 | MX4 | MX3 | MX2 | MX1 | | MX1 | MX2 | MX3 | MX4 | MX5 | +// | MX10 | MX9 | MX8 | MX7 | MX6 | | MX6 | MX7 | MX8 | MX9 | MX10 | +// | MX15 | MX14 | MX13 | MX12 | MX11 | | MX11 | MX12 | MX13 | MX14 | MX15 | +// | MX20 | MX19 | MX18 | MX17 | MX16 | | MX16 | MX17 | MX18 | MX19 | MX20 | 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(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(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(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(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) -RC(3,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,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) >; }; @@ -69,7 +70,7 @@ 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 &pro_micro_i2c { status = "okay"; - ssd1306@3c { + oled: ssd1306@3c { compatible = "solomon,ssd1306fb"; reg = <0x3c>; label = "DISPLAY"; diff --git a/app/boards/shields/waterfowl/waterfowl.keymap b/app/boards/shields/waterfowl/waterfowl.keymap index 48079551..9a1dabac 100644 --- a/app/boards/shields/waterfowl/waterfowl.keymap +++ b/app/boards/shields/waterfowl/waterfowl.keymap @@ -27,10 +27,10 @@ * `-----' `--------------------' `--------------------' `-----' */ bindings = < - &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P - &mt LGUI A &mt LALT S &mt LCTRL D &mt LSHFT F &kp G &kp H &mt LSHFT J &mt LCTRL K &mt LALT L &mt LGUI SEMI - &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH - &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P + &mt LGUI A &mt LALT S &mt LCTRL D &mt LSHFT F &kp G &kp H &mt LSHFT J &mt LCTRL K &mt LALT L &mt LGUI SEMI + &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 >; sensor-bindings = <&inc_dec_kp PAGE_UP PAGE_DOWN &inc_dec_kp TAB LS(TAB)>; @@ -51,10 +51,10 @@ * `-----' `--------------------' `--------------------' `-----' */ bindings = < - &trans &kp PG_UP &kp UP &kp PG_DN &trans &kp FSLH &kp N7 &kp N8 &kp N9 &kp MINUS - &kp HOME &kp LEFT &kp DOWN &kp RIGHT &kp END &kp EQUAL &kp N4 &kp N5 &kp N6 &kp PLUS - &trans &trans &kp INS &trans &trans &kp N0 &kp N1 &kp N2 &kp N3 &kp ASTERISK - &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + &trans &kp PG_UP &kp UP &kp PG_DN &trans &kp FSLH &kp N7 &kp N8 &kp N9 &kp MINUS + &kp HOME &kp LEFT &kp DOWN &kp RIGHT &kp END &kp EQUAL &kp N4 &kp N5 &kp N6 &kp PLUS + &trans &trans &kp INS &trans &trans &kp N0 &kp N1 &kp N2 &kp N3 &kp ASTERISK + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 >; sensor-bindings = <&inc_dec_kp PAGE_UP PAGE_DOWN &inc_dec_kp TAB LS(TAB)>; @@ -64,21 +64,21 @@ /* SYM * * ,----------------------------------. ,----------------------------------. - * | % | @ | [ | ] | \ | | ¦ | ¬ | ^ | | | + * | % | @ | [ | ] | \ | | | | ^ | | | * |------+------+------+------+------| |------+------+------+------+------| * | # | ! | ( | ) | | | | _ | ' | " | ~ | ` | * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| - * | $ | £ | { | } | & | | 2 | | 3 | | | | | | | + * | $ | | { | } | & | | 2 | | 3 | | | | | | | * `----------------------------------' `-----' `-----' `----------------------------------' * ,-----. ,--------------------. ,--------------------. ,-----. * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | * `-----' `--------------------' `--------------------' `-----' */ bindings = < - &kp PRCNT &kp LS(SQT) &kp LBKT &kp RBKT &kp NON_US_BSLH &kp RA(GRAVE) &kp LS(GRAVE) &kp CARET &trans &trans - &kp NON_US_HASH &kp EXCL &kp LPAR &kp RPAR &kp LS(NON_US_BSLH) &kp UNDER &kp APOS &kp LS(N2) &kp LS(NON_US_HASH) &kp GRAVE - &kp DLLR &kp LS(N3) &kp LBRC &kp RBRC &kp AMPS &trans &trans &trans &trans &trans - &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + &kp PRCNT &kp AT &kp LBKT &kp RBKT &kp NON_US_BSLH &trans &trans &kp CARET &trans &trans + &kp HASH &kp EXCL &kp LPAR &kp RPAR &kp PIPE &kp UNDER &kp APOS &kp DOUBLE_QUOTES &kp TILDE &kp GRAVE + &kp DLLR &trans &kp LBRC &kp RBRC &kp AMPS &trans &trans &trans &trans &trans + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 >; sensor-bindings = <&inc_dec_kp PAGE_UP PAGE_DOWN &inc_dec_kp TAB LS(TAB)>; @@ -99,10 +99,10 @@ * `-----' `--------------------' `--------------------' `-----' */ bindings = < - &trans &trans &bt BT_CLR &trans &reset &reset &kp F7 &kp F8 &kp F9 &kp F11 - &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &kp F4 &kp F5 &kp F6 &kp F12 - &trans &trans &trans &trans &trans &kp F10 &kp F1 &kp F2 &kp F3 &kp F13 - &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + &trans &trans &bt BT_CLR &trans &reset &reset &kp F7 &kp F8 &kp F9 &kp F11 + &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &kp F4 &kp F5 &kp F6 &kp F12 + &trans &trans &trans &trans &trans &kp F10 &kp F1 &kp F2 &kp F3 &kp F13 + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 >; sensor-bindings = <&inc_dec_kp PAGE_UP PAGE_DOWN &inc_dec_kp TAB LS(TAB)>; From 5662ab7fbec23a637197fb56717d9caea082bca4 Mon Sep 17 00:00:00 2001 From: laidbackhacker <70282382+JW2586@users.noreply.github.com> Date: Wed, 28 Dec 2022 12:24:07 +0000 Subject: [PATCH 13/13] Update waterfowl.keymap --- app/boards/shields/waterfowl/waterfowl.keymap | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/app/boards/shields/waterfowl/waterfowl.keymap b/app/boards/shields/waterfowl/waterfowl.keymap index 9a1dabac..af90db31 100644 --- a/app/boards/shields/waterfowl/waterfowl.keymap +++ b/app/boards/shields/waterfowl/waterfowl.keymap @@ -20,17 +20,17 @@ * |------+------+------+------+------| |------+------+------+------+------| * | A | S | D | F | G | | H | J | K | L | ; | * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| - * | Z | X | C | V | B | | 2 | | 3 | | N | M | , | . | / | + * | Z | X | C | V | B | |CAPS | |NUMLK| | N | M | , | . | / | * `----------------------------------' `-----' `-----' `----------------------------------' * ,-----. ,--------------------. ,--------------------. ,-----. * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | * `-----' `--------------------' `--------------------' `-----' */ bindings = < - &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P - &mt LGUI A &mt LALT S &mt LCTRL D &mt LSHFT F &kp G &kp H &mt LSHFT J &mt LCTRL K &mt LALT L &mt LGUI SEMI - &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH - &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P + &mt LGUI A &mt LALT S &mt LCTRL D &mt LSHFT F &kp G &kp H &mt LSHFT J &mt LCTRL K &mt LALT L &mt LGUI SEMI + &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp CLCK &kp KP_NLCK &kp ESC &kp BSPC < 2 RET &kp N4 >; sensor-bindings = <&inc_dec_kp PAGE_UP PAGE_DOWN &inc_dec_kp TAB LS(TAB)>; @@ -44,17 +44,17 @@ * |------+------+------+------+------| |------+------+------+------+------| * | Home | Left | Down | Right| End | | = | 4 | 5 | 6 | + | * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| - * | | | INS | | | | 2 | | 3 | | 0 | 1 | 2 | 3 | * | + * | | | INS | | | |CAPS | |NUMLK| | 0 | 1 | 2 | 3 | * | * `----------------------------------' `-----' `-----' `----------------------------------' * ,-----. ,--------------------. ,--------------------. ,-----. - * | 1 | | DEL | SPACE | MO(3)| | ESC | BS | ENTER | | 4 | + * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | * `-----' `--------------------' `--------------------' `-----' */ bindings = < &trans &kp PG_UP &kp UP &kp PG_DN &trans &kp FSLH &kp N7 &kp N8 &kp N9 &kp MINUS &kp HOME &kp LEFT &kp DOWN &kp RIGHT &kp END &kp EQUAL &kp N4 &kp N5 &kp N6 &kp PLUS &trans &trans &kp INS &trans &trans &kp N0 &kp N1 &kp N2 &kp N3 &kp ASTERISK - &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp CLCK &kp KP_NLCK &kp ESC &kp BSPC < 2 RET &kp N4 >; sensor-bindings = <&inc_dec_kp PAGE_UP PAGE_DOWN &inc_dec_kp TAB LS(TAB)>; @@ -68,17 +68,17 @@ * |------+------+------+------+------| |------+------+------+------+------| * | # | ! | ( | ) | | | | _ | ' | " | ~ | ` | * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| - * | $ | | { | } | & | | 2 | | 3 | | | | | | | + * | $ | | { | } | & | |CAPS | |NUMLK| | | | | | | * `----------------------------------' `-----' `-----' `----------------------------------' * ,-----. ,--------------------. ,--------------------. ,-----. * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | * `-----' `--------------------' `--------------------' `-----' */ bindings = < - &kp PRCNT &kp AT &kp LBKT &kp RBKT &kp NON_US_BSLH &trans &trans &kp CARET &trans &trans - &kp HASH &kp EXCL &kp LPAR &kp RPAR &kp PIPE &kp UNDER &kp APOS &kp DOUBLE_QUOTES &kp TILDE &kp GRAVE - &kp DLLR &trans &kp LBRC &kp RBRC &kp AMPS &trans &trans &trans &trans &trans - &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + &kp PRCNT &kp AT &kp LBKT &kp RBKT &kp NON_US_BSLH &trans &trans &kp CARET &trans &trans + &kp HASH &kp EXCL &kp LPAR &kp RPAR &kp PIPE &kp UNDER &kp APOS &kp DOUBLE_QUOTES &kp TILDE &kp GRAVE + &kp DLLR &trans &kp LBRC &kp RBRC &kp AMPS &trans &trans &trans &trans &trans + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp CLCK &kp KP_NLCK &kp ESC &kp BSPC < 2 RET &kp N4 >; sensor-bindings = <&inc_dec_kp PAGE_UP PAGE_DOWN &inc_dec_kp TAB LS(TAB)>; @@ -92,17 +92,17 @@ * |------+------+------+------+------| |------+------+------+------+------| * | BT0 | BT1 | BT2 | BT3 | BT4 | | | F4 | F5 | F6 | F12 | * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| - * | | | | | | | 2 | | 3 | | F10 | F1 | F2 | F3 | F13 | + * | | | | | | |CAPS | |NUMLK| | F10 | F1 | F2 | F3 | F13 | * `----------------------------------' `-----' `-----' `----------------------------------' * ,-----. ,--------------------. ,--------------------. ,-----. * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | * `-----' `--------------------' `--------------------' `-----' */ bindings = < - &trans &trans &bt BT_CLR &trans &reset &reset &kp F7 &kp F8 &kp F9 &kp F11 - &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &kp F4 &kp F5 &kp F6 &kp F12 - &trans &trans &trans &trans &trans &kp F10 &kp F1 &kp F2 &kp F3 &kp F13 - &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp N2 &kp N3 &kp ESC &kp BSPC < 2 RET &kp N4 + &trans &trans &bt BT_CLR &trans &reset &reset &kp F7 &kp F8 &kp F9 &kp F11 + &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &kp F4 &kp F5 &kp F6 &kp F12 + &trans &trans &trans &trans &trans &kp F10 &kp F1 &kp F2 &kp F3 &kp F13 + &kp N1 < 3 DEL < 1 SPACE &kp TAB &kp CLCK &kp KP_NLCK &kp ESC &kp BSPC < 2 RET &kp N4 >; sensor-bindings = <&inc_dec_kp PAGE_UP PAGE_DOWN &inc_dec_kp TAB LS(TAB)>;