diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..44bc362 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,9 @@ +# https://github.com/github/linguist/blob/master/docs/overrides.md + +* -text + +config/**/*.dts linguist-language=devicetree +config/**/*.dtsi linguist-language=devicetree +config/**/*.keymap linguist-language=devicetree +config/**/*defconfig linguist-language=c +config/**/Kconfig* linguist-language=c diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1641bbf..47ea325 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -46,11 +46,11 @@ jobs: - name: West Zephyr export run: west zephyr-export - name: West Build (left) - run: west build -s zmk/app -d build/left -b adv360_left -- -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" + run: west build -s zmk/app -d build/left -b adv360pro_left -- -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" - name: Adv360 Left Kconfig file run: grep -vE '(^#|^$)' build/left/zephyr/.config - name: West Build (right) - run: west build -s zmk/app -d build/right -b adv360_right -- -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" + run: west build -s zmk/app -d build/right -b adv360pro_right -- -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" - name: Adv360 Right Kconfig file run: grep -vE '(^#|^$)' build/right/zephyr/.config - name: Rename zmk.uf2 diff --git a/Makefile b/Makefile index fc9d5b4..0f6c610 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,6 @@ DOCKER := $(shell { command -v docker || command -v podman; }) TIMESTAMP := $(shell date -u +"%Y%m%d%H%M") COMMIT := $(shell git rev-parse --short HEAD 2>/dev/null) -detected_OS := $(shell uname) # Classify UNIX OS -ifeq ($(strip $(detected_OS)),Darwin) #We only care if it's OS X - SELINUX1 := - SELINUX2 := -else - SELINUX1 := :z - SELINUX2 := ,z -endif CONTAINER_IMAGE = zmk:latest DOCKER_FLAGS = --rm --pull -f Dockerfile -t ${CONTAINER_IMAGE} @@ -27,8 +19,8 @@ build: compile: $(DOCKER) container run --rm -it --name zmk \ - --mount type=bind,src=$(PWD)/firmware,dst=/app/firmware$(SELINUX1) \ - --mount type=bind,src=$(PWD)/config,dst=/app/config:ro$(SELINUX2) \ + --mount type=bind,src=$(PWD)/firmware,target=/app/firmware \ + --mount type=bind,src=$(PWD)/config,target=/app/config,readonly \ --env TIMESTAMP=$(TIMESTAMP) \ --env COMMIT=$(COMMIT) \ ${CONTAINER_IMAGE} diff --git a/bin/build.sh b/bin/build.sh index cd68988..940c5c6 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -4,14 +4,14 @@ set -eu PWD=$(pwd) TIMESTAMP="${TIMESTAMP:-$(date -u +"%Y%m%d%H%M")}" -COMMIT="${COMMIT:-$(echo xxxxxx)}" +COMMIT="${COMMIT:-devel}" # West Build (left) -west build -s zmk/app -d build/left -b adv360_left -- -DZMK_CONFIG="${PWD}/config" +west build -s zmk/app -d build/left -b adv360pro_left -- -Wno-dev -DZMK_CONFIG="${PWD}/config" # Adv360 Left Kconfig file grep -vE '(^#|^$)' build/left/zephyr/.config # West Build (right) -west build -s zmk/app -d build/right -b adv360_right -- -DZMK_CONFIG="${PWD}/config" +west build -s zmk/app -d build/right -b adv360pro_right -- -Wno-dev -DZMK_CONFIG="${PWD}/config" # Adv360 Right Kconfig file grep -vE '(^#|^$)' build/right/zephyr/.config # Rename zmk.uf2 diff --git a/config/adv360.keymap b/config/adv360.keymap deleted file mode 100644 index 84cd3ba..0000000 --- a/config/adv360.keymap +++ /dev/null @@ -1,82 +0,0 @@ -#include -#include -#include -#include -#include - -/ { - behaviors { - #include "macros.dtsi" - #include "version.dtsi" - #ifndef VERSION_MACRO - macro_ver: macro_ver { - compatible = "zmk,behavior-macro"; - label = "macro_version"; - #binding-cells = <0>; - bindings = <&kp RET>; - }; - #endif - - hm: homerow_mods { - compatible = "zmk,behavior-hold-tap"; - label = "HOMEROW_MODS"; - #binding-cells = <2>; - tapping-term-ms = <200>; - quick_tap_ms = <175>; - flavor = "tap-preferred"; - bindings = <&kp>, <&kp>; - }; - }; - - keymap { - compatible = "zmk,keymap"; - - default_layer { - bindings = < - &kp AMPERSAND &kp LEFT_BRACKET &kp LEFT_BRACE &kp RIGHT_BRACE &kp LEFT_PARENTHESIS &kp EQUAL &none &mo 3 &kp ASTRK &kp RIGHT_PARENTHESIS &kp PLUS &kp RIGHT_BRACKET &kp EXCLAMATION &kp HASH - &kp TAB &kp COLON &kp COMMA &kp DOT &kp P &kp Y &none &none &kp F &kp G &kp C &kp R &kp L &kp BSLH - &kp LCTRL &kp A &kp O &kp E &kp U &kp I &none &kp LCMD &kp LALT &kp RALT &kp RCMD &none &kp D &kp H &kp T &kp N &kp S &kp MINUS - &mo 4 &kp SINGLE_QUOTE &kp Q &kp J &kp K &kp X &kp F16 &kp F16 &kp B &kp M &kp W &kp V &kp Z &mo 4 - &kp LSHIFT &kp DOLLAR &kp TILDE &kp LEFT &kp DOWN &kp BSPC &kp LCTRL &kp F13 &kp ESCAPE &kp ENTER &kp SPACE &kp UP &kp RIGHT &kp SLASH &kp AT &kp RSHIFT - >; - }; - keypad { - bindings = < - &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &trans &mo 3 &kp N6 &kp KP_NUM &kp KP_EQUAL &kp KP_DIVIDE &kp KP_MULTIPLY &kp MINUS - &kp TAB &kp Q &kp W &kp E &kp R &kp T &none &none &kp Y &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_MINUS &kp BSLH - &kp ESC &kp A &kp S &kp D &kp F &kp G &none &kp LCTRL &kp LALT &kp LGUI &kp RCTRL &none &kp H &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &kp SQT - &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp HOME &kp PG_UP &kp N &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_ENTER &kp RSHFT - &mo 2 &kp GRAVE &kp CAPS &kp LEFT &kp RIGHT &kp BSPC &kp DEL &kp END &kp PG_DN &kp ENTER &kp KP_N0 &kp UP &kp DOWN &kp KP_DOT &kp RBKT &mo 2 - >; - }; - fn { - bindings = < - &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &tog 1 &mo 3 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 - &trans &trans &trans &trans &trans &trans &none &none &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &none &trans &trans &trans &trans &none &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - >; - }; - mod { - bindings = < - &none &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &none &trans &none &none &none &none &none &none - &none &none &none &none &none &none &bootloader &bootloader &none &none &none &none &none &none - &none &none &none &none &none &none &none &none &none &bt BT_CLR &none &rgb_ug RGB_MEFS_CMD 5 &none &none &none &none &none &none - &none &none &none &none ¯o_ver &none &none &none &none &none &none &none &none &none - &none &none &none &none &none &none &none &none &none &bl BL_TOG &rgb_ug RGB_TOG &bl BL_INC &bl BL_DEC &none &none &none - >; - }; - shift { - bindings = < - &kp PERCENT &kp NUMBER_7 &kp NUMBER_5 &kp NUMBER_3 &kp NUMBER_1 &kp NUMBER_9 &trans &trans &kp NUMBER_0 &kp NUMBER_2 &kp NUMBER_4 &kp NUMBER_6 &kp NUMBER_8 &kp GRAVE - &kp LS(TAB) &kp SEMICOLON &kp LESS_THAN &kp GREATER_THAN &kp LS(P) &kp LS(Y) &trans &trans &kp LS(F) &kp LS(G) &kp LS(C) &kp LS(R) &kp LS(L) &kp PIPE - &kp LS(LCTRL) &kp LS(A) &kp LS(O) &kp LS(E) &kp LS(U) &kp LS(I) &trans &kp LS(LCMD) &kp LS(LALT) &kp LS(RALT) &kp LS(RCMD) &trans &kp LS(D) &kp LS(H) &kp LS(T) &kp LS(N) &kp LS(S) &kp UNDERSCORE - &trans &kp DOUBLE_QUOTES &kp LS(Q) &kp LS(J) &kp LS(K) &kp LS(X) &trans &trans &kp LS(B) &kp LS(M) &kp LS(W) &kp LS(V) &kp LS(Z) &trans - &trans &kp DOLLAR &kp TILDE &kp LS(LEFT) &kp LS(DOWN) &kp LS(BSPC) &kp LS(LCTRL) &trans &kp LS(ESC) &kp LS(ENTER) &kp LS(SPACE) &kp LS(UP) &kp LS(RIGHT) &kp QUESTION &kp CARET &trans - >; - }; - }; -}; - -// vim:ft=devicetree diff --git a/config/adv360pro.keymap b/config/adv360pro.keymap new file mode 100644 index 0000000..c7a49a2 --- /dev/null +++ b/config/adv360pro.keymap @@ -0,0 +1,57 @@ +#include +#include +#include +#include +#include + +/ { + keymap { + compatible = "zmk,keymap"; + + default_layer { + bindings = < + &kp AMPERSAND &kp LEFT_BRACKET &kp LEFT_BRACE &kp RIGHT_BRACE &kp LEFT_PARENTHESIS &kp EQUAL &none &mo 3 &kp ASTRK &kp RIGHT_PARENTHESIS &kp PLUS &kp RIGHT_BRACKET &kp EXCLAMATION &kp HASH + &kp TAB &kp COLON &kp COMMA &kp DOT &kp P &kp Y &none &none &kp F &kp G &kp C &kp R &kp L &kp BSLH + &kp LCTRL &kp A &kp O &kp E &kp U &kp I &none &kp LCMD &kp LALT &kp RALT &kp RCMD &none &kp D &kp H &kp T &kp N &kp S &kp MINUS + &mo 4 &kp SINGLE_QUOTE &kp Q &kp J &kp K &kp X &kp F9 &kp F9 &kp B &kp M &kp W &kp V &kp Z &mo 4 + &kp LSHIFT &kp DOLLAR &kp TILDE &kp LEFT &kp DOWN &kp BSPC &kp LCTRL &kp F8 &kp ESCAPE &kp ENTER &kp SPACE &kp UP &kp RIGHT &kp SLASH &kp AT &kp RSHIFT + >; + }; + keypad { + bindings = < + &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &trans &mo 3 &kp N6 &kp KP_NUM &kp KP_EQUAL &kp KP_DIVIDE &kp KP_MULTIPLY &kp MINUS + &kp TAB &kp Q &kp W &kp E &kp R &kp T &none &none &kp Y &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_MINUS &kp BSLH + &kp ESC &kp A &kp S &kp D &kp F &kp G &none &kp LCTRL &kp LALT &kp LGUI &kp RCTRL &none &kp H &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &kp SQT + &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp HOME &kp PG_UP &kp N &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_ENTER &kp RSHFT + &mo 2 &kp GRAVE &kp CAPS &kp LEFT &kp RIGHT &kp BSPC &kp DEL &kp END &kp PG_DN &kp ENTER &kp KP_N0 &kp UP &kp DOWN &kp KP_DOT &kp RBKT &mo 2 + >; + }; + fn { + bindings = < + &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &tog 1 &mo 3 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 + &trans &trans &trans &trans &trans &trans &none &none &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans &none &trans &trans &trans &trans &none &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + >; + }; + mod { + bindings = < + &none &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &none &trans &none &none &none &none &none &none + &none &none &none &none &none &none &bootloader &bootloader &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &bt BT_CLR &none &none &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &bl BL_TOG &rgb_ug RGB_TOG &bl BL_INC &bl BL_DEC &none &none &none + >; + }; + shift { + bindings = < + &kp PERCENT &kp NUMBER_7 &kp NUMBER_5 &kp NUMBER_3 &kp NUMBER_1 &kp NUMBER_9 &trans &trans &kp NUMBER_0 &kp NUMBER_2 &kp NUMBER_4 &kp NUMBER_6 &kp NUMBER_8 &kp GRAVE + &kp LS(TAB) &kp SEMICOLON &kp LESS_THAN &kp GREATER_THAN &kp LS(P) &kp LS(Y) &trans &trans &kp LS(F) &kp LS(G) &kp LS(C) &kp LS(R) &kp LS(L) &kp PIPE + &kp LS(LCTRL) &kp LS(A) &kp LS(O) &kp LS(E) &kp LS(U) &kp LS(I) &trans &kp LS(LCMD) &kp LS(LALT) &kp LS(RALT) &kp LS(RCMD) &trans &kp LS(D) &kp LS(H) &kp LS(T) &kp LS(N) &kp LS(S) &kp UNDERSCORE + &trans &kp DOUBLE_QUOTES &kp LS(Q) &kp LS(J) &kp LS(K) &kp LS(X) &trans &trans &kp LS(B) &kp LS(M) &kp LS(W) &kp LS(V) &kp LS(Z) &trans + &trans &kp DOLLAR &kp TILDE &kp LS(LEFT) &kp LS(DOWN) &kp LS(BSPC) &kp LS(LCTRL) &trans &kp LS(ESC) &kp LS(ENTER) &kp LS(SPACE) &kp LS(UP) &kp LS(RIGHT) &kp QUESTION &kp CARET &trans + >; + }; + }; +}; diff --git a/config/adv360_left.keymap b/config/adv360pro_left.keymap similarity index 73% rename from config/adv360_left.keymap rename to config/adv360pro_left.keymap index bc222c6..41bd36b 100644 --- a/config/adv360_left.keymap +++ b/config/adv360pro_left.keymap @@ -5,4 +5,4 @@ * */ -#include "adv360.keymap" +#include "adv360pro.keymap" diff --git a/config/adv360_right.keymap b/config/adv360pro_right.keymap similarity index 73% rename from config/adv360_right.keymap rename to config/adv360pro_right.keymap index bc222c6..41bd36b 100644 --- a/config/adv360_right.keymap +++ b/config/adv360pro_right.keymap @@ -5,4 +5,4 @@ * */ -#include "adv360.keymap" +#include "adv360pro.keymap" diff --git a/config/boards/arm/adv360/Kconfig.board b/config/boards/arm/adv360/Kconfig.board deleted file mode 100644 index cf534c5..0000000 --- a/config/boards/arm/adv360/Kconfig.board +++ /dev/null @@ -1,12 +0,0 @@ -# -# Copyright (c) 2022 The ZMK Contributors -# SPDX-License-Identifier: MIT -# - -config BOARD_ADV360_LEFT - bool "adv360_left" - depends on SOC_NRF52840_QIAA - -config BOARD_ADV360_RIGHT - bool "adv360_right" - depends on SOC_NRF52840_QIAA diff --git a/config/boards/arm/adv360/Kconfig.defconfig b/config/boards/arm/adv360/Kconfig.defconfig deleted file mode 100644 index aa2fb87..0000000 --- a/config/boards/arm/adv360/Kconfig.defconfig +++ /dev/null @@ -1,62 +0,0 @@ -# -# Copyright (c) 2022 The ZMK Contributors -# SPDX-License-Identifier: MIT -# - -if BOARD_ADV360_LEFT - - config ZMK_KEYBOARD_NAME - default "Adv360 Pro" - - config ZMK_SPLIT_ROLE_CENTRAL - default y -endif # BOARD_ADV360_LEFT - -if BOARD_ADV360_RIGHT - - config ZMK_KEYBOARD_NAME - default "Adv360 Pro rt" - -endif # BOARD_ADV360_RIGHT - - -if BOARD_ADV360_LEFT || BOARD_ADV360_RIGHT - -config BOARD - default "adv360" - -config ZMK_SPLIT - default y - -config SPI - bool - default y - -config BT_CTLR - default BT - -config ZMK_BLE - default y - -config ZMK_USB - default y - -if USB - -config USB_NRFX - default y - -config USB_DEVICE_STACK - default y - -endif # USB - -config ZMK_BATTERY_VOLTAGE_DIVIDER - default y - -config SPI - default y - - - -endif # BOARD_ADV360_LEFT || BOARD_ADV360_RIGHT diff --git a/config/boards/arm/adv360/macros.dtsi b/config/boards/arm/adv360/macros.dtsi deleted file mode 100644 index 69f6c4f..0000000 --- a/config/boards/arm/adv360/macros.dtsi +++ /dev/null @@ -1,36 +0,0 @@ - macro_quotes: macro_quotes { - compatible = "zmk,behavior-macro"; - label = "macro_quotes"; - #binding-cells = <0>; - bindings = <&kp SQT>, <&kp SQT>, <&kp LEFT>; - }; - macro_dquotes: macro_dquotes { - compatible = "zmk,behavior-macro"; - label = "macro_dquotes"; - #binding-cells = <0>; - bindings = <&kp DQT>, <&kp DQT>, <&kp LEFT>; - }; - macro_braces: macro_braces { - compatible = "zmk,behavior-macro"; - label = "macro_braces"; - #binding-cells = <0>; - bindings = <&kp LBRC>, <&kp RBRC>, <&kp LEFT>; - }; - macro_parens: macro_parens { - compatible = "zmk,behavior-macro"; - label = "macro_parens"; - #binding-cells = <0>; - bindings = <&kp LPAR>, <&kp RPAR>, <&kp LEFT>; - }; - macro_brackets: macro_brackets { - compatible = "zmk,behavior-macro"; - label = "macro_brackets"; - #binding-cells = <0>; - bindings = <&kp LBKT>, <&kp RBKT>, <&kp LEFT>; - }; - macro_kinesis: macro_kinesis { - compatible = "zmk,behavior-macro"; - label = "macro_kinesis"; - #binding-cells = <0>; - bindings = <&kp K>, <&kp I>, <&kp N>, <&kp E>, <&kp S>, <&kp I>, <&kp S>; - }; diff --git a/config/boards/arm/adv360/Kconfig b/config/boards/arm/adv360pro/Kconfig similarity index 67% rename from config/boards/arm/adv360/Kconfig rename to config/boards/arm/adv360pro/Kconfig index db5273e..1840851 100644 --- a/config/boards/arm/adv360/Kconfig +++ b/config/boards/arm/adv360pro/Kconfig @@ -4,4 +4,4 @@ config BOARD_ENABLE_DCDC bool "Enable DCDC mode" select SOC_DCDC_NRF52X default y - depends on BOARD_ADV360_LEFT || BOARD_ADV360_RIGHT \ No newline at end of file + depends on BOARD_ADV360PRO_LEFT || BOARD_ADV360PRO_RIGHT diff --git a/config/boards/arm/adv360pro/Kconfig.board b/config/boards/arm/adv360pro/Kconfig.board new file mode 100644 index 0000000..51ebaec --- /dev/null +++ b/config/boards/arm/adv360pro/Kconfig.board @@ -0,0 +1,12 @@ +# +# Copyright (c) 2023 The ZMK Contributors +# SPDX-License-Identifier: MIT +# + +config BOARD_ADV360PRO_LEFT + bool "adv360pro_left" + depends on SOC_NRF52840_QIAA + +config BOARD_ADV360PRO_RIGHT + bool "adv360pro_right" + depends on SOC_NRF52840_QIAA diff --git a/config/boards/arm/adv360pro/Kconfig.defconfig b/config/boards/arm/adv360pro/Kconfig.defconfig new file mode 100644 index 0000000..0c4abac --- /dev/null +++ b/config/boards/arm/adv360pro/Kconfig.defconfig @@ -0,0 +1,55 @@ +# +# Copyright (c) 2023 The ZMK Contributors +# SPDX-License-Identifier: MIT +# + +if BOARD_ADV360PRO_LEFT + +config ZMK_KEYBOARD_NAME + default "Adv360 Pro" + +config ZMK_SPLIT_ROLE_CENTRAL + default y + +endif # BOARD_ADV360PRO_LEFT + +if BOARD_ADV360PRO_RIGHT + +config ZMK_KEYBOARD_NAME + default "Adv360 Pro rt" + +endif # BOARD_ADV360PRO_RIGHT + + +if BOARD_ADV360PRO_LEFT || BOARD_ADV360PRO_RIGHT + +config BOARD + default "adv360pro" + +config ZMK_SPLIT + default y + +config SPI + bool + default y + +config BT_CTLR + default BT + +if USB + +config USB_NRFX + default y + +config USB_DEVICE_STACK + default y + +endif # USB + +config ZMK_BATTERY_VOLTAGE_DIVIDER + default y + +config SPI + default y + +endif # BOARD_ADV360PRO_LEFT || BOARD_ADV360PRO_RIGHT diff --git a/config/boards/arm/adv360pro/README.md b/config/boards/arm/adv360pro/README.md new file mode 100755 index 0000000..89fa1da --- /dev/null +++ b/config/boards/arm/adv360pro/README.md @@ -0,0 +1,7 @@ +# Kinesis Advantage 360 Professional + +This board definition provides upstream support for the [Kinesis Advantage 360 Professional](https://kinesis-ergo.com/keyboards/advantage360/) + +Kinesis offer a specific [custom configuration](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/) for the 360 Pro that references [a customised version of ZMK](https://github.com/ReFil/zmk/tree/adv360-z3.2-2) with Advantage 360 Pro specific functionality and changes over base ZMK. The Kinesis fork is regularly updated to bring the latest updates and changes from base ZMK however will not always be completely up to date, some features such as new keycodes will not be immediately available on the 360 Pro after they are implemented in base ZMK. + +When using this board definition some of the more advanced features (the indicator RGB leds) will not work, and Kinesis cannot provide customer service for usage of base ZMK. Likewise the ZMK community cannot provide support for either the Kinesis keymap editor, nor any usage of the Kinesis custom fork. diff --git a/config/boards/arm/adv360/adv360_pinctrl.dtsi b/config/boards/arm/adv360pro/adv360pro-pinctrl.dtsi similarity index 99% rename from config/boards/arm/adv360/adv360_pinctrl.dtsi rename to config/boards/arm/adv360pro/adv360pro-pinctrl.dtsi index 7dafcdc..c135317 100644 --- a/config/boards/arm/adv360/adv360_pinctrl.dtsi +++ b/config/boards/arm/adv360pro/adv360pro-pinctrl.dtsi @@ -27,4 +27,4 @@ low-power-enable; }; }; -}; \ No newline at end of file +}; diff --git a/config/boards/arm/adv360/adv360.dtsi b/config/boards/arm/adv360pro/adv360pro.dtsi similarity index 81% rename from config/boards/arm/adv360/adv360.dtsi rename to config/boards/arm/adv360pro/adv360pro.dtsi index 44d90e7..a8c5ca1 100644 --- a/config/boards/arm/adv360/adv360.dtsi +++ b/config/boards/arm/adv360pro/adv360pro.dtsi @@ -1,6 +1,6 @@ /* * -* Copyright (c) 2021 Polarity Works +* Copyright (c) 2023 The ZMK Contributors * SPDX-License-Identifier: MIT * */ @@ -11,16 +11,17 @@ #include #include -#include "adv360_pinctrl.dtsi" +#include "adv360pro-pinctrl.dtsi" / { - model = "Adv360"; - compatible = "kinesis,adv360"; + model = "Adv360 Pro"; + compatible = "kinesis,adv360pro"; chosen { zephyr,code-partition = &code_partition; zephyr,sram = &sram0; zephyr,flash = &flash0; + zephyr,console = &cdc_acm_uart; zmk,kscan = &kscan0; zmk,backlight = &backlight; zmk,battery = &vbatt; @@ -34,7 +35,7 @@ rows = <5>; - map = < + map = < 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,14) RC(4,15) RC(4,16) RC(4,17) RC(4,18) RC(4,19) RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,13) RC(3,14) RC(3,15) RC(3,16) RC(3,17) RC(3,18) RC(3,19) RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,8) RC(2,9) RC(2,10) RC(2,11) RC(2,13) RC(2,14) RC(2,15) RC(2,16) RC(2,17) RC(2,18) RC(2,19) @@ -44,10 +45,10 @@ >; }; ext-power { - compatible = "zmk,ext-power-generic"; - label = "EXT_POWER"; - control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; - }; + compatible = "zmk,ext-power-generic"; + label = "EXT_POWER"; + control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; + }; vbatt: vbatt { compatible = "zmk,battery-voltage-divider"; @@ -57,11 +58,11 @@ }; backlight: pwmleds { - compatible = "pwm-leds"; - pwm_led_0 { - pwms = <&pwm0 0 10000 PWM_POLARITY_NORMAL>; - }; + compatible = "pwm-leds"; + pwm_led_0 { + pwms = <&pwm0 0 10000 PWM_POLARITY_NORMAL>; }; + }; }; @@ -90,9 +91,12 @@ &usbd { status = "okay"; + cdc_acm_uart: cdc_acm_uart { + compatible = "zephyr,cdc-acm-uart"; + label = "CDC_ACM_0"; + }; }; - &flash0 { /* * For more information, see: @@ -153,20 +157,8 @@ spi-one-frame = <0x70>; spi-zero-frame = <0x40>; - /* https://docs.zephyrproject.org/apidoc/latest/dt-bindings_2led_2led_8h.html */ - /* - LED_COLOR_ID_WHITE - LED_COLOR_ID_RED - LED_COLOR_ID_GREEN - LED_COLOR_ID_BLUE - LED_COLOR_ID_AMBER - LED_COLOR_ID_VIOLET - LED_COLOR_ID_YELLOW - LED_COLOR_ID_IR - LED_COLOR_ID_MAX - */ color-mapping = ; + LED_COLOR_ID_BLUE + LED_COLOR_ID_RED>; }; }; diff --git a/config/boards/arm/adv360pro/adv360pro.keymap b/config/boards/arm/adv360pro/adv360pro.keymap new file mode 100644 index 0000000..999781e --- /dev/null +++ b/config/boards/arm/adv360pro/adv360pro.keymap @@ -0,0 +1,48 @@ +#include +#include +#include +#include +#include + +/ { + keymap { + compatible = "zmk,keymap"; + + default_layer { + bindings = < + &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &tog 1 &mo 3 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS + &kp TAB &kp Q &kp W &kp E &kp R &kp T &none &none &kp Y &kp U &kp I &kp O &kp P &kp BSLH + &kp ESC &kp A &kp S &kp D &kp F &kp G &none &kp LCTRL &kp LALT &kp LGUI &kp RCTRL &none &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 HOME &kp PG_UP &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT + &mo 2 &kp GRAVE &kp CAPS &kp LEFT &kp RIGHT &kp BSPC &kp DEL &kp END &kp PG_DN &kp ENTER &kp SPACE &kp UP &kp DOWN &kp LBKT &kp RBKT &mo 2 + >; + }; + keypad { + bindings = < + &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &trans &mo 3 &kp N6 &kp KP_NUM &kp KP_EQUAL &kp KP_DIVIDE &kp KP_MULTIPLY &kp MINUS + &kp TAB &kp Q &kp W &kp E &kp R &kp T &none &none &kp Y &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_MINUS &kp BSLH + &kp ESC &kp A &kp S &kp D &kp F &kp G &none &kp LCTRL &kp LALT &kp LGUI &kp RCTRL &none &kp H &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &kp SQT + &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp HOME &kp PG_UP &kp N &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_ENTER &kp RSHFT + &mo 2 &kp GRAVE &kp CAPS &kp LEFT &kp RIGHT &kp BSPC &kp DEL &kp END &kp PG_DN &kp ENTER &kp KP_N0 &kp UP &kp DOWN &kp KP_DOT &kp RBKT &mo 2 + >; + }; + fn { + bindings = < + &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &tog 1 &mo 3 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 + &trans &trans &trans &trans &trans &trans &none &none &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans &none &trans &trans &trans &trans &none &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + >; + }; + mod { + bindings = < + &none &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &none &trans &none &none &none &none &none &none + &none &none &none &none &none &none &bootloader &bootloader &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &bt BT_CLR &none &none &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &bl BL_TOG &rgb_ug RGB_TOG &bl BL_INC &bl BL_DEC &none &none &none + >; + }; + }; +}; diff --git a/config/boards/arm/adv360/adv360.yaml b/config/boards/arm/adv360pro/adv360pro.yaml similarity index 90% rename from config/boards/arm/adv360/adv360.yaml rename to config/boards/arm/adv360pro/adv360pro.yaml index 4fa5d6c..2d555d4 100644 --- a/config/boards/arm/adv360/adv360.yaml +++ b/config/boards/arm/adv360pro/adv360pro.yaml @@ -1,4 +1,4 @@ -identifier: adv360 +identifier: adv360pro name: Advantage 360 Pro type: keyboard arch: arm diff --git a/config/boards/arm/adv360/adv360.zmk.yml b/config/boards/arm/adv360pro/adv360pro.zmk.yml similarity index 94% rename from config/boards/arm/adv360/adv360.zmk.yml rename to config/boards/arm/adv360pro/adv360pro.zmk.yml index d1a6021..7d4a4b4 100644 --- a/config/boards/arm/adv360/adv360.zmk.yml +++ b/config/boards/arm/adv360pro/adv360pro.zmk.yml @@ -1,5 +1,5 @@ file_format: "1" -id: adv360 +id: adv360pro name: Advantage 360 Pro type: board url: https://kinesis-ergo.com/keyboards/advantage360 diff --git a/config/boards/arm/adv360/adv360_left.dts b/config/boards/arm/adv360pro/adv360pro_left.dts similarity index 93% rename from config/boards/arm/adv360/adv360_left.dts rename to config/boards/arm/adv360pro/adv360pro_left.dts index 87813e8..6ef5f59 100644 --- a/config/boards/arm/adv360/adv360_left.dts +++ b/config/boards/arm/adv360pro/adv360pro_left.dts @@ -1,11 +1,11 @@ /* * -* Copyright (c) 2021 Polarity Works +* Copyright (c) 2023 The ZMK Contributors * SPDX-License-Identifier: MIT * */ -#include "adv360.dtsi" +#include "adv360pro.dtsi" /{ kscan0: kscan { diff --git a/config/boards/arm/adv360/adv360_left_defconfig b/config/boards/arm/adv360pro/adv360pro_left_defconfig similarity index 66% rename from config/boards/arm/adv360/adv360_left_defconfig rename to config/boards/arm/adv360pro/adv360pro_left_defconfig index 070a3ac..0d0408c 100644 --- a/config/boards/arm/adv360/adv360_left_defconfig +++ b/config/boards/arm/adv360pro/adv360pro_left_defconfig @@ -1,11 +1,11 @@ # -# Copyright (c) 2022 The ZMK Contributors +# Copyright (c) 2023 The ZMK Contributors # SPDX-License-Identifier: MIT # CONFIG_SOC_SERIES_NRF52X=y CONFIG_SOC_NRF52840_QIAA=y -CONFIG_BOARD_ADV360_LEFT=y +CONFIG_BOARD_ADV360PRO_LEFT=y # Enable MPU CONFIG_ARM_MPU=y @@ -39,6 +39,8 @@ CONFIG_ZMK_RGB_UNDERGLOW_ON_START=y CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=4 CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y +CONFIG_BT_BAS=n + #Backlighting configuration CONFIG_PWM=y CONFIG_LED_PWM=y @@ -46,29 +48,17 @@ CONFIG_ZMK_BACKLIGHT=y CONFIG_ZMK_BACKLIGHT_BRT_START=20 CONFIG_ZMK_BACKLIGHT_AUTO_OFF_IDLE=y -#BT configuration -CONFIG_BT_CTLR_TX_PWR_PLUS_8=y -CONFIG_BT_DIS_MANUF="Kinesis Corporation" -#CONFIG_BT_PRIVACY=n -#CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS=y -#CONFIG_BT_PERIPHERAL_PREF_TIMEOUT=600 -#CONFIG_BT_PERIPHERAL_PREF_MIN_INT=12 -#CONFIG_BT_PERIPHERAL_PREF_MAX_INT=24 -#CONFIG_BT_PERIPHERAL_PREF_LATENCY=30 -CONFIG_BT_BAS=n #Set this to y to enable BLE battery reporting - #Misc configuration -CONFIG_USB_DEVICE_VID=0x29EA -CONFIG_USB_DEVICE_PID=0x0362 -CONFIG_USB_DEVICE_MANUFACTURER="Kinesis Corporation" -CONFIG_ZMK_HID_REPORT_TYPE_NKRO=y -CONFIG_ZMK_HID_KEYBOARD_EXTENDED_REPORT=y # Set this to y for F13-F24 and intl keys with NKRO -CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y +CONFIG_BT_CTLR_TX_PWR_PLUS_8=y +CONFIG_ZMK_HID_REPORT_TYPE_NKRO=n +CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=n CONFIG_BUILD_OUTPUT_UF2=y +CONFIG_ZMK_USB=y +CONFIG_ZMK_BLE=y # avoid debouncing: https://zmk.dev/docs/features/debouncing CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=1 -CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=15 +CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=10 # https://github.com/wilser/EW-Nauticus-Adv360/blob/2c9834e14059/config/boards/arm/adv360/adv360_left_defconfig#L71-L75 # EW test 'idle' setting for hacking the small LED status lights timeout diff --git a/config/boards/arm/adv360/adv360_right.dts b/config/boards/arm/adv360pro/adv360pro_right.dts similarity index 91% rename from config/boards/arm/adv360/adv360_right.dts rename to config/boards/arm/adv360pro/adv360pro_right.dts index b7d9678..97d846f 100644 --- a/config/boards/arm/adv360/adv360_right.dts +++ b/config/boards/arm/adv360pro/adv360pro_right.dts @@ -1,16 +1,13 @@ /* * -* Copyright (c) 2021 Polarity Works +* Copyright (c) 2023 The ZMK Contributors * SPDX-License-Identifier: MIT * */ -#include "adv360.dtsi" +#include "adv360pro.dtsi" /{ - - - kscan0: kscan { compatible = "zmk,kscan-gpio-matrix"; @@ -39,5 +36,5 @@ }; &default_transform { - col-offset = <10>; - }; + col-offset = <10>; +}; diff --git a/config/boards/arm/adv360/adv360_right_defconfig b/config/boards/arm/adv360pro/adv360pro_right_defconfig similarity index 79% rename from config/boards/arm/adv360/adv360_right_defconfig rename to config/boards/arm/adv360pro/adv360pro_right_defconfig index 2b6d917..62f3437 100644 --- a/config/boards/arm/adv360/adv360_right_defconfig +++ b/config/boards/arm/adv360pro/adv360pro_right_defconfig @@ -1,11 +1,11 @@ # -# Copyright (c) 2022 The ZMK Contributors +# Copyright (c) 2023 The ZMK Contributors # SPDX-License-Identifier: MIT # CONFIG_SOC_SERIES_NRF52X=y CONFIG_SOC_NRF52840_QIAA=y -CONFIG_BOARD_ADV360_RIGHT=y +CONFIG_BOARD_ADV360PRO_RIGHT=y # Enable MPU CONFIG_ARM_MPU=y @@ -47,17 +47,15 @@ CONFIG_ZMK_BACKLIGHT_BRT_START=20 CONFIG_ZMK_BACKLIGHT_AUTO_OFF_IDLE=y #Misc configuration -CONFIG_USB_DEVICE_VID=0x29EA -CONFIG_USB_DEVICE_PID=0x0362 -CONFIG_USB_DEVICE_MANUFACTURER="Kinesis Corporation" CONFIG_BT_CTLR_TX_PWR_PLUS_8=y -CONFIG_ZMK_HID_REPORT_TYPE_NKRO=y -CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y +CONFIG_ZMK_HID_REPORT_TYPE_NKRO=n +CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=n CONFIG_BUILD_OUTPUT_UF2=y +CONFIG_ZMK_BLE=y # avoid debouncing: https://zmk.dev/docs/features/debouncing CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=1 -CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=15 +CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=10 # EW test 'idle' setting for hacking the small LED status lights timeout - see notes in LEFT file CONFIG_ZMK_IDLE_TIMEOUT=600000 diff --git a/config/boards/arm/adv360/board.cmake b/config/boards/arm/adv360pro/board.cmake similarity index 59% rename from config/boards/arm/adv360/board.cmake rename to config/boards/arm/adv360pro/board.cmake index 3465290..6d62a8a 100644 --- a/config/boards/arm/adv360/board.cmake +++ b/config/boards/arm/adv360pro/board.cmake @@ -1,9 +1,8 @@ # -# Copyright (c) 2022 The ZMK Contributors +# Copyright (c) 2023 The ZMK Contributors # SPDX-License-Identifier: MIT # board_runner_args(nrfjprog "--nrf-family=NRF52" "--softreset") include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake) -#include(${ZEPHYR_BASE}/boards/common/blackmagicprobe.board.cmake) diff --git a/config/macros.dtsi b/config/macros.dtsi index 953577a..69f6c4f 100644 --- a/config/macros.dtsi +++ b/config/macros.dtsi @@ -32,5 +32,5 @@ compatible = "zmk,behavior-macro"; label = "macro_kinesis"; #binding-cells = <0>; - bindings = <&kp LS(K)>, <&kp I>, <&kp N>, <&kp E>, <&kp S>, <&kp I>, <&kp S>; + bindings = <&kp K>, <&kp I>, <&kp N>, <&kp E>, <&kp S>, <&kp I>, <&kp S>; }; diff --git a/config/version.dtsi b/config/version.dtsi index af11aad..a4fb9c2 100644 --- a/config/version.dtsi +++ b/config/version.dtsi @@ -3,5 +3,5 @@ macro_ver: macro_ver { compatible = "zmk,behavior-macro"; label = "macro_ver"; #binding-cells = <0>; -bindings = <&kp N2>, <&kp N0>, <&kp N2>, <&kp N3>, <&kp N1>, <&kp N1>, <&kp N2>, <&kp N2>, <&kp MINUS>, <&kp M>, <&kp A>, <&kp I>, <&kp N>, <&kp MINUS>, <&kp N7>, <&kp N9>, <&kp N4>, <&kp N3>, <&kp N6>, <&kp N8>, <&kp N1>, <&kp RET>; +bindings = <&kp N2>, <&kp N0>, <&kp N2>, <&kp N3>, <&kp N1>, <&kp N2>, <&kp N0>, <&kp N1>, <&kp MINUS>, <&kp A>, <&kp D>, <&kp V>, <&kp N3>, <&kp MINUS>, <&kp N0>, <&kp N5>, <&kp N2>, <&kp N4>, <&kp D>, <&kp E>, <&kp N3>, <&kp RET>; }; diff --git a/config/west.yml b/config/west.yml index ceaefbf..4558e2b 100644 --- a/config/west.yml +++ b/config/west.yml @@ -4,10 +4,12 @@ manifest: url-base: https://github.com/zmkfirmware - name: refil url-base: https://github.com/refil + - name: zchee + url-base: https://github.com/zchee projects: - name: zmk remote: refil - revision: adv360-z3.2-2 + revision: adv360-z3.2-beta import: app/west.yml self: path: config