From 1d14ffdb3007ee906a59e0392d4ae78f797d8e77 Mon Sep 17 00:00:00 2001 From: Josh French Date: Tue, 11 Oct 2022 11:13:38 -0400 Subject: [PATCH 01/57] Use makefile for a reusable docker image --- Dockerfile | 4 +--- Makefile | 21 +++++++++++++++++++++ bin/build.sh | 4 ++-- 3 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 Makefile diff --git a/Dockerfile b/Dockerfile index dd98a29ef2..cf25a84fb3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,4 @@ -FROM zmkfirmware/zmk-build-arm:2.4 - -RUN mkdir -p /app/firmware +FROM zmkfirmware/zmk-build-arm:stable WORKDIR /app diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000..7849774e53 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +.PHONY: clean timestamp setup + +all: setup build + +build: timestamp firmware/$$(TIMESTAMP)-left.uf2 firmware/$$(TIMESTAMP)-right.uf2 + +clean: + rm ./firmware/*.uf2 + +firmware/%-left.uf2 firmware/%-right.uf2: config/adv360.keymap timestamp + docker run --rm -it --name zmk \ + -v $(PWD)/firmware:/app/firmware \ + -v $(PWD)/config:/app/config:ro \ + -e TIMESTAMP=$(TIMESTAMP) \ + zmk + +setup: + docker build --tag zmk . + +timestamp: + $(eval TIMESTAMP:=$(shell date -u +"%Y%m%d%H%M%S")) diff --git a/bin/build.sh b/bin/build.sh index 2f6c8cde64..e783844840 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -1,9 +1,9 @@ #!/usr/bin/env bash -set -e +set -eu PWD=$(pwd) -TIMESTAMP=$(date -u +"%Y%m%d%H%M%S") +TIMESTAMP="${TIMESTAMP:-$(date -u +"%Y%m%d%H%M%S")}" # West Build (left) west build -s zmk/app -d build/left -b adv360_left -- -DZMK_CONFIG="${PWD}/config" From b3e58a53b89c014f61c0afbcb72c37ed5f89771e Mon Sep 17 00:00:00 2001 From: Josh French Date: Tue, 11 Oct 2022 11:24:22 -0400 Subject: [PATCH 02/57] Update docs --- README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4a916f810d..c2878b5230 100644 --- a/README.md +++ b/README.md @@ -14,14 +14,16 @@ ## To build Firmware locally using Docker -### Setup +### First run -1. Execute `setup.sh`. +1. Execute `make all`. +2. Check the `firmware` directory for the latest firmware build. -### Build firmware +### Subsequent runs -1. Execute `run.sh` -2. Check the `firmware` directory for the latest firmware build. +If the only file you have changed is `config/adv360.keymap`, execute `make build` and check the `firmware` directory for the latest firmware build. + +If you have changed other files in the `config` directory (such as `config/west.yml`) you will need to execute `make all` to rebuild the Docker image as well as the firmware. ### Flash firmware From 1660f0c75eab5d286d4daa07cdf67953eda2928a Mon Sep 17 00:00:00 2001 From: Josh French Date: Tue, 11 Oct 2022 11:26:42 -0400 Subject: [PATCH 03/57] this is being handled elsewhere --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index cf25a84fb3..7793f6f07d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM zmkfirmware/zmk-build-arm:stable +FROM zmkfirmware/zmk-build-arm:2.4 WORKDIR /app From 3b0bfd72febab6990f713c9db26e82f8be956890 Mon Sep 17 00:00:00 2001 From: Josh French Date: Tue, 11 Oct 2022 11:32:30 -0400 Subject: [PATCH 04/57] Remove old scripts --- run.sh | 8 -------- setup.sh | 5 ----- 2 files changed, 13 deletions(-) delete mode 100755 run.sh delete mode 100755 setup.sh diff --git a/run.sh b/run.sh deleted file mode 100755 index 4fc5cacccd..0000000000 --- a/run.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -e - -docker run -it --name zmk zmk -docker cp zmk:/app/firmware/ ./ -docker stop zmk -docker rm zmk diff --git a/setup.sh b/setup.sh deleted file mode 100755 index 96a478e774..0000000000 --- a/setup.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -set -e - -docker build --tag zmk . From 90c3c41b9dfa44c6e9d99f277bf6c44ce8de3699 Mon Sep 17 00:00:00 2001 From: Josh French Date: Tue, 11 Oct 2022 12:15:49 -0400 Subject: [PATCH 05/57] We only need config/west.yml at this stage --- Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7793f6f07d..388cdc5021 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,6 @@ RUN west update # West Zephyr export RUN west zephyr-export -COPY config config COPY bin/build.sh ./ CMD ["./build.sh"] From 4f09557004c1ef073d5b816432814293bf130f14 Mon Sep 17 00:00:00 2001 From: Josh French Date: Wed, 12 Oct 2022 16:08:31 -0400 Subject: [PATCH 06/57] Specify setup prereqs Co-authored-by: Ed Flanagan --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 7849774e53..0e6afcd9e7 100644 --- a/Makefile +++ b/Makefile @@ -14,8 +14,8 @@ firmware/%-left.uf2 firmware/%-right.uf2: config/adv360.keymap timestamp -e TIMESTAMP=$(TIMESTAMP) \ zmk -setup: - docker build --tag zmk . +setup: Dockerfile bin/build.sh config/west.yml + docker build --tag zmk --file Dockerfile . timestamp: $(eval TIMESTAMP:=$(shell date -u +"%Y%m%d%H%M%S")) From 7e9cb93cf24f91be6cf2d921fe1ead4c7def9bf4 Mon Sep 17 00:00:00 2001 From: Josh French Date: Thu, 13 Oct 2022 10:22:16 -0400 Subject: [PATCH 07/57] timestamp doesn't need to be a target --- Makefile | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 0e6afcd9e7..ea54d90d64 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,15 @@ -.PHONY: clean timestamp setup +TIMESTAMP := $(shell date -u +"%Y%m%d%H%M%S") + +.PHONY: clean setup all: setup build -build: timestamp firmware/$$(TIMESTAMP)-left.uf2 firmware/$$(TIMESTAMP)-right.uf2 +build: firmware/$$(TIMESTAMP)-left.uf2 firmware/$$(TIMESTAMP)-right.uf2 clean: rm ./firmware/*.uf2 -firmware/%-left.uf2 firmware/%-right.uf2: config/adv360.keymap timestamp +firmware/%-left.uf2 firmware/%-right.uf2: config/adv360.keymap docker run --rm -it --name zmk \ -v $(PWD)/firmware:/app/firmware \ -v $(PWD)/config:/app/config:ro \ @@ -16,6 +18,3 @@ firmware/%-left.uf2 firmware/%-right.uf2: config/adv360.keymap timestamp setup: Dockerfile bin/build.sh config/west.yml docker build --tag zmk --file Dockerfile . - -timestamp: - $(eval TIMESTAMP:=$(shell date -u +"%Y%m%d%H%M%S")) From 019aa3feef609af9e1f29eaeeb2d7350a6571b6f Mon Sep 17 00:00:00 2001 From: Douglas Camata <159076+douglascamata@users.noreply.github.com> Date: Fri, 21 Oct 2022 14:12:52 +0200 Subject: [PATCH 08/57] Upgrade cache action to avoid deprecation The warnings are: * `Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: actions/checkout, actions/cache, actions/upload-artifact, actions/cache, actions/checkout` * `The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/` * `The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/` --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7093b49eb3..bfe0f40a09 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ jobs: - name: Checkout uses: actions/checkout@v2 - name: Cache west modules - uses: actions/cache@v2 + uses: actions/cache@v3 env: cache-name: cache-zephyr-modules with: From 75f8abf03d20d27e3fb43cb9d6ef71fd31a5487b Mon Sep 17 00:00:00 2001 From: Douglas Camata <159076+douglascamata@users.noreply.github.com> Date: Fri, 21 Oct 2022 14:22:33 +0200 Subject: [PATCH 09/57] Upgrade checkout action to avoid deprecation * `Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: actions/checkout, actions/cache, actions/upload-artifact, actions/cache, actions/checkout` Signed-off-by: Douglas Camata <159076+douglascamata@users.noreply.github.com> --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bfe0f40a09..a629c35dd5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ jobs: name: Build steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Cache west modules uses: actions/cache@v3 env: From 241a0adc8cd5a854ef997d8940b3d18eadc386bf Mon Sep 17 00:00:00 2001 From: Douglas Camata <159076+douglascamata@users.noreply.github.com> Date: Fri, 21 Oct 2022 14:22:54 +0200 Subject: [PATCH 10/57] Upgrade upload-artifact action to avoid deprecation Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: actions/checkout, actions/cache, actions/upload-artifact, actions/cache, actions/checkout Signed-off-by: Douglas Camata <159076+douglascamata@users.noreply.github.com> --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a629c35dd5..2ef945117c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,7 +44,7 @@ jobs: - name: Rename zmk.uf2 run: cp build/left/zephyr/zmk.uf2 left.uf2 && cp build/right/zephyr/zmk.uf2 right.uf2 - name: Archive (Adv360) - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: firmware path: | From a24577fb445f6da3a0f83dbcd50a57e0c1918616 Mon Sep 17 00:00:00 2001 From: Clayton Craft Date: Mon, 24 Oct 2022 10:16:34 -0700 Subject: [PATCH 11/57] dockerfile: prefix image name with docker.io This makes sure that all versions of podman can resolve the image successfully --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index e61dc540ef..bbb8e9ff01 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM zmkfirmware/zmk-build-arm:stable +FROM docker.io/zmkfirmware/zmk-build-arm:stable WORKDIR /app From 6ce32f01d4279b3a0e71bef444d741c12575ba80 Mon Sep 17 00:00:00 2001 From: Clayton Craft Date: Sun, 23 Oct 2022 21:32:10 -0700 Subject: [PATCH 12/57] Use podman, fall back to docker if unavailable --- Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index ea54d90d64..61c2131417 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ TIMESTAMP := $(shell date -u +"%Y%m%d%H%M%S") +DOCKER := $(shell { command -v podman || command -v docker; }) .PHONY: clean setup @@ -10,11 +11,11 @@ clean: rm ./firmware/*.uf2 firmware/%-left.uf2 firmware/%-right.uf2: config/adv360.keymap - docker run --rm -it --name zmk \ + $(DOCKER) run --rm -it --name zmk \ -v $(PWD)/firmware:/app/firmware \ -v $(PWD)/config:/app/config:ro \ -e TIMESTAMP=$(TIMESTAMP) \ zmk setup: Dockerfile bin/build.sh config/west.yml - docker build --tag zmk --file Dockerfile . + $(DOCKER) build --tag zmk --file Dockerfile . From 78df0ff393345a1d8157d34febe030315102aa61 Mon Sep 17 00:00:00 2001 From: Clayton Craft Date: Sun, 23 Oct 2022 21:31:23 -0700 Subject: [PATCH 13/57] makefile: ignore errors during clean The file(s) being removed may not exist, but make shouldn't fail because of it: $ make clean rm ./firmware/*.uf2 rm: cannot remove './firmware/*.uf2': No such file or directory make: *** [Makefile:10: clean] Error 1 $ echo $? 2 this also removes leading ./ from path in clean, and assumes that `make clean` is being run from the top level repo dir --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index ea54d90d64..7cbb562819 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ all: setup build build: firmware/$$(TIMESTAMP)-left.uf2 firmware/$$(TIMESTAMP)-right.uf2 clean: - rm ./firmware/*.uf2 + rm -f firmware/*.uf2 firmware/%-left.uf2 firmware/%-right.uf2: config/adv360.keymap docker run --rm -it --name zmk \ From 45ea621702839246bc28250174dc8e0b551cbc96 Mon Sep 17 00:00:00 2001 From: Clayton Craft Date: Tue, 25 Oct 2022 11:39:51 -0700 Subject: [PATCH 14/57] readme: include note about requiring podman or docker for local build --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c2878b5230..258694ef11 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,12 @@ 1. Push a commit to trigger the build. 2. Download the artifact. -## To build Firmware locally using Docker +## To build Firmware locally using a container ### First run +Note: Either Podman or Docker is required, Podman is preferred if both are present. + 1. Execute `make all`. 2. Check the `firmware` directory for the latest firmware build. From b3753fd71102a32976cc7692d83a37ad8d111de1 Mon Sep 17 00:00:00 2001 From: Allan Wind Date: Tue, 1 Nov 2022 00:19:43 -0400 Subject: [PATCH 15/57] Makefile: simplify; clean removes images The target all was previous running setup followed by build. As both setup and build are phony targets they run in sequence and because the firmware contain the timestamp they always run (dependencies doesn't do anything). all now does exactly what it says on the tin without introducing non-standard targets. clean now removes the images that created during build which is what you expect from that target. See: https://www.gnu.org/software/make/manual/html_node/Standard-Targets.html#Standard-Targets --- Makefile | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 35c0006580..bbccd52762 100644 --- a/Makefile +++ b/Makefile @@ -1,21 +1,16 @@ -TIMESTAMP := $(shell date -u +"%Y%m%d%H%M%S") DOCKER := $(shell { command -v podman || command -v docker; }) +TIMESTAMP := $(shell date -u +"%Y%m%d%H%M%S") -.PHONY: clean setup - -all: setup build - -build: firmware/$$(TIMESTAMP)-left.uf2 firmware/$$(TIMESTAMP)-right.uf2 +.PHONY: all clean -clean: - rm -f firmware/*.uf2 - -firmware/%-left.uf2 firmware/%-right.uf2: config/adv360.keymap +all: + $(DOCKER) build --tag zmk --file Dockerfile . $(DOCKER) run --rm -it --name zmk \ -v $(PWD)/firmware:/app/firmware \ -v $(PWD)/config:/app/config:ro \ -e TIMESTAMP=$(TIMESTAMP) \ zmk -setup: Dockerfile bin/build.sh config/west.yml - $(DOCKER) build --tag zmk --file Dockerfile . +clean: + rm -f firmware/*.uf2 + $(DOCKER) image rm zmk docker.io/zmkfirmware/zmk-build-arm:stable From f8756e33e2ef74428c6806b669add622e83e0c44 Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Wed, 16 Nov 2022 09:30:44 -0600 Subject: [PATCH 16/57] Makefile: allow volumes to work on selinux Volumes need the "z" option to work on selinux enabled systems. This has no affect on systems that are not selinux enabled. --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index bbccd52762..abe141bd0e 100644 --- a/Makefile +++ b/Makefile @@ -6,8 +6,8 @@ TIMESTAMP := $(shell date -u +"%Y%m%d%H%M%S") all: $(DOCKER) build --tag zmk --file Dockerfile . $(DOCKER) run --rm -it --name zmk \ - -v $(PWD)/firmware:/app/firmware \ - -v $(PWD)/config:/app/config:ro \ + -v $(PWD)/firmware:/app/firmware:z \ + -v $(PWD)/config:/app/config:ro,z \ -e TIMESTAMP=$(TIMESTAMP) \ zmk From 54abe0b531302d79cf45bf83fceab1b909fb89a0 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Wed, 16 Nov 2022 10:57:40 +0000 Subject: [PATCH 17/57] Update README.md --- README.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 258694ef11..4265e2d766 100644 --- a/README.md +++ b/README.md @@ -14,18 +14,16 @@ ## To build Firmware locally using a container -### First run - Note: Either Podman or Docker is required, Podman is preferred if both are present. +If compiling on Windows use WSL2 and docker [Docker Setup Guide](https://docs.docker.com/desktop/windows/wsl/). -1. Execute `make all`. +1. Execute `make`. 2. Check the `firmware` directory for the latest firmware build. +3. Follow the programming instruction on page 8 of the [Quick Start Guide](https://kinesis-ergo.com/wp-content/uploads/Advantage360-Professional-QSG-v8-25-22.pdf) to flash the firmware. -### Subsequent runs - -If the only file you have changed is `config/adv360.keymap`, execute `make build` and check the `firmware` directory for the latest firmware build. +### Cleanup -If you have changed other files in the `config` directory (such as `config/west.yml`) you will need to execute `make all` to rebuild the Docker image as well as the firmware. +The built docker container and compiled firmware files can be deleted with `make clean`. ### Flash firmware From 49fb5453108900e7cf5cc20ee7d65a08d1d58995 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Fri, 18 Nov 2022 22:31:12 +0000 Subject: [PATCH 18/57] Readme Cleanup --- README.md | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 4265e2d766..f284f9e87c 100644 --- a/README.md +++ b/README.md @@ -12,21 +12,35 @@ 1. Push a commit to trigger the build. 2. Download the artifact. -## To build Firmware locally using a container +## Local building in a container -Note: Either Podman or Docker is required, Podman is preferred if both are present. -If compiling on Windows use WSL2 and docker [Docker Setup Guide](https://docs.docker.com/desktop/windows/wsl/). +### Setup + +#### Software + +Either Podman or Docker is required, Podman is preferred if both are present.\ +Make is also required + +#### Windows specific +If compiling on Windows use WSL2 and Docker [Docker Setup Guide](https://docs.docker.com/desktop/windows/wsl/).\ +Install make using `sudo apt-get install make`.\ +The repository can be cloned directly into the WSL2 instance or accessed through the C: mount point WSL provides by default (`/mnt/c/path-to-repo`). + +### Build firmware 1. Execute `make`. 2. Check the `firmware` directory for the latest firmware build. -3. Follow the programming instruction on page 8 of the [Quick Start Guide](https://kinesis-ergo.com/wp-content/uploads/Advantage360-Professional-QSG-v8-25-22.pdf) to flash the firmware. ### Cleanup The built docker container and compiled firmware files can be deleted with `make clean`. -### Flash firmware +## Flashing firmware + +Follow the programming instruction on page 8 of the [Quick Start Guide](https://kinesis-ergo.com/wp-content/uploads/Advantage360-Professional-QSG-v8-25-22.pdf) to flash the firmware. + +## Other support -Resources can be found on Kinesis.com +Further support resources can be found on Kinesis.com https://kinesis-ergo.com/support/kb360pro/#firmware-updates https://kinesis-ergo.com/support/kb360pro/#manuals From 0e1969630189cee469c92e39aa125e77dbba67a0 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Thu, 12 Jan 2023 15:59:01 +0000 Subject: [PATCH 19/57] Disable SELinux support on OS X --- Makefile | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index abe141bd0e..e1524f6d11 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,21 @@ DOCKER := $(shell { command -v podman || command -v docker; }) TIMESTAMP := $(shell date -u +"%Y%m%d%H%M%S") +detected_OS := $(shell uname) # Classify UNIX OS +ifeq ($(detected_OS),Darwin) #We only care if it's OS X +SELINUX1 := +SELINUX2 := +else +SELINUX1 := :z +SELINUX2 := ,z +endif .PHONY: all clean all: $(DOCKER) build --tag zmk --file Dockerfile . $(DOCKER) run --rm -it --name zmk \ - -v $(PWD)/firmware:/app/firmware:z \ - -v $(PWD)/config:/app/config:ro,z \ + -v $(PWD)/firmware:/app/firmware$(SELINUX1) \ + -v $(PWD)/config:/app/config:ro$(SELINUX2) \ -e TIMESTAMP=$(TIMESTAMP) \ zmk From d1bbf83736a5191ce5e1104614a29034c9d34829 Mon Sep 17 00:00:00 2001 From: Nick Coutsos Date: Thu, 12 Jan 2023 17:52:57 -0500 Subject: [PATCH 20/57] Correct column alignment for generated keymaps - Updated the layout definition to at least make sure the right half mirrors the left. - Updated some of the labels to match the default keymap --- config/info.json | 56 ++++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/config/info.json b/config/info.json index 5b0841d6e3..2d140e18b1 100644 --- a/config/info.json +++ b/config/info.json @@ -9,13 +9,13 @@ { "label": "4", "row": 0, "col": 4, "x": 4.25, "y": 0 }, { "label": "5", "row": 0, "col": 5, "x": 5.25, "y": 0 }, { "label": "mod1", "row": 0, "col": 6, "x": 6.25, "y": 0 }, - { "label": "mod2", "row": 0, "col": 7, "x": 10.75, "y": 0 }, - { "label": "6", "row": 0, "col": 8, "x": 11.75, "y": 0 }, - { "label": "7", "row": 0, "col": 9, "x": 12.75, "y": 0 }, - { "label": "8", "row": 0, "col": 10, "x": 13.75, "y": 0 }, - { "label": "9", "row": 0, "col": 11, "x": 14.75, "y": 0 }, - { "label": "0", "row": 0, "col": 12, "x": 15.75, "y": 0.25 }, - { "label": "-", "row": 0, "col": 13, "x": 16.75, "y": 0.25, "w": 1.25 }, + { "label": "mod2", "row": 0, "col": 13, "x": 10.75, "y": 0 }, + { "label": "6", "row": 0, "col": 14, "x": 11.75, "y": 0 }, + { "label": "7", "row": 0, "col": 15, "x": 12.75, "y": 0 }, + { "label": "8", "row": 0, "col": 16, "x": 13.75, "y": 0 }, + { "label": "9", "row": 0, "col": 17, "x": 14.75, "y": 0 }, + { "label": "0", "row": 0, "col": 18, "x": 15.75, "y": 0.25 }, + { "label": "-", "row": 0, "col": 19, "x": 16.75, "y": 0.25, "w": 1.25 }, { "label": "Tab", "row": 1, "col": 0, "x": 0, "y": 1.25, "w": 1.25 }, { "label": "Q", "row": 1, "col": 1, "x": 1.25, "y": 1.25 }, @@ -24,13 +24,13 @@ { "label": "R", "row": 1, "col": 4, "x": 4.25, "y": 1 }, { "label": "T", "row": 1, "col": 5, "x": 5.25, "y": 1 }, { "label": "mod3", "row": 1, "col": 6, "x": 6.25, "y": 1 }, - { "label": "mod4", "row": 1, "col": 7, "x": 10.75, "y": 1 }, - { "label": "Y", "row": 1, "col": 8, "x": 11.75, "y": 1 }, - { "label": "U", "row": 1, "col": 9, "x": 12.75, "y": 1 }, - { "label": "I", "row": 1, "col": 10, "x": 13.75, "y": 1 }, - { "label": "O", "row": 1, "col": 11, "x": 14.75, "y": 1 }, - { "label": "P", "row": 1, "col": 12, "x": 15.75, "y": 1.25 }, - { "label": "\\", "row": 1, "col": 13, "x": 16.75, "y": 1.25, "w": 1.25 }, + { "label": "mod4", "row": 1, "col": 13, "x": 10.75, "y": 1 }, + { "label": "Y", "row": 1, "col": 14, "x": 11.75, "y": 1 }, + { "label": "U", "row": 1, "col": 15, "x": 12.75, "y": 1 }, + { "label": "I", "row": 1, "col": 16, "x": 13.75, "y": 1 }, + { "label": "O", "row": 1, "col": 17, "x": 14.75, "y": 1 }, + { "label": "P", "row": 1, "col": 18, "x": 15.75, "y": 1.25 }, + { "label": "\\", "row": 1, "col": 19, "x": 16.75, "y": 1.25, "w": 1.25 }, { "label": "Caps", "row": 2, "col": 0, "x": 0, "y": 2.25, "w":1.25 }, @@ -75,20 +75,20 @@ { "label": "mod7", "row": 4, "col": 0, "x": 0, "y": 4.25, "w":1.25}, { "label": "`", "row": 4, "col": 1, "x": 1.25, "y": 4.25 }, - { "label": "\\", "row": 4, "col": 2, "x": 2.25, "y": 4 }, - { "label": "V", "row": 4, "col": 3, "x": 3.25, "y": 4 }, - { "label": "B", "row": 4, "col": 4, "x": 4.25, "y": 4 }, - { "label": "Bksp", "row": 4, "col": 5, "x": 5.75, "y": 5, "r":15, "rx":5.25 ,"ry":4, "h":2}, - { "label": "Del", "row": 4, "col": 6, "x": 6.75, "y": 5, "r":15, "rx":5.25 ,"ry":4, "h":2}, - { "label": "End", "row": 4, "col": 7, "x": 7.75, "y": 6, "r":15, "rx":5.25 ,"ry":4}, - { "label": "PgDn", "row": 4, "col": 8, "x": 9.25, "y": 6, "r":-15, "rx":12.75 ,"ry":4}, - { "label": "Enter", "row": 4, "col": 9, "x": 10.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4, "h":2}, - { "label": "Space", "row": 4, "col": 10, "x": 11.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4, "h":2}, - { "label": "Up", "row": 4, "col": 11, "x": 12.75, "y": 4 }, - { "label": "Down", "row": 4, "col": 12, "x": 13.75, "y": 4 }, - { "label": ",", "row": 4, "col": 13, "x": 14.75, "y": 4 }, - { "label": ".", "row": 4, "col": 14, "x": 15.75, "y": 4.25 }, - { "label": "mod8", "row": 4, "col": 15, "x": 16.75, "y": 4.25, "w":1.25 } + { "label": "Caps", "row": 4, "col": 2, "x": 2.25, "y": 4 }, + { "label": "Left", "row": 4, "col": 3, "x": 3.25, "y": 4 }, + { "label": "Right", "row": 4, "col": 4, "x": 4.25, "y": 4 }, + { "label": "Bksp", "row": 4, "col": 6, "x": 5.75, "y": 5, "r":15, "rx":5.25 ,"ry":4, "h":2}, + { "label": "Del", "row": 4, "col": 7, "x": 6.75, "y": 5, "r":15, "rx":5.25 ,"ry":4, "h":2}, + { "label": "End", "row": 4, "col": 8, "x": 7.75, "y": 6, "r":15, "rx":5.25 ,"ry":4}, + { "label": "PgDn", "row": 4, "col": 11, "x": 9.25, "y": 6, "r":-15, "rx":12.75 ,"ry":4}, + { "label": "RET", "row": 4, "col": 12, "x": 10.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4, "h":2}, + { "label": "SPC", "row": 4, "col": 14, "x": 11.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4, "h":2}, + { "label": "Up", "row": 4, "col": 15, "x": 12.75, "y": 4 }, + { "label": "Down", "row": 4, "col": 16, "x": 13.75, "y": 4 }, + { "label": ",", "row": 4, "col": 17, "x": 14.75, "y": 4 }, + { "label": ".", "row": 4, "col": 18, "x": 15.75, "y": 4.25 }, + { "label": "mod8", "row": 4, "col": 19, "x": 16.75, "y": 4.25, "w":1.25 } ] } } From 8d45b53bee3d16379517dcd538c43776d22a3c2d Mon Sep 17 00:00:00 2001 From: Nick Coutsos Date: Thu, 12 Jan 2023 18:34:52 -0500 Subject: [PATCH 21/57] Fix alignment of space thumb key --- config/info.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/info.json b/config/info.json index 2d140e18b1..e2412f341b 100644 --- a/config/info.json +++ b/config/info.json @@ -83,7 +83,7 @@ { "label": "End", "row": 4, "col": 8, "x": 7.75, "y": 6, "r":15, "rx":5.25 ,"ry":4}, { "label": "PgDn", "row": 4, "col": 11, "x": 9.25, "y": 6, "r":-15, "rx":12.75 ,"ry":4}, { "label": "RET", "row": 4, "col": 12, "x": 10.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4, "h":2}, - { "label": "SPC", "row": 4, "col": 14, "x": 11.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4, "h":2}, + { "label": "SPC", "row": 4, "col": 13, "x": 11.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4, "h":2}, { "label": "Up", "row": 4, "col": 15, "x": 12.75, "y": 4 }, { "label": "Down", "row": 4, "col": 16, "x": 13.75, "y": 4 }, { "label": ",", "row": 4, "col": 17, "x": 14.75, "y": 4 }, From d011eea95304d6ca3165868b7ca3bc3b19b72028 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Fri, 13 Jan 2023 21:21:47 +0000 Subject: [PATCH 22/57] use $(strip to remove whitespace --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index e1524f6d11..7e95cb8b5c 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ DOCKER := $(shell { command -v podman || command -v docker; }) TIMESTAMP := $(shell date -u +"%Y%m%d%H%M%S") detected_OS := $(shell uname) # Classify UNIX OS -ifeq ($(detected_OS),Darwin) #We only care if it's OS X +ifeq ($(strip $(detected_OS)),Darwin) #We only care if it's OS X SELINUX1 := SELINUX2 := else From b8f123aa376880f53835399d92f84c31aba025e5 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Fri, 10 Feb 2023 11:55:47 +0000 Subject: [PATCH 23/57] Disable logging --- config/boards/arm/adv360/adv360.dtsi | 2 +- config/boards/arm/adv360/adv360_left_defconfig | 6 ------ config/boards/arm/adv360/adv360_right_defconfig | 8 -------- 3 files changed, 1 insertion(+), 15 deletions(-) diff --git a/config/boards/arm/adv360/adv360.dtsi b/config/boards/arm/adv360/adv360.dtsi index c57764b6b9..0d410d7c40 100644 --- a/config/boards/arm/adv360/adv360.dtsi +++ b/config/boards/arm/adv360/adv360.dtsi @@ -95,7 +95,7 @@ }; &usbd { - status = "okay"; + status = "disabled"; cdc_acm_uart: cdc_acm_uart { compatible = "zephyr,cdc-acm-uart"; label = "CDC_ACM_0"; diff --git a/config/boards/arm/adv360/adv360_left_defconfig b/config/boards/arm/adv360/adv360_left_defconfig index a3380c7c13..c8804278e0 100644 --- a/config/boards/arm/adv360/adv360_left_defconfig +++ b/config/boards/arm/adv360/adv360_left_defconfig @@ -58,10 +58,4 @@ CONFIG_USB_DEVICE_PID=0x0362 CONFIG_USB_DEVICE_MANUFACTURER="Kinesis Corporation" CONFIG_BT_DIS_MANUF="Kinesis Corporation" -# Turn on logging, and set ZMK logging to debug output -CONFIG_LOG=y -CONFIG_ZMK_USB_LOGGING=y - - - CONFIG_BUILD_OUTPUT_UF2=y diff --git a/config/boards/arm/adv360/adv360_right_defconfig b/config/boards/arm/adv360/adv360_right_defconfig index 1a7a122881..dd4a9a1ca0 100644 --- a/config/boards/arm/adv360/adv360_right_defconfig +++ b/config/boards/arm/adv360/adv360_right_defconfig @@ -56,12 +56,4 @@ CONFIG_USB_DEVICE_VID=0x29EA CONFIG_USB_DEVICE_PID=0x0362 CONFIG_USB_DEVICE_MANUFACTURER="Kinesis Corporation" -# Turn on logging, and set ZMK logging to debug output -CONFIG_LOG=y -CONFIG_ZMK_USB_LOGGING=y - - - - - CONFIG_BUILD_OUTPUT_UF2=y From bdfd6475b480a6ae095ecc10181d68ef54a4736a Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Sat, 4 Mar 2023 14:20:54 +0000 Subject: [PATCH 24/57] Add additional pedal keys Adds pedal2 keys on left and right back into matrix --- config/adv360.keymap | 8 ++++---- config/boards/arm/adv360/adv360.dtsi | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/config/adv360.keymap b/config/adv360.keymap index 7e02e5c9e5..15a720ef3e 100644 --- a/config/adv360.keymap +++ b/config/adv360.keymap @@ -26,7 +26,7 @@ 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 ESC &kp A &kp S &kp D &kp F &kp G &none &kp LCTRL &kp LALT &none &none &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 &none &none &kp HOME &none &none &kp PG_UP &none &none &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 >; @@ -35,7 +35,7 @@ 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 ESC &kp A &kp S &kp D &kp F &kp G &none &kp LCTRL &kp LALT &none &none &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 &none &none &kp HOME &none &none &kp PG_UP &none &none &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 >; @@ -44,7 +44,7 @@ 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 &none &trans &trans &none &none &trans &trans &none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &none &none &trans &none &none &trans &none &none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; @@ -53,7 +53,7 @@ bindings = < &none &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &none &trans &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &none &none &none &none &none &none &none &bootloader &bootloader &none &none &none &none &none &none - &none &none &none &none &none &none &rgb_ug RGB_MEFS_CMD 5 &bt BT_CLR &bt BT_CLR &bt BT_CLR &bt BT_CLR &rgb_ug RGB_MEFS_CMD 5 &none &none &none &none &none &none + &none &none &none &none &none &none &rgb_ug RGB_MEFS_CMD 5 &bt BT_CLR &bt BT_CLR &none &none &bt BT_CLR &bt BT_CLR &rgb_ug RGB_MEFS_CMD 5 &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_INC &bl BL_DEC &rgb_ug RGB_TOG &bl BL_TOG &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.dtsi b/config/boards/arm/adv360/adv360.dtsi index 0d410d7c40..5a34559174 100644 --- a/config/boards/arm/adv360/adv360.dtsi +++ b/config/boards/arm/adv360/adv360.dtsi @@ -36,7 +36,7 @@ map = < RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,15) RC(4,16) RC(4,17) RC(4,18) RC(4,19) RC(4,20) RC(4,21) RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,15) RC(3,16) RC(3,17) RC(3,18) RC(3,19) RC(3,20) RC(3,21) - 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,12) RC(2,13) RC(2,15) RC(2,16) RC(2,17) RC(2,18) RC(2,19) RC(2,20) RC(2,21) + 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,12) RC(2,13) RC(2,15) RC(2,16) RC(2,17) RC(2,18) RC(2,19) RC(2,20) RC(2,21) RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11) RC(1,12) RC(1,13) RC(1,14) RC(1,16) RC(1,17) RC(1,18) RC(1,19) RC(1,20) RC(1,21) RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,7) RC(0,8) RC(0,9) RC(0,12) RC(0,13) RC(0,14) RC(0,17) RC(0,18) RC(0,19) RC(0,20) RC(0,21) From eac52a197c5ce3bef0b03350343d48f2629b7199 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Mon, 6 Mar 2023 10:06:53 +0000 Subject: [PATCH 25/57] Fix json files --- config/info.json | 2 ++ config/keymap.json | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/config/info.json b/config/info.json index e2412f341b..2ee4a82b09 100644 --- a/config/info.json +++ b/config/info.json @@ -42,6 +42,8 @@ { "label": "mod5", "row": 2, "col": 6, "x": 6.25, "y": 2}, { "label": "LCtrl", "row": 2, "col": 7, "x": 6.75, "y": 4, "r":15, "rx":5.25 ,"ry":4}, { "label": "LAlt", "row": 2, "col": 8, "x": 7.75, "y": 4, "r":15, "rx":5.25 ,"ry":4}, + { "label": "Ped1", "row": 2, "col": 9, "x": 20, "y": 4}, + { "label": "Ped2", "row": 2, "col": 10, "x": 21, "y": 4}, { "label": "LGui", "row": 2, "col": 11, "x": 9.25, "y": 4, "r":-15, "rx":12.75 ,"ry":4}, { "label": "RCtrl", "row": 2, "col": 12, "x": 10.25, "y": 4, "r":-15, "rx":12.75 ,"ry":4}, { "label": "mod6", "row": 2, "col": 13, "x": 10.75, "y": 2}, diff --git a/config/keymap.json b/config/keymap.json index 7859c7c07e..998775ed26 100644 --- a/config/keymap.json +++ b/config/keymap.json @@ -12,25 +12,25 @@ [ "&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 ESC ", "&kp A ", "&kp S ", "&kp D ", "&kp F ", "&kp G ", "&none ", "&kp LCTRL ", "&kp LALT ", "&none ", "&none ", "&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 ", "&none ", "&none ", "&kp HOME ", "&none ", "&none ", "&kp PG_UP ", "&none ", "&none ", "&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" ], [ "&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 ESC ", "&kp A ", "&kp S ", "&kp D ", "&kp F ", "&kp G ", "&none ", "&kp LCTRL ", "&kp LALT ", "&none ", "&none ", "&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 ", "&none ", "&none ", "&kp HOME ", "&none ", "&none ", "&kp PG_UP ", "&none ", "&none ", "&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" ], [ "&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 ", "&none ", "&trans ", "&trans ", "&none ", "&none ", "&trans ", "&trans ", "&none ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&none ", "&none ", "&trans ", "&none ", "&none ", "&trans ", "&none ", "&none ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans" ], [ "&none ", "&bt BT_SEL 0 ", "&bt BT_SEL 1 ", "&bt BT_SEL 2 ", "&bt BT_SEL 3 ", "&bt BT_SEL 4 ", "&none ", "&trans ", "&bt BT_SEL 0 ", "&bt BT_SEL 1 ", "&bt BT_SEL 2 ", "&bt BT_SEL 3 ", "&bt BT_SEL 4 ", "&none", "&none ", "&none ", "&none ", "&none ", "&none ", "&none ", "&bootloader ", "&bootloader ", "&none ", "&none ", "&none ", "&none ", "&none ", "&none", - "&none ", "&none ", "&none ", "&none ", "&none ", "&none ", "&rgb_ug RGB_MEFS_CMD 5 ", "&bt BT_CLR ", "&none " , "&bt BT_CLR ", "&bt BT_CLR ", "&rgb_ug RGB_MEFS_CMD 5 ", "&none ", "&none ", "&none ", "&none ", "&none ", "&none", + "&none ", "&none ", "&none ", "&none ", "&none ", "&none ", "&rgb_ug RGB_MEFS_CMD 5 ", "&bt BT_CLR ", "&none ", "&none ", "&none ", "&bt BT_CLR ", "&bt BT_CLR ", "&rgb_ug RGB_MEFS_CMD 5 ", "&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_INC ", "&bl BL_DEC ", "&rgb_ug RGB_TOG ", "&bl BL_TOG ", "&none ", "&none ", "&bl BL_TOG ", "&rgb_ug RGB_TOG ", "&bl BL_INC ", "&bl BL_DEC ", "&none ", "&none ", "&none" ] From 1a5041d570ca3fea97fe31636b8a03b04aed5825 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Sat, 25 Mar 2023 21:34:17 +0000 Subject: [PATCH 26/57] Remove unnecessary keys from GUI --- config/info.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/info.json b/config/info.json index 2ee4a82b09..e1adb3d5de 100644 --- a/config/info.json +++ b/config/info.json @@ -42,8 +42,8 @@ { "label": "mod5", "row": 2, "col": 6, "x": 6.25, "y": 2}, { "label": "LCtrl", "row": 2, "col": 7, "x": 6.75, "y": 4, "r":15, "rx":5.25 ,"ry":4}, { "label": "LAlt", "row": 2, "col": 8, "x": 7.75, "y": 4, "r":15, "rx":5.25 ,"ry":4}, - { "label": "Ped1", "row": 2, "col": 9, "x": 20, "y": 4}, - { "label": "Ped2", "row": 2, "col": 10, "x": 21, "y": 4}, + { "label": "Ped1", "row": 2, "col": 9, "x": 6.75, "y": 5, "r":15, "rx":5.25 ,"ry":4, "h":0}, + { "label": "Ped2", "row": 2, "col": 10, "x": 10.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4, "h":0}, { "label": "LGui", "row": 2, "col": 11, "x": 9.25, "y": 4, "r":-15, "rx":12.75 ,"ry":4}, { "label": "RCtrl", "row": 2, "col": 12, "x": 10.25, "y": 4, "r":-15, "rx":12.75 ,"ry":4}, { "label": "mod6", "row": 2, "col": 13, "x": 10.75, "y": 2}, @@ -63,8 +63,8 @@ { "label": "1U1", "row": 3, "col": 6, "x": 5.75, "y": 5, "r":15, "rx":5.25 ,"ry":4, "h":0}, { "label": "1U2", "row": 3, "col": 7, "x": 6.75, "y": 5, "r":15, "rx":5.25 ,"ry":4, "h":0}, { "label": "Home", "row": 3, "col": 8, "x": 7.75, "y": 5, "r":15, "rx":5.25 ,"ry":4}, - { "label": "Ped3", "row": 3, "col": 9, "x": 20, "y": 5}, - { "label": "Ped4", "row": 3, "col": 10, "x": 21, "y": 5}, + { "label": "Ped3", "row": 3, "col": 9, "x": 6.75, "y": 5, "r":15, "rx":5.25 ,"ry":4, "h":0}, + { "label": "Ped4", "row": 3, "col": 10, "x": 10.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4, "h":0}, { "label": "PgUp", "row": 3, "col": 11, "x": 9.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4}, { "label": "1U3", "row": 3, "col": 12, "x": 10.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4, "h":0}, { "label": "1U4", "row": 3, "col": 13, "x": 11.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4, "h":0}, From 603133f0600e747e083ffc92ee3dd9a4fcf7e8d0 Mon Sep 17 00:00:00 2001 From: Tom Plunket Date: Sun, 2 Apr 2023 20:07:29 -0700 Subject: [PATCH 27/57] Provide flashing instructions, point at GUI editor, and format support links. --- README.md | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index f284f9e87c..de58917f91 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,10 @@ # ADV360-PRO-ZMK -## To build Firmware in GitHub Actions +## Modifying the keymap + +There is a GUI for editing the keymap. It is available at https://kinesiscorporation.github.io/Adv360-Pro-GUI + +## Building the Firmware with GitHub Actions ### Setup @@ -12,19 +16,20 @@ 1. Push a commit to trigger the build. 2. Download the artifact. -## Local building in a container +## Building the Firmware in a local container ### Setup #### Software -Either Podman or Docker is required, Podman is preferred if both are present.\ -Make is also required +* Either Podman or Docker is required, Podman is preferred if both are present. +* Make is also required #### Windows specific -If compiling on Windows use WSL2 and Docker [Docker Setup Guide](https://docs.docker.com/desktop/windows/wsl/).\ -Install make using `sudo apt-get install make`.\ -The repository can be cloned directly into the WSL2 instance or accessed through the C: mount point WSL provides by default (`/mnt/c/path-to-repo`). + +* If compiling on Windows use WSL2 and Docker [Docker Setup Guide](https://docs.docker.com/desktop/windows/wsl/). +* Install make using `sudo apt-get install make`. +* The repository can be cloned directly into the WSL2 instance or accessed through the C: mount point WSL provides by default (`/mnt/c/path-to-repo`). ### Build firmware @@ -39,8 +44,22 @@ The built docker container and compiled firmware files can be deleted with `make Follow the programming instruction on page 8 of the [Quick Start Guide](https://kinesis-ergo.com/wp-content/uploads/Advantage360-Professional-QSG-v8-25-22.pdf) to flash the firmware. +### briefly + +1. Extract the firmwares from the downloaded archive. +1. Connect the keyboards via USB. +1. Mod+macro1 to put the left side into bootloader mode; it should attach to your computer as a USB drive. (There's also a physical button between the Delete/Home/End keys.) +1. Copy `left.uf2` to the USB drive and it will disconnect. +1. Power off both keyboards (by unplugging them and making sure the switch is off). +1. Restart the left then the right keyboard. +1. Mod+macro3 to put the right side into bootloader mode. (There's also a physical button between the Enter/PgUp/PgDn keys.) +1. Copy `right.uf2` to the mounted drive. +1. Keyboard may need to be power cycled again. +1. Enjoy! + ## Other support -Further support resources can be found on Kinesis.com -https://kinesis-ergo.com/support/kb360pro/#firmware-updates -https://kinesis-ergo.com/support/kb360pro/#manuals +Further support resources can be found on Kinesis.com: + +* https://kinesis-ergo.com/support/kb360pro/#firmware-updates +* https://kinesis-ergo.com/support/kb360pro/#manuals From 9a5d22ca99cbb57f4ff28abbbf7c9b88eafceb6e Mon Sep 17 00:00:00 2001 From: Tom Plunket Date: Fri, 7 Apr 2023 08:37:58 -0700 Subject: [PATCH 28/57] Refine wording of steps in firmware flashing. --- README.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index de58917f91..3f7be2885f 100644 --- a/README.md +++ b/README.md @@ -47,16 +47,19 @@ Follow the programming instruction on page 8 of the [Quick Start Guide](https:// ### briefly 1. Extract the firmwares from the downloaded archive. -1. Connect the keyboards via USB. -1. Mod+macro1 to put the left side into bootloader mode; it should attach to your computer as a USB drive. (There's also a physical button between the Delete/Home/End keys.) +1. Connect the left side keyboard to USB. +1. Press Mod+macro1 to put the left side into bootloader mode; it should attach to your computer as a USB drive. 1. Copy `left.uf2` to the USB drive and it will disconnect. -1. Power off both keyboards (by unplugging them and making sure the switch is off). -1. Restart the left then the right keyboard. -1. Mod+macro3 to put the right side into bootloader mode. (There's also a physical button between the Enter/PgUp/PgDn keys.) +1. Power off both keyboards (by unplugging them and making sure the switches are off). +1. Turn on the left side keyboard with the switch. +1. Connect the right side keyboard to USB to power it on. +1. Press Mod+macro3 to put the right side into bootloader mode to attach it as a USB drive. 1. Copy `right.uf2` to the mounted drive. -1. Keyboard may need to be power cycled again. +1. Unplug the right side keyboard and turn it back on. 1. Enjoy! +> Note: There are also physical reset buttons on both keyboards which can be used to enter and exit the bootloader mode. Their location is described in section 2.7 on page 9 in the [User Manual](https://kinesis-ergo.com/wp-content/uploads/Advantage360-ZMK-KB360-PRO-Users-Manual-v3-10-23.pdf) and use is described in section 5.9 on page 14. + ## Other support Further support resources can be found on Kinesis.com: From e4071905562d3a5635f68af19bb00a78e1cb554f Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Wed, 12 Apr 2023 09:46:58 +0100 Subject: [PATCH 29/57] Refactor(boards): cleanup pins and keys Remove unmapped keys from matrix, remap transform in line with this, unmap associated IO, bring keymap in line with manual --- config/adv360.keymap | 40 +++++++++++------------ config/boards/arm/adv360/adv360.dtsi | 12 +++---- config/boards/arm/adv360/adv360_left.dts | 1 - config/boards/arm/adv360/adv360_right.dts | 5 ++- config/info.json | 8 ----- config/keymap.json | 40 +++++++++++------------ 6 files changed, 48 insertions(+), 58 deletions(-) diff --git a/config/adv360.keymap b/config/adv360.keymap index 15a720ef3e..8ece1db83b 100644 --- a/config/adv360.keymap +++ b/config/adv360.keymap @@ -24,38 +24,38 @@ 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 &none &none &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 &none &none &kp HOME &none &none &kp PG_UP &none &none &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 + &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 &none &none &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 &none &none &kp HOME &none &none &kp PG_UP &none &none &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 + &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 &none &none &trans &trans &none &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &none &none &trans &none &none &trans &none &none &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &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 &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &none - &none &none &none &none &none &none &bootloader &bootloader &none &none &none &none &none &none - &none &none &none &none &none &none &rgb_ug RGB_MEFS_CMD 5 &bt BT_CLR &bt BT_CLR &none &none &bt BT_CLR &bt BT_CLR &rgb_ug RGB_MEFS_CMD 5 &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_INC &bl BL_DEC &rgb_ug RGB_TOG &bl BL_TOG &none &none &bl BL_TOG &rgb_ug RGB_TOG &bl BL_INC &bl BL_DEC &none &none &none + &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 &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.dtsi b/config/boards/arm/adv360/adv360.dtsi index 5a34559174..286e834695 100644 --- a/config/boards/arm/adv360/adv360.dtsi +++ b/config/boards/arm/adv360/adv360.dtsi @@ -29,16 +29,16 @@ default_transform: keymap_transform_0 { compatible = "zmk,matrix-transform"; - columns = <22>; + columns = <20>; rows = <5>; map = < - RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,15) RC(4,16) RC(4,17) RC(4,18) RC(4,19) RC(4,20) RC(4,21) - RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,15) RC(3,16) RC(3,17) RC(3,18) RC(3,19) RC(3,20) RC(3,21) - 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,12) RC(2,13) RC(2,15) RC(2,16) RC(2,17) RC(2,18) RC(2,19) RC(2,20) RC(2,21) - RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11) RC(1,12) RC(1,13) RC(1,14) RC(1,16) RC(1,17) RC(1,18) RC(1,19) RC(1,20) RC(1,21) - RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,7) RC(0,8) RC(0,9) RC(0,12) RC(0,13) RC(0,14) RC(0,17) RC(0,18) RC(0,19) RC(0,20) RC(0,21) + 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) + RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,9) RC(1,10) RC(1,14) RC(1,15) RC(1,16) RC(1,17) RC(1,18) RC(1,19) + RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11) RC(0,12) RC(0,15) RC(0,16) RC(0,17) RC(0,18) RC(0,19) >; }; diff --git a/config/boards/arm/adv360/adv360_left.dts b/config/boards/arm/adv360/adv360_left.dts index 8055fd109b..9509093ce8 100644 --- a/config/boards/arm/adv360/adv360_left.dts +++ b/config/boards/arm/adv360/adv360_left.dts @@ -32,7 +32,6 @@ , <&gpio1 9 GPIO_ACTIVE_HIGH> , <&gpio0 12 GPIO_ACTIVE_HIGH> , <&gpio0 7 GPIO_ACTIVE_HIGH> - , <&gpio0 5 GPIO_ACTIVE_HIGH> ; }; diff --git a/config/boards/arm/adv360/adv360_right.dts b/config/boards/arm/adv360/adv360_right.dts index afd38f355f..36f4966c11 100644 --- a/config/boards/arm/adv360/adv360_right.dts +++ b/config/boards/arm/adv360/adv360_right.dts @@ -25,8 +25,7 @@ ; col-gpios - = <&gpio1 14 GPIO_ACTIVE_HIGH> - , <&gpio0 12 GPIO_ACTIVE_HIGH> + = <&gpio0 12 GPIO_ACTIVE_HIGH> , <&gpio1 9 GPIO_ACTIVE_HIGH> , <&gpio0 7 GPIO_ACTIVE_HIGH> , <&gpio1 11 GPIO_ACTIVE_HIGH> @@ -50,5 +49,5 @@ }; &default_transform { - col-offset = <11>; + col-offset = <10>; }; diff --git a/config/info.json b/config/info.json index e1adb3d5de..c25173a926 100644 --- a/config/info.json +++ b/config/info.json @@ -42,8 +42,6 @@ { "label": "mod5", "row": 2, "col": 6, "x": 6.25, "y": 2}, { "label": "LCtrl", "row": 2, "col": 7, "x": 6.75, "y": 4, "r":15, "rx":5.25 ,"ry":4}, { "label": "LAlt", "row": 2, "col": 8, "x": 7.75, "y": 4, "r":15, "rx":5.25 ,"ry":4}, - { "label": "Ped1", "row": 2, "col": 9, "x": 6.75, "y": 5, "r":15, "rx":5.25 ,"ry":4, "h":0}, - { "label": "Ped2", "row": 2, "col": 10, "x": 10.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4, "h":0}, { "label": "LGui", "row": 2, "col": 11, "x": 9.25, "y": 4, "r":-15, "rx":12.75 ,"ry":4}, { "label": "RCtrl", "row": 2, "col": 12, "x": 10.25, "y": 4, "r":-15, "rx":12.75 ,"ry":4}, { "label": "mod6", "row": 2, "col": 13, "x": 10.75, "y": 2}, @@ -60,14 +58,8 @@ { "label": "C", "row": 3, "col": 3, "x": 3.25, "y": 3 }, { "label": "V", "row": 3, "col": 4, "x": 4.25, "y": 3 }, { "label": "B", "row": 3, "col": 5, "x": 5.25, "y": 3 }, - { "label": "1U1", "row": 3, "col": 6, "x": 5.75, "y": 5, "r":15, "rx":5.25 ,"ry":4, "h":0}, - { "label": "1U2", "row": 3, "col": 7, "x": 6.75, "y": 5, "r":15, "rx":5.25 ,"ry":4, "h":0}, { "label": "Home", "row": 3, "col": 8, "x": 7.75, "y": 5, "r":15, "rx":5.25 ,"ry":4}, - { "label": "Ped3", "row": 3, "col": 9, "x": 6.75, "y": 5, "r":15, "rx":5.25 ,"ry":4, "h":0}, - { "label": "Ped4", "row": 3, "col": 10, "x": 10.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4, "h":0}, { "label": "PgUp", "row": 3, "col": 11, "x": 9.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4}, - { "label": "1U3", "row": 3, "col": 12, "x": 10.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4, "h":0}, - { "label": "1U4", "row": 3, "col": 13, "x": 11.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4, "h":0}, { "label": "N", "row": 3, "col": 14, "x": 11.75, "y": 3 }, { "label": "M", "row": 3, "col": 15, "x": 12.75, "y": 3 }, { "label": ",", "row": 3, "col": 16, "x": 13.75, "y": 3 }, diff --git a/config/keymap.json b/config/keymap.json index 998775ed26..c740e08884 100644 --- a/config/keymap.json +++ b/config/keymap.json @@ -10,29 +10,29 @@ ], "layers": [ [ - "&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 ", "&none ", "&none ", "&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 ", "&none ", "&none ", "&kp HOME ", "&none ", "&none ", "&kp PG_UP ", "&none ", "&none ", "&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" + "&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" ], [ - "&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 ", "&none ", "&none ", "&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 ", "&none ", "&none ", "&kp HOME ", "&none ", "&none ", "&kp PG_UP ", "&none ", "&none ", "&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" + "&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" ], [ - "&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 ", "&none ", "&none ", "&trans ", "&trans ", "&none ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", - "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&none ", "&none ", "&trans ", "&none ", "&none ", "&trans ", "&none ", "&none ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", - "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans ", "&trans" + "&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" ], [ - "&none ", "&bt BT_SEL 0 ", "&bt BT_SEL 1 ", "&bt BT_SEL 2 ", "&bt BT_SEL 3 ", "&bt BT_SEL 4 ", "&none ", "&trans ", "&bt BT_SEL 0 ", "&bt BT_SEL 1 ", "&bt BT_SEL 2 ", "&bt BT_SEL 3 ", "&bt BT_SEL 4 ", "&none", - "&none ", "&none ", "&none ", "&none ", "&none ", "&none ", "&bootloader ", "&bootloader ", "&none ", "&none ", "&none ", "&none ", "&none ", "&none", - "&none ", "&none ", "&none ", "&none ", "&none ", "&none ", "&rgb_ug RGB_MEFS_CMD 5 ", "&bt BT_CLR ", "&none ", "&none ", "&none ", "&bt BT_CLR ", "&bt BT_CLR ", "&rgb_ug RGB_MEFS_CMD 5 ", "&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_INC ", "&bl BL_DEC ", "&rgb_ug RGB_TOG ", "&bl BL_TOG ", "&none ", "&none ", "&bl BL_TOG ", "&rgb_ug RGB_TOG ", "&bl BL_INC ", "&bl BL_DEC ", "&none ", "&none ", "&none" + "&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 ", "&rgb_ug RGB_MEFS_CMD 5 ", "&none", "&bt BT_CLR ", "&bt BT_CLR ", "&bt BT_CLR ", "&rgb_ug RGB_MEFS_CMD 5 ", "&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_INC ", "&bl BL_DEC ", "&none ", "&bl BL_TOG ", "&none ", "&none ", "&bl BL_TOG ", "&rgb_ug RGB_TOG ", "&bl BL_INC ", "&bl BL_DEC ", "&none ", "&none ", "&none" ] ] } From 771d68f3a69c22e6b05650bd98adf7f06c80f3eb Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Tue, 30 May 2023 09:33:59 +0100 Subject: [PATCH 30/57] V3.0 Update refactor(board): Update to z3.2 Major update to underlying code requires change to the repo, brought in line with zmk pr for commonality, fixed indentation to comply with zmk pre-commit formatting reqs Update settings-reset, change RGB modes Add Update instructions, Assets folder --- UPGRADE.md | 62 +++++ assets/commit.jpg | Bin 0 -> 12349 bytes assets/conflict.jpg | Bin 0 -> 24081 bytes assets/json.jpg | Bin 0 -> 13661 bytes assets/keymap.jpg | Bin 0 -> 10721 bytes assets/merge.jpg | Bin 0 -> 20787 bytes config/boards/arm/adv360/Kconfig | 8 +- config/boards/arm/adv360/Kconfig.board | 10 +- config/boards/arm/adv360/Kconfig.defconfig | 30 ++- config/boards/arm/adv360/adv360.dtsi | 247 ++++++++---------- config/boards/arm/adv360/adv360.yaml | 2 +- config/boards/arm/adv360/adv360.zmk.yml | 16 ++ config/boards/arm/adv360/adv360_left.dts | 56 ++-- .../boards/arm/adv360/adv360_left_defconfig | 36 +-- config/boards/arm/adv360/adv360_pinctrl.dtsi | 30 +++ config/boards/arm/adv360/adv360_right.dts | 64 ++--- .../boards/arm/adv360/adv360_right_defconfig | 27 +- config/boards/arm/adv360/board.cmake | 2 +- config/boards/arm/adv360/macros.dtsi | 36 +++ config/keymap.json | 6 +- config/west.yml | 2 +- settings-reset.uf2 | Bin 320512 -> 313856 bytes 22 files changed, 370 insertions(+), 264 deletions(-) create mode 100644 UPGRADE.md create mode 100644 assets/commit.jpg create mode 100644 assets/conflict.jpg create mode 100644 assets/json.jpg create mode 100644 assets/keymap.jpg create mode 100644 assets/merge.jpg create mode 100644 config/boards/arm/adv360/adv360.zmk.yml create mode 100644 config/boards/arm/adv360/adv360_pinctrl.dtsi create mode 100644 config/boards/arm/adv360/macros.dtsi diff --git a/UPGRADE.md b/UPGRADE.md new file mode 100644 index 0000000000..10d5ddf1a2 --- /dev/null +++ b/UPGRADE.md @@ -0,0 +1,62 @@ +# Advantage 360 Pro ZMK upgrade guide + +The last V2.0 update and the new V3.0 branch have introduced changes into the keymap files that causes merge conflicts for people updating with custom keymaps. This guide covers what changed, why it changed and how to fix it. + +## What changed and why + +To resolve issues some users were encountering with out of matrix keypresses, as well as to streamline the keymap for all future updates, several keys that are unused were removed from the keymap and [matrix transform](https://zmk.dev/docs/config/kscan#matrix-transform). Formatting was also standardised to fall in line with ZMK formatting conventions. As a result the board definition for the Advantage 360 Pro as it stands to get merged into ZMK main [here](https://github.com/zmkfirmware/zmk/pull/1454) matches the one in this repository to the greatest extent possible. +These changes result in a merge conflict when two diverging git branches try to get added together in the updating procedure. +This sort of breaking change shouldn't happen again in the future. + +## How to solve the merge conflict + +In order to solve the merge conflict all that has to be done is for the conflicting key behaviours to be manually removed from two files. +- adv360.keymap + +![The highlighted &none behaviours that need removing](/assets/keymap.jpg) +- keymap.json + +![The highlighted &none behaviours that need removing](/assets/json.jpg) + +These highlighted keys must be removed from each layer in both files. Be careful to preserve a comma in between every key behaviour in the keymap.json and at least one space between every behaviour in adv360.keymap or firmware builds will fail. The quotes need correctly preserving on the behaviours in keymap.json. Each behaviour needs to be wrapped in quotes. Whitespace within the quotes is ignored. +If you try to update your fork using the GitHub web interface you will see an error saying "This branch has merge conflicts and cannot be merged automatically" and you will be prompted to open a pull request instead. Solving the merge conflict this way is more challenging than doing it on GitHub desktop. + +### Github Desktop + +This assumes you already have [GitHub desktop](https://desktop.github.com/) downloaded, installed and you have logged in using the GitHub credentials for your account. Whilst it would be helpful to have an alternative text editor such as VSCode installed this task can be completed with notepad +1. Clone your repository + + Navigate in the menu to File->Clone repository. Your fork of the Adv360-Pro-ZMK repository should be visible in the menu of repositories to choose from. Click the blue "Clone" button +2. Open the folder + + Open the folder by using the "Show in your file manager" option and navigate to the "config" folder +3. Edit keymap.json + + Open keymap.json, and for each layer remove the 8 highlighted &none behaviours including the quotes wrapping them, and the commas +4. Edit adv 360.keymap + + Open adv360.keymap and remove the 8 highlighted &none behaviours in each later +5. Commit your changes + + Returning to GitHub desktop you should see the changes you made in the bar on the left. Type an appropriate commit summary and click "Commit to *branch name*" + + ![The commit dialog of GitHub Desktop](/assets/commit.jpg) + +6. Merge + + Navigate to Branch->Merge into current branch and select "upstream/V2.0" or "upstream/V3.0". You will see a warning that there will be two conflicted files. Click "Create a merge commit". + + ![The merge dialog showing a warning of conflicts](/assets/merge.jpg) + +7. Resolve Conflicts + + The conflict resolution window has powerful options to soresolve the merge conflict, you will want to clik on the down arrow next to "Open in *your text editor*" and click use the modified file from *your branch name*. In the case of this example it is called V2.0-beta. Using the file from upstream/V2.0 or upstream/V3.0 will result in none of your keymap changes being preserved. + Do this for both files then you will be able to click the "Continue Merge" option + + ![The merge dialog showing a warning of conflicts](/assets/conflict.jpg) +8. Push + + Once the merge is complete you should be able to click the "push origin" button in the top bar. At this point your changes should be uploaded to GitHub servers and the build should start +9. Test your firmware + + When the build succeeds download the uf2 files and flash them as normal. Test the keymap, if keys are shifted one way or the other it's likely you deleted too many or not enough behaviours. \ No newline at end of file diff --git a/assets/commit.jpg b/assets/commit.jpg new file mode 100644 index 0000000000000000000000000000000000000000..49788cf459dc65a763f3550b27edaac45a0c7794 GIT binary patch literal 12349 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 literal 0 HcmV?d00001 diff --git a/assets/conflict.jpg b/assets/conflict.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b047af73ca42464304ad4dc9fb54a612805a9340 GIT binary patch literal 24081 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 E1MQEV5&!@I literal 0 HcmV?d00001 diff --git a/assets/json.jpg b/assets/json.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4f8bf417b7c8768b8f2e4f47f78b942fa6570728 GIT binary patch literal 13661 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 literal 0 HcmV?d00001 diff --git a/assets/keymap.jpg b/assets/keymap.jpg new file mode 100644 index 0000000000000000000000000000000000000000..190c306a1e7bf05c7da9084e027476c097fec430 GIT binary patch literal 10721 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 n@KjdO?=rixa$|> #include +#include "adv360_pinctrl.dtsi" + / { - model = "Adv360"; - compatible = "adv360"; - - chosen { - zephyr,code-partition = &code_partition; - zephyr,sram = &sram0; - zephyr,flash = &flash0; - zmk,kscan = &kscan0; - zmk,underglow = &led_strip; - zmk,backlight = &backlight; - zmk,matrix_transform = &default_transform; - zmk,battery = &vbatt; - zephyr,console = &cdc_acm_uart; - }; - - default_transform: keymap_transform_0 { - compatible = "zmk,matrix-transform"; - columns = <20>; - rows = <5>; - - - 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) - RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,9) RC(1,10) RC(1,14) RC(1,15) RC(1,16) RC(1,17) RC(1,18) RC(1,19) - RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11) RC(0,12) RC(0,15) RC(0,16) RC(0,17) RC(0,18) RC(0,19) - - >; - }; - ext-power { - compatible = "zmk,ext-power-generic"; - label = "EXT_POWER"; - control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; - }; - backlight: pwmleds { - compatible = "pwm-leds"; - label = "Backlight LEDs"; - pwm_led_0 { - pwms = <&pwm0 17>; - label = "Backlight LED 0"; + model = "Adv360"; + compatible = "kinesis,adv360"; + + chosen { + zephyr,code-partition = &code_partition; + zephyr,sram = &sram0; + zephyr,flash = &flash0; + zmk,kscan = &kscan0; + zmk,backlight = &backlight; + zmk,battery = &vbatt; + zmk,matrix_transform = &default_transform; + zmk,underglow = &led_strip; }; -}; - leds { - compatible = "gpio-leds"; - blue_led: led_0 { - gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; - label = "Blue LED"; - }; - }; - - vbatt: vbatt { - compatible = "zmk,battery-voltage-divider"; - label = "VBATT"; - io-channels = <&adc 2>; - output-ohms = <100000>; - full-ohms = <(100000 + 100000)>; - }; + default_transform: keymap_transform_0 { + compatible = "zmk,matrix-transform"; + columns = <20>; + rows = <5>; + + + 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) + RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,9) RC(1,10) RC(1,14) RC(1,15) RC(1,16) RC(1,17) RC(1,18) RC(1,19) + RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11) RC(0,12) RC(0,15) RC(0,16) RC(0,17) RC(0,18) RC(0,19) + + >; + }; + ext-power { + compatible = "zmk,ext-power-generic"; + label = "EXT_POWER"; + control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; + }; + + vbatt: vbatt { + compatible = "zmk,battery-voltage-divider"; + io-channels = <&adc 2>; + output-ohms = <100000>; + full-ohms = <(100000 + 100000)>; + }; + + backlight: pwmleds { + compatible = "pwm-leds"; + pwm_led_0 { + pwms = <&pwm0 0 10000 PWM_POLARITY_NORMAL>; + }; + }; + }; &pwm0 { - status = "okay"; - ch0-pin = <17>; + status = "okay"; + pinctrl-0 = <&pwm0_default>; + pinctrl-1 = <&pwm0_sleep>; + pinctrl-names = "default", "sleep"; }; &adc { - status = "okay"; + status = "okay"; }; &gpiote { - status = "okay"; + status = "okay"; }; &gpio0 { - status = "okay"; + status = "okay"; }; &gpio1 { - status = "okay"; + status = "okay"; }; &usbd { - status = "disabled"; - cdc_acm_uart: cdc_acm_uart { - compatible = "zephyr,cdc-acm-uart"; - label = "CDC_ACM_0"; - }; -}; - -&uart0 { - compatible = "nordic,nrf-uarte"; - status = "okay"; - current-speed = <115200>; - tx-pin = <39>; - rx-pin = <44>; - rts-pin = <34>; - cts-pin = <9>; + status = "okay"; }; &flash0 { - /* - * For more information, see: - * http://docs.zephyrproject.org/latest/devices/dts/flash_partitions.html - */ - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - sd_partition: partition@0 { - label = "softdevice"; - reg = <0x00000000 0x00026000>; - }; - code_partition: partition@26000 { - label = "code_partition"; - reg = <0x00026000 0x000c6000>; - }; - - /* - * The flash starting at 0x000ec000 and ending at - * 0x000f3fff is reserved for use by the application. - */ - - /* - * Storage partition will be used by FCB/LittleFS/NVS - * if enabled. - */ - storage_partition: partition@ec000 { - label = "storage"; - reg = <0x000ec000 0x00008000>; - }; - - boot_partition: partition@f4000 { - label = "adafruit_boot"; - reg = <0x000f4000 0x0000c000>; - }; - }; + /* + * For more information, see: + * http://docs.zephyrproject.org/latest/devices/dts/flash_partitions.html + */ + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + sd_partition: partition@0 { + label = "softdevice"; + reg = <0x00000000 0x00026000>; + }; + code_partition: partition@26000 { + label = "code_partition"; + reg = <0x00026000 0x000c6000>; + }; + + /* + * The flash starting at 0x000ec000 and ending at + * 0x000f3fff is reserved for use by the application. + */ + + /* + * Storage partition will be used by FCB/LittleFS/NVS + * if enabled. + */ + storage_partition: partition@ec000 { + label = "storage"; + reg = <0x000ec000 0x00008000>; + }; + + boot_partition: partition@f4000 { + label = "adafruit_boot"; + reg = <0x000f4000 0x0000c000>; + }; + }; }; -&spi1 { - compatible = "nordic,nrf-spim"; - status = "okay"; - mosi-pin = <20>; - // Unused pins, needed for SPI definition, but not used by the ws2812 driver itself. - sck-pin = <27>; - miso-pin = <8>; +&spi3 { + compatible = "nordic,nrf-spim"; + status = "okay"; + pinctrl-0 = <&spi3_default>; + pinctrl-1 = <&spi3_sleep>; + pinctrl-names = "default", "sleep"; - led_strip: ws2812@0 { - compatible = "worldsemi,ws2812-spi"; - label = "WS2812"; + led_strip: ws2812@0 { + compatible = "worldsemi,ws2812-spi"; + label = "WS2812"; - /* SPI */ - reg = <0>; - spi-max-frequency = <4000000>; + /* SPI */ + reg = <0>; + spi-max-frequency = <4000000>; - /* WS2812 */ - chain-length = <3>; /* number of LEDs */ - spi-one-frame = <0x70>; - spi-zero-frame = <0x40>; + /* WS2812 */ + chain-length = <3>; /* number of LEDs */ + spi-one-frame = <0x70>; + spi-zero-frame = <0x40>; - color-mapping = ; - }; + }; }; diff --git a/config/boards/arm/adv360/adv360.yaml b/config/boards/arm/adv360/adv360.yaml index 1cefe88776..4fa5d6c6cb 100644 --- a/config/boards/arm/adv360/adv360.yaml +++ b/config/boards/arm/adv360/adv360.yaml @@ -1,5 +1,5 @@ identifier: adv360 -name: Adv360 +name: Advantage 360 Pro type: keyboard arch: arm toolchain: diff --git a/config/boards/arm/adv360/adv360.zmk.yml b/config/boards/arm/adv360/adv360.zmk.yml new file mode 100644 index 0000000000..d1a6021adb --- /dev/null +++ b/config/boards/arm/adv360/adv360.zmk.yml @@ -0,0 +1,16 @@ +file_format: "1" +id: adv360 +name: Advantage 360 Pro +type: board +url: https://kinesis-ergo.com/keyboards/advantage360 +arch: arm +features: + - keys + - underglow + - backlight +outputs: + - usb + - ble +siblings: + - adv360pro_left + - adv360pro_right diff --git a/config/boards/arm/adv360/adv360_left.dts b/config/boards/arm/adv360/adv360_left.dts index 9509093ce8..87813e861e 100644 --- a/config/boards/arm/adv360/adv360_left.dts +++ b/config/boards/arm/adv360/adv360_left.dts @@ -8,39 +8,29 @@ #include "adv360.dtsi" /{ - kscan0: kscan { - compatible = "zmk,kscan-gpio-matrix"; - label = "KSCAN"; + kscan0: kscan { + compatible = "zmk,kscan-gpio-matrix"; - diode-direction = "col2row"; - row-gpios - = <&gpio1 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio1 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio0 3 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio1 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio1 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - ; - - col-gpios - = <&gpio0 25 GPIO_ACTIVE_HIGH> - , <&gpio0 11 GPIO_ACTIVE_HIGH> - , <&gpio0 2 GPIO_ACTIVE_HIGH> - , <&gpio0 28 GPIO_ACTIVE_HIGH> - , <&gpio0 29 GPIO_ACTIVE_HIGH> - , <&gpio0 30 GPIO_ACTIVE_HIGH> - , <&gpio0 31 GPIO_ACTIVE_HIGH> - , <&gpio1 9 GPIO_ACTIVE_HIGH> - , <&gpio0 12 GPIO_ACTIVE_HIGH> - , <&gpio0 7 GPIO_ACTIVE_HIGH> - ; - }; - - leds { - compatible = "gpio-leds"; - blue_led: led_0 { - gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; - label = "Blue LED"; - }; - }; + diode-direction = "col2row"; + row-gpios + = <&gpio1 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio1 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio0 3 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio1 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio1 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + ; + col-gpios + = <&gpio0 25 GPIO_ACTIVE_HIGH> + , <&gpio0 11 GPIO_ACTIVE_HIGH> + , <&gpio0 2 GPIO_ACTIVE_HIGH> + , <&gpio0 28 GPIO_ACTIVE_HIGH> + , <&gpio0 29 GPIO_ACTIVE_HIGH> + , <&gpio0 30 GPIO_ACTIVE_HIGH> + , <&gpio0 31 GPIO_ACTIVE_HIGH> + , <&gpio1 9 GPIO_ACTIVE_HIGH> + , <&gpio0 12 GPIO_ACTIVE_HIGH> + , <&gpio0 7 GPIO_ACTIVE_HIGH> + ; + }; }; diff --git a/config/boards/arm/adv360/adv360_left_defconfig b/config/boards/arm/adv360/adv360_left_defconfig index c8804278e0..33ef88e964 100644 --- a/config/boards/arm/adv360/adv360_left_defconfig +++ b/config/boards/arm/adv360/adv360_left_defconfig @@ -1,15 +1,11 @@ # -# Copyright (c) 2021 Polarity Works +# Copyright (c) 2022 The ZMK Contributors # SPDX-License-Identifier: MIT # CONFIG_SOC_SERIES_NRF52X=y CONFIG_SOC_NRF52840_QIAA=y CONFIG_BOARD_ADV360_LEFT=y -CONFIG_ZMK_BLE=y - -CONFIG_ZMK_SPLIT=y -CONFIG_ZMK_SPLIT_ROLE_CENTRAL=y # Enable MPU CONFIG_ARM_MPU=y @@ -17,10 +13,9 @@ CONFIG_ARM_MPU=y # enable GPIO CONFIG_GPIO=y - -# Enable SPI +# Enable SPI for LEDS +CONFIG_PINCTRL=y CONFIG_SPI=y - CONFIG_SPI_NRFX=y # Enable writing to flash @@ -34,28 +29,37 @@ CONFIG_FLASH_MAP=y # Enable 32kHz crystal CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y -CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y +CONFIG_CLOCK_CONTROL_NRF_K32SRC_150PPM=y +#RGB leds config +CONFIG_WS2812_STRIP=y CONFIG_ZMK_RGB_UNDERGLOW=y CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y CONFIG_ZMK_RGB_UNDERGLOW_ON_START=y CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=4 CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y -# Use the STRIP config specific to the LEDs you're using -CONFIG_WS2812_STRIP=y -CONFIG_BT_CTLR_TX_PWR_PLUS_8=y +#Backlighting configuration CONFIG_PWM=y CONFIG_LED_PWM=y CONFIG_ZMK_BACKLIGHT=y +CONFIG_ZMK_BACKLIGHT_BRT_START=20 CONFIG_ZMK_BACKLIGHT_AUTO_OFF_IDLE=y -CONFIG_ZMK_HID_REPORT_TYPE_NKRO=y -CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y +#BT configuration +CONFIG_BT_CTLR_TX_PWR_PLUS_8=y +CONFIG_BT_DIS_MANUF="Kinesis Corporation" +CONFIG_BT_PRIVACY=y +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 +#Misc configuration CONFIG_USB_DEVICE_VID=0x29EA CONFIG_USB_DEVICE_PID=0x0362 CONFIG_USB_DEVICE_MANUFACTURER="Kinesis Corporation" -CONFIG_BT_DIS_MANUF="Kinesis Corporation" - +CONFIG_ZMK_HID_REPORT_TYPE_NKRO=y +CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y CONFIG_BUILD_OUTPUT_UF2=y diff --git a/config/boards/arm/adv360/adv360_pinctrl.dtsi b/config/boards/arm/adv360/adv360_pinctrl.dtsi new file mode 100644 index 0000000000..7dafcdcecf --- /dev/null +++ b/config/boards/arm/adv360/adv360_pinctrl.dtsi @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2023 The ZMK Contributors + * SPDX-License-Identifier: MIT + */ + +&pinctrl { + spi3_default: spi3_default { + group1 { + psels = ; + }; + }; + + spi3_sleep: spi3_sleep { + group1 { + psels = ; + low-power-enable; + }; + }; + pwm0_default: pwm0_default { + group1 { + psels = ; + }; + }; + pwm0_sleep: pwm0_sleep { + group1 { + psels = ; + low-power-enable; + }; + }; +}; \ No newline at end of file diff --git a/config/boards/arm/adv360/adv360_right.dts b/config/boards/arm/adv360/adv360_right.dts index 36f4966c11..b7d96787e4 100644 --- a/config/boards/arm/adv360/adv360_right.dts +++ b/config/boards/arm/adv360/adv360_right.dts @@ -11,43 +11,33 @@ - kscan0: kscan { - compatible = "zmk,kscan-gpio-matrix"; - label = "KSCAN"; - - diode-direction = "col2row"; - row-gpios - = <&gpio0 19 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio0 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio0 31 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio0 30 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio0 29 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - ; - - col-gpios - = <&gpio0 12 GPIO_ACTIVE_HIGH> - , <&gpio1 9 GPIO_ACTIVE_HIGH> - , <&gpio0 7 GPIO_ACTIVE_HIGH> - , <&gpio1 11 GPIO_ACTIVE_HIGH> - , <&gpio1 10 GPIO_ACTIVE_HIGH> - , <&gpio1 13 GPIO_ACTIVE_HIGH> - , <&gpio1 15 GPIO_ACTIVE_HIGH> - , <&gpio0 3 GPIO_ACTIVE_HIGH> - , <&gpio0 2 GPIO_ACTIVE_HIGH> - , <&gpio0 28 GPIO_ACTIVE_HIGH> - ; - }; - - leds { - compatible = "gpio-leds"; - blue_led: led_0 { - gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; - label = "Blue LED"; - }; - }; - + kscan0: kscan { + compatible = "zmk,kscan-gpio-matrix"; + + diode-direction = "col2row"; + row-gpios + = <&gpio0 19 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio0 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio0 31 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio0 30 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio0 29 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + ; + + col-gpios + = <&gpio0 12 GPIO_ACTIVE_HIGH> + , <&gpio1 9 GPIO_ACTIVE_HIGH> + , <&gpio0 7 GPIO_ACTIVE_HIGH> + , <&gpio1 11 GPIO_ACTIVE_HIGH> + , <&gpio1 10 GPIO_ACTIVE_HIGH> + , <&gpio1 13 GPIO_ACTIVE_HIGH> + , <&gpio1 15 GPIO_ACTIVE_HIGH> + , <&gpio0 3 GPIO_ACTIVE_HIGH> + , <&gpio0 2 GPIO_ACTIVE_HIGH> + , <&gpio0 28 GPIO_ACTIVE_HIGH> + ; + }; }; &default_transform { - col-offset = <10>; - }; + col-offset = <10>; + }; diff --git a/config/boards/arm/adv360/adv360_right_defconfig b/config/boards/arm/adv360/adv360_right_defconfig index dd4a9a1ca0..f1eb05f35a 100644 --- a/config/boards/arm/adv360/adv360_right_defconfig +++ b/config/boards/arm/adv360/adv360_right_defconfig @@ -1,14 +1,11 @@ # -# Copyright (c) 2021 Polarity Works +# Copyright (c) 2022 The ZMK Contributors # SPDX-License-Identifier: MIT # CONFIG_SOC_SERIES_NRF52X=y CONFIG_SOC_NRF52840_QIAA=y CONFIG_BOARD_ADV360_RIGHT=y -CONFIG_ZMK_BLE=y -CONFIG_ZMK_SPLIT=y - # Enable MPU CONFIG_ARM_MPU=y @@ -16,9 +13,8 @@ CONFIG_ARM_MPU=y # enable GPIO CONFIG_GPIO=y - - -# Enable SPI +# Enable SPI for LEDS +CONFIG_PINCTRL=y CONFIG_SPI=y CONFIG_SPI_NRFX=y @@ -33,27 +29,28 @@ CONFIG_FLASH_MAP=y # Enable 32kHz crystal CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y -CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y +CONFIG_CLOCK_CONTROL_NRF_K32SRC_150PPM=y +#RGB leds config +CONFIG_WS2812_STRIP=y CONFIG_ZMK_RGB_UNDERGLOW=y CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y CONFIG_ZMK_RGB_UNDERGLOW_ON_START=y CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=4 CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y -# Use the STRIP config specific to the LEDs you're using -CONFIG_WS2812_STRIP=y -CONFIG_BT_CTLR_TX_PWR_PLUS_8=y +#Backlighting configuration CONFIG_PWM=y CONFIG_LED_PWM=y CONFIG_ZMK_BACKLIGHT=y +CONFIG_ZMK_BACKLIGHT_BRT_START=20 CONFIG_ZMK_BACKLIGHT_AUTO_OFF_IDLE=y -CONFIG_ZMK_HID_REPORT_TYPE_NKRO=y -CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=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_BUILD_OUTPUT_UF2=y diff --git a/config/boards/arm/adv360/board.cmake b/config/boards/arm/adv360/board.cmake index 4eb48208af..34652907dc 100644 --- a/config/boards/arm/adv360/board.cmake +++ b/config/boards/arm/adv360/board.cmake @@ -1,5 +1,5 @@ # -# Copyright (c) 2021 Polarity Works +# Copyright (c) 2022 The ZMK Contributors # SPDX-License-Identifier: MIT # diff --git a/config/boards/arm/adv360/macros.dtsi b/config/boards/arm/adv360/macros.dtsi new file mode 100644 index 0000000000..69f6c4f3ab --- /dev/null +++ b/config/boards/arm/adv360/macros.dtsi @@ -0,0 +1,36 @@ + 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/keymap.json b/config/keymap.json index c740e08884..86b8982a7f 100644 --- a/config/keymap.json +++ b/config/keymap.json @@ -30,9 +30,9 @@ ], [ "&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 ", "&rgb_ug RGB_MEFS_CMD 5 ", "&none", "&bt BT_CLR ", "&bt BT_CLR ", "&bt BT_CLR ", "&rgb_ug RGB_MEFS_CMD 5 ", "&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_INC ", "&bl BL_DEC ", "&none ", "&bl BL_TOG ", "&none ", "&none ", "&bl BL_TOG ", "&rgb_ug RGB_TOG ", "&bl BL_INC ", "&bl BL_DEC ", "&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 ", "&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/west.yml b/config/west.yml index bf3935ad9d..3d195d83e0 100644 --- a/config/west.yml +++ b/config/west.yml @@ -7,7 +7,7 @@ manifest: projects: - name: zmk remote: refil - revision: adv360-z3 + revision: adv360-z3.2 import: app/west.yml self: path: config diff --git a/settings-reset.uf2 b/settings-reset.uf2 index 6a2b42683795ec8002877197dc13d3e541d2c9d8..f3109d640ef1ae186152c09104a0a5def2d945c9 100644 GIT binary patch literal 313856 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 QahKcwf5!hB1qlED2bmo0xBvhE literal 320512 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

=e@5<=LF@uP^>_V`K0gWz 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

=%c}3xsuP2ttsxoos}Z30Hk?u` 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 NHHb^Nd(Pgr{|z`)4_E*I delta 68249 zcmcG1d3Y4X_Gs5k&yr-4Ofp#}D?KwIOcr3WfDsXf5Sq!tA|N87H;BrB3lR|`q6v!% zDiSTABd9+VyoNnP3=$y*1-8`Fi z=hUfFr_MQbs;OV4t6!&U(APaEV;HOXyLkJ`^<6T9_1dFW1t|-*XUJFeGK1P;AWK}xB(LFX z416Ik)mR&>vA1izxXzNMia$ZQQhF&Ja4&b`hDg2r69C(3d0UxvBDzEWU6fhI)*JZ(UaB`ah^p?&6MHDcSxW77WVryN z)ZL$hM<^`{TXN=N&uM5Aa$&_7i z;e#43!APn^$`BK@w_Zb51zGIEL^DM8rWlfky19}(sHi+#pIMZsA5=2_uHyx^Nrbs0 zlN1M0NFcTcNvOMWY&U{2oD>AR8Om%2P-7BtigaWrU6TQ_^-xMcDmWNdSx_qC+*FoM zi0j2R%RMUE?J5I5>6#oW*STzM=*?u?J9cD@E6XI_;7}eCGl?QV`&@Tr{ca`64RXBh z%G%xMpJwt#UwL`A+7JbTmgiBB>E4#^7;A6>Xb)7yx|Bx5v%I4BVJ4H@3r_~#0%JDA zbzALBrSgQ*VBsT3y`PTP=gW9LNt8t$x?Hb~B9}y|WhB5ILvy{e6 zG7@0wNKCAiXqM&8zs;fHVw>B~khR@bh8sJE;WT7>U|CQyb}rM9=D_mc{g!1h`pHd!5)_P<>e@UkSglrx((Sf>eN-Rj-ZWPulF z>#Nk4d=$VJe!N7VI^`CxoSSf(?R|u)p8LpY8@yorDz5DGWVloL>9gp&=43kdTxROm zl>1Vt?B2hJWo*a>nk{gR`EuiJ!^X>*T|?!}^QCg;D=R*&H^*!IkJrk0Gm!tMH={gt z%eQAKae^m>)kR6fMN{H%N@}HgY_LO<{rHhob0i(ch=1R{X4lY`w^Nq{1uT7%qQIvi zx8g_BpJda34K1hB3xjVmN2e@sGe((VIghvq^1kP;@<~^`3po(B0{nPpVq%5QLS%AH zr>$aQdAZGcZO_y+l7ly8&P%WJN^i^+L(6mE%@^?IoZo7#zZ|zJ#79kyM5Ho)`@>Ghc180 z=tz^h<%n@w@LkqmG#ro5DpHs|8e+k9S+kYXN*V3~-*P&u5a~klJ<6-yrZmPhWdH~B zvIoef`*Brv`s7qE2t8-N%*gKGLEJgE_j?fj3=-p2_OfcZQPDdDDSOpS22ntXK9Yr! zTx8`lh|i;d`w?g|-1m7DhRMM0{cgNJd$NAEo3m#>ZUCv7<<^h~+`8b@9AWS0=pu=u z2@*%m1={;vE5dqruM5vKuSEaAznF7SMN33ZEXoY^Bj3XDF|gh=FFRA8!$&qgYuAu} zyYTQ_F8w2yhJ5PUAdX}9iPrjkV(DaLV2Fx|C%^mg!raM)wW19~@k#gc^cj`MM5f`J zy;dF>A_?b4=I!Sd3Whvi{|3y(Q>urLQ!EXxmMghgK`!UdPAYRrvN9B8#bUEw`d*ht z_IPkZe!>GPQR-q=#h~(mwty*(Z1PA#G>OO=*)NGs#)OOv*7I?EB-!eE*}1ST5|

  • oS~x^xu@HpY}f&U@_+sK7x*hFNFg<-j?) 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�zTsuS9RLlC^Da4fCQH!~&$xNWi`)Ig_?CODCj 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 Date: Thu, 2 Nov 2023 20:13:39 +0000 Subject: [PATCH 38/57] Improve documentation based on feedback (#260) * Improve documentation based on feedback * Update README.md * Update CHANGELOG.md --- CHANGELOG.md | 2 ++ README.md | 15 +++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5308e0439d..8ad84439c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +11/2/2023 - Update the documentation to note the new configuration options, other miscellaneous improvements based on feedback [#260](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/260) + 10/30/2023 - Update the [settings_reset.uf2](/settings-reset.uf2) file to improve reset behaviour with the new update 10/20/2023 - Disable BLE privacy due to conflict, disable BLE battery reporting, change to point to new ZMK branch with minor update. Please note that due to the minor update the boards will need the [settings_reset.uf2](/settings-reset.uf2) file flashing onto each side prior to updating [#248](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/248) (adv360-z3.2-2) diff --git a/README.md b/README.md index 359b194dd0..88d34bc7b2 100644 --- a/README.md +++ b/README.md @@ -64,16 +64,23 @@ Follow the programming instruction on page 8 of the [Quick Start Guide](https:// > Note: There are also physical reset buttons on both keyboards which can be used to enter and exit the bootloader mode. Their location is described in section 2.7 on page 9 in the [User Manual](https://kinesis-ergo.com/wp-content/uploads/Advantage360-ZMK-KB360-PRO-Users-Manual-v3-10-23.pdf) and use is described in section 5.9 on page 14. +> Note: Some operating systems wont always treat the drive as ejected after the settings-reset file is flashed, this doesn't mean that the flashing process has failed. + ### Upgrading from V2 to V3 -If you are upgrading from V2 to V3, and if the flashing didn't work as expected (i.e. if you are unable to pair the keyboard via Bluetooth), then consider [resetting](https://kinesis-ergo.com/support/kb360pro/#firmware-updates) both halves of the keyboard to its native state. Make sure to use the `settings-reset.uf2` file from -the V3 branch of this repository. After doing this, proceed with the flashing instructions above. +If you encounter a git conflict when updating your repository to V3.0 please follow the instructions on how to resolve it [here](UPGRADE.md). + +Updating from V2.0 based firmwares to V3.0 based firmwares can be a rather complex process. There are reset files for every major firmware revision as well as documentation on the update process available [here](https://kinesis-ergo.com/support/kb360pro/#firmware-updates). ## Bluetooth LE Privacy -Since the update on 20/10/2023, BLE privacy is now disabled by default and due to an update in upstream ZMK cannot be enabled again as it will cause issues for the splits halves connecting to each other. +Since the update on 20/10/2023, BLE privacy is now disabled by default and due to an update in upstream ZMK cannot be enabled again as it will cause issues for the split halves connecting to each other. + +Recent updates to MacOS have improved the behaviour for devices without BLE privacy and caused regressions with privacy enabled (e.g. being unable to enter the password on the filevault screen) so BLE privacy is not necessary any more. + +## Battery reporting -~~By default this firmware ships with BT Privacy enabled (To read more about BT privacy see [this article](https://novelbits.io/how-to-protect-the-privacy-of-your-bluetooth-low-energy-device/)). This was done based off feedback from MacOS users as some Macs and all iOS devices use resolvable private addresses that they cycle between (the Apple documentation can be found [here](https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf#page=194)), and when the host cycled to a new address the Advantage 360 Pro would need re-pairing. It can cause issues with some operating systems and hardware setups. To disable BT Privacy change `CONFIG_BT_PRIVACY=y` to `CONFIG_BT_PRIVACY=n` in [adv360_left_defconfig](config/boards/arm/adv360/adv360_left_defconfig#L52). Disabling this might necessitate re-pairing to the host.~~ +By default reporting the battery level over BLE is disabled as this can cause some computers to spontaneously wake up repeatedly. If you'd like to enable this functionality change `CONFIG_BT_BAS=n` to `CONFIG_BT_BAS=y` in [adv360_left_defconfig](/config/boards/arm/adv360/adv360_left_defconfig#L58). Please note that a known bug in windows prevents the battery level from updating by default, it is only updated when the board is paired. A workaround is to set `CONFIG_BT_GATT_ENFORCE_SUBSCRIPTION=n` in [adv360_left_defconfig](/config/boards/arm/adv360/adv360_left_defconfig). This may cause unexpected results on other OSes ## Changelog From 44a42af666dbeee899520b956200137222c8378c Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Wed, 8 Nov 2023 13:45:26 +0000 Subject: [PATCH 39/57] Document new NKRO settings (#264) * Document new NKRO settings * Update CHANGELOG.md --- CHANGELOG.md | 10 ++++++++++ README.md | 4 ++++ config/boards/arm/adv360/adv360_left_defconfig | 1 + 3 files changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ad84439c8..9384ad9236 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +11/7/2023 - Add and document a new configuration option for extended NKRO ranges [#264](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/264) + 11/2/2023 - Update the documentation to note the new configuration options, other miscellaneous improvements based on feedback [#260](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/260) 10/30/2023 - Update the [settings_reset.uf2](/settings-reset.uf2) file to improve reset behaviour with the new update @@ -85,6 +87,14 @@ There have beeen 4 branches of ZMK used for the 360 Pro so far. Beta branches ar ### adv360-z3.2-2 +11/7/2023 - Put HID max NKRO usage on a config option for compatibility (`CONFIG_ZMK_HID_KEYBOARD_EXTENDED_REPORT`) + +11/1/2023 - Increase behaviour queue size to permit longer macro sequences to be run + +11/1/2023 - Change order of RGB initialisation to prevent situations where lighting could get stuck in battery reporting mode + +10/27/2023 - Change HID max NKRO usage to allow usage of F13-F24 and other rarely used keycodes with NKRO enabled + 10/18/2023 - Disable saving certain RGB elements to flash memory to help with flash wear 10/18/2023 - Re-enable BLE battery reporting in code (now disabled in config repo using the `CONFIG_BT_BAS` KConfig option) diff --git a/README.md b/README.md index 88d34bc7b2..f876cf3882 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,10 @@ Since the update on 20/10/2023, BLE privacy is now disabled by default and due t Recent updates to MacOS have improved the behaviour for devices without BLE privacy and caused regressions with privacy enabled (e.g. being unable to enter the password on the filevault screen) so BLE privacy is not necessary any more. +## N-Key Rollover + +By default this keyboard has NKRO enabled, however for compatibility reasons the higher ranges are not enabled. If you want to use F13-F24 or the INTL1-9 keys with NKRO enabled you can change `CONFIG_ZMK_HID_KEYBOARD_EXTENDED_REPORT=n` to `CONFIG_ZMK_HID_KEYBOARD_EXTENDED_REPORT=y` in [adv360_left_defconfig](/config/boards/arm/adv360/adv360_left_defconfig#L65) + ## Battery reporting By default reporting the battery level over BLE is disabled as this can cause some computers to spontaneously wake up repeatedly. If you'd like to enable this functionality change `CONFIG_BT_BAS=n` to `CONFIG_BT_BAS=y` in [adv360_left_defconfig](/config/boards/arm/adv360/adv360_left_defconfig#L58). Please note that a known bug in windows prevents the battery level from updating by default, it is only updated when the board is paired. A workaround is to set `CONFIG_BT_GATT_ENFORCE_SUBSCRIPTION=n` in [adv360_left_defconfig](/config/boards/arm/adv360/adv360_left_defconfig). This may cause unexpected results on other OSes diff --git a/config/boards/arm/adv360/adv360_left_defconfig b/config/boards/arm/adv360/adv360_left_defconfig index 4482de2d6f..071d1e82cd 100644 --- a/config/boards/arm/adv360/adv360_left_defconfig +++ b/config/boards/arm/adv360/adv360_left_defconfig @@ -62,5 +62,6 @@ 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=n #Set this to y for F13-F24 and intl keys with NKRO CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y CONFIG_BUILD_OUTPUT_UF2=y From cdcec22e609688812bf0f5ac303cc9c6970efb23 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Thu, 16 Nov 2023 07:49:39 +0000 Subject: [PATCH 40/57] Version compiled FW with automatic macro (#267) * Version compiled FW with hash Auto generates a macro to type out version info, local and github compilation now includes commit hash and timestamp in final uf2 files * Fix local builds makefile doesn't like the script returning the macro, directed to null for local builds as version.dtsi file accessible --- .github/workflows/build.yml | 15 ++++++++-- CHANGELOG.md | 2 ++ Makefile | 5 +++- README.md | 4 +++ bin/build.sh | 5 ++-- bin/get_version.sh | 57 +++++++++++++++++++++++++++++++++++++ config/adv360.keymap | 11 ++++++- config/version.dtsi | 0 8 files changed, 92 insertions(+), 7 deletions(-) create mode 100755 bin/get_version.sh create mode 100644 config/version.dtsi diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 35a2fe9f74..23c3edf2ac 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,6 +11,15 @@ jobs: steps: - name: Checkout uses: actions/checkout@v3 + - name: Get version data + id: get_info + run: | + timestamp=$(date +"%Y%m%d%H%M") + commit=$(echo "${{ github.sha }}" | cut -c1-7) + file_prefix=$timestamp-$commit + branch_name=$(echo "${{ github.ref }}" | awk -F'/' '{print $3}' | cut -c1-4) + echo "file_prefix=$file_prefix" >> $GITHUB_OUTPUT + bin/get_version.sh $branch_name $commit - name: Cache west modules uses: actions/cache@v3 env: @@ -42,11 +51,11 @@ jobs: - name: Adv360 Right Kconfig file run: grep -vE '(^#|^$)' build/right/zephyr/.config - name: Rename zmk.uf2 - run: cp build/left/zephyr/zmk.uf2 left.uf2 && cp build/right/zephyr/zmk.uf2 right.uf2 + run: cp build/left/zephyr/zmk.uf2 ${{ steps.get_info.outputs.file_prefix }}-left.uf2 && cp build/right/zephyr/zmk.uf2 ${{ steps.get_info.outputs.file_prefix }}-right.uf2 - name: Archive (Adv360) uses: actions/upload-artifact@v3 with: name: firmware path: | - left.uf2 - right.uf2 + ${{ steps.get_info.outputs.file_prefix }}-left.uf2 + ${{ steps.get_info.outputs.file_prefix }}-right.uf2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 9384ad9236..554493f1d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +11/15/2023 - Add and document the new automatic versioning system [#267](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/267) + 11/7/2023 - Add and document a new configuration option for extended NKRO ranges [#264](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/264) 11/2/2023 - Update the documentation to note the new configuration options, other miscellaneous improvements based on feedback [#260](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/260) diff --git a/Makefile b/Makefile index 7e95cb8b5c..e5231eb4fb 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ DOCKER := $(shell { command -v podman || command -v docker; }) -TIMESTAMP := $(shell date -u +"%Y%m%d%H%M%S") +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 := @@ -12,11 +13,13 @@ endif .PHONY: all clean all: + $(shell bin/get_version.sh >> /dev/null) $(DOCKER) build --tag zmk --file Dockerfile . $(DOCKER) run --rm -it --name zmk \ -v $(PWD)/firmware:/app/firmware$(SELINUX1) \ -v $(PWD)/config:/app/config:ro$(SELINUX2) \ -e TIMESTAMP=$(TIMESTAMP) \ + -e COMMIT=$(COMMIT) \ zmk clean: diff --git a/README.md b/README.md index f876cf3882..ac090a2f7c 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,10 @@ If you encounter a git conflict when updating your repository to V3.0 please fol Updating from V2.0 based firmwares to V3.0 based firmwares can be a rather complex process. There are reset files for every major firmware revision as well as documentation on the update process available [here](https://kinesis-ergo.com/support/kb360pro/#firmware-updates). +## Versioning + +Starting on 11/15/2023 the Advantage 360 Pro will now automatically record the compilation date, branch and Git commit hash in a macro that can be accessed with Mod+V. This will type out the following string: YYYYMMDD-XXXX-YYYYYY, where XXXX is the first 4 characters of the Git branch and YYYYYY is the Git commit hash. In addition to this the builds compiled by GitHub actions are now timestamped and also record the commit hash in the filename. + ## Bluetooth LE Privacy Since the update on 20/10/2023, BLE privacy is now disabled by default and due to an update in upstream ZMK cannot be enabled again as it will cause issues for the split halves connecting to each other. diff --git a/bin/build.sh b/bin/build.sh index ade4767ff9..cd68988ecd 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -3,7 +3,8 @@ set -eu PWD=$(pwd) -TIMESTAMP="${TIMESTAMP:-$(date -u +"%Y%m%d%H%M%S")}" +TIMESTAMP="${TIMESTAMP:-$(date -u +"%Y%m%d%H%M")}" +COMMIT="${COMMIT:-$(echo xxxxxx)}" # West Build (left) west build -s zmk/app -d build/left -b adv360_left -- -DZMK_CONFIG="${PWD}/config" @@ -14,4 +15,4 @@ west build -s zmk/app -d build/right -b adv360_right -- -DZMK_CONFIG="${PWD}/con # Adv360 Right Kconfig file grep -vE '(^#|^$)' build/right/zephyr/.config # Rename zmk.uf2 -cp build/left/zephyr/zmk.uf2 "./firmware/${TIMESTAMP}-left.uf2" && cp build/right/zephyr/zmk.uf2 "./firmware/${TIMESTAMP}-right.uf2" +cp build/left/zephyr/zmk.uf2 "./firmware/${TIMESTAMP}-${COMMIT}-left.uf2" && cp build/right/zephyr/zmk.uf2 "./firmware/${TIMESTAMP}-${COMMIT}-right.uf2" diff --git a/bin/get_version.sh b/bin/get_version.sh new file mode 100755 index 0000000000..a1b1d6e7e4 --- /dev/null +++ b/bin/get_version.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +# Get the date, first 4 chars of branch name and short commit hash +date=$(date -u +"%Y%m%d") +branch=${1:-$(git rev-parse --abbrev-ref HEAD | cut -c1-4)} +commit=${2:-$(git rev-parse --short HEAD)} + +# Function to transform characters to ZMK key behaviours +transform_char() { + local char=$1 + if [[ $char =~ [A-Za-z] ]]; then + echo "<&kp ${char^^}>, " + elif [[ $char =~ [0-9] ]]; then + echo "<&kp N${char}>, " + elif [ "$char" = "." ]; then + echo "<&kp DOT>, " + fi +} + +# Iterate over the date and format characters +formatted_date="" +for ((i = 0; i < ${#date}; i++)); do + formatted_date+=$(transform_char "${date:$i:1}") +done + +# Insert separator between date and branch +formatted_date+="<&kp MINUS>, " + +# Iterate over the branch and format characters +formatted_branch="" +for ((i = 0; i < ${#branch}; i++)); do + formatted_branch+=$(transform_char "${branch:$i:1}") +done + +# Insert separator between branch and commit hash +formatted_branch+="<&kp MINUS>, " + +# Iterate over the commit hash and format characters +formatted_commit="" +for ((i = 0; i < ${#commit}; i++)); do + formatted_commit+=$(transform_char "${commit:$i:1}") +done + +# Combine the formatted string, add trailing carriage return +formatted_result="$formatted_date$formatted_branch$formatted_commit" +formatted_result+="<&kp RET>" + +echo $formatted_result +# Create new macro to define version, overwrite previous one + +echo '#define VERSION_MACRO' > "config/version.dtsi" +echo 'macro_ver: macro_ver {' >> "config/version.dtsi" +echo 'compatible = "zmk,behavior-macro";' >> "config/version.dtsi" +echo 'label = "macro_ver";' >> "config/version.dtsi" +echo '#binding-cells = <0>;' >> "config/version.dtsi" +echo "bindings = $formatted_result;" >> "config/version.dtsi" +echo '};' >> "config/version.dtsi" diff --git a/config/adv360.keymap b/config/adv360.keymap index 8ece1db83b..cf80f15e8e 100644 --- a/config/adv360.keymap +++ b/config/adv360.keymap @@ -7,6 +7,15 @@ / { 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"; @@ -54,7 +63,7 @@ &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 &none &none &none &none &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 >; }; diff --git a/config/version.dtsi b/config/version.dtsi new file mode 100644 index 0000000000..e69de29bb2 From 5ebf3836906fa78014f0db4a31628c57afebe167 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Thu, 16 Nov 2023 09:36:31 +0000 Subject: [PATCH 41/57] Changelog new base ZMK update (#268) --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 554493f1d1..aeb6cc694a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +11/16/2023 - Update changelog with base ZMK update [#268](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/268) + 11/15/2023 - Add and document the new automatic versioning system [#267](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/267) 11/7/2023 - Add and document a new configuration option for extended NKRO ranges [#264](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/264) @@ -89,6 +91,8 @@ There have beeen 4 branches of ZMK used for the 360 Pro so far. Beta branches ar ### adv360-z3.2-2 +11/16/2023 - Fix race condition in the bluetooth code causing issues with split connectivity + 11/7/2023 - Put HID max NKRO usage on a config option for compatibility (`CONFIG_ZMK_HID_KEYBOARD_EXTENDED_REPORT`) 11/1/2023 - Increase behaviour queue size to permit longer macro sequences to be run From 7adf0629f7bfd3d20c3fb9e7039329169acdae5d Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Fri, 17 Nov 2023 11:36:33 +0000 Subject: [PATCH 42/57] Add version macro to keymap.json (#269) * Update keymap.json to reflect version macro * Update CHANGELOG.md --- CHANGELOG.md | 2 ++ config/keymap.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aeb6cc694a..9bcf0a8312 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +11/17/2022 - Update keymap.json to reflect new versioning macro [#269](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/269) + 11/16/2023 - Update changelog with base ZMK update [#268](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/268) 11/15/2023 - Add and document the new automatic versioning system [#267](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/267) diff --git a/config/keymap.json b/config/keymap.json index 86b8982a7f..bd3fa917cc 100644 --- a/config/keymap.json +++ b/config/keymap.json @@ -31,7 +31,7 @@ "&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 ", "&none ", "&none ", "&none ", "&none ", "&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" ] ] From d0ffaf89f8f2cd985b7750bcfeee1feaa5d7435c Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Sat, 18 Nov 2023 15:09:38 +0000 Subject: [PATCH 43/57] Revert "Add version macro to keymap.json (#269)" This reverts commit 7adf0629f7bfd3d20c3fb9e7039329169acdae5d. --- CHANGELOG.md | 2 -- config/keymap.json | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bcf0a8312..aeb6cc694a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,6 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo -11/17/2022 - Update keymap.json to reflect new versioning macro [#269](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/269) - 11/16/2023 - Update changelog with base ZMK update [#268](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/268) 11/15/2023 - Add and document the new automatic versioning system [#267](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/267) diff --git a/config/keymap.json b/config/keymap.json index bd3fa917cc..86b8982a7f 100644 --- a/config/keymap.json +++ b/config/keymap.json @@ -31,7 +31,7 @@ "&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 ", "&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" ] ] From 2055aa2498ee7749f237a31f317ec1d985c377bb Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Wed, 6 Dec 2023 09:18:26 +0000 Subject: [PATCH 44/57] Update bluetooth settings in light of user feedback (#289) --- CHANGELOG.md | 2 ++ config/boards/arm/adv360/adv360_left_defconfig | 12 ++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aeb6cc694a..edc210f544 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +12/5/2023 - Update Bluetooth settings in light of user feedback [#289](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/289) + 11/16/2023 - Update changelog with base ZMK update [#268](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/268) 11/15/2023 - Add and document the new automatic versioning system [#267](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/267) diff --git a/config/boards/arm/adv360/adv360_left_defconfig b/config/boards/arm/adv360/adv360_left_defconfig index 071d1e82cd..1f551d6e10 100644 --- a/config/boards/arm/adv360/adv360_left_defconfig +++ b/config/boards/arm/adv360/adv360_left_defconfig @@ -49,12 +49,12 @@ 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_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 From 11932126d4b99fb1d2f0bfecfb138dd7adcec3b6 Mon Sep 17 00:00:00 2001 From: David Whetstone Date: Thu, 7 Dec 2023 01:14:49 -0800 Subject: [PATCH 45/57] Make get_version use bash from $PATH (#287) * Make get_version use bash from $PATH * Update CHANGELOG.md --------- Co-authored-by: ReFil <31960031+ReFil@users.noreply.github.com> --- CHANGELOG.md | 2 ++ bin/get_version.sh | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index edc210f544..7226b4a5cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +12/6/2023 - Update versioning script to use bash from $PATH [#287](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/287) + 12/5/2023 - Update Bluetooth settings in light of user feedback [#289](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/289) 11/16/2023 - Update changelog with base ZMK update [#268](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/268) diff --git a/bin/get_version.sh b/bin/get_version.sh index a1b1d6e7e4..6a5007b0f0 100755 --- a/bin/get_version.sh +++ b/bin/get_version.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Get the date, first 4 chars of branch name and short commit hash date=$(date -u +"%Y%m%d") From 9fc6c6239c362671e3b005fc771a3771b6b2c240 Mon Sep 17 00:00:00 2001 From: "adv360proapp[bot]" <105741512+adv360proapp[bot]@users.noreply.github.com> Date: Mon, 11 Dec 2023 22:43:28 +0000 Subject: [PATCH 46/57] Updated keymap --- config/adv360.keymap | 127 ++++++++++++++++++++----------------- config/cust_behaviors.json | 1 + config/cust_keycodes.json | 1 + config/keymap.json | 42 ++++++------ config/macros.dtsi | 72 ++++++++++----------- 5 files changed, 128 insertions(+), 115 deletions(-) create mode 100644 config/cust_behaviors.json create mode 100644 config/cust_keycodes.json diff --git a/config/adv360.keymap b/config/adv360.keymap index cf80f15e8e..860c9eef41 100644 --- a/config/adv360.keymap +++ b/config/adv360.keymap @@ -1,3 +1,17 @@ + +/* + * Copyright (c) 2020 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + */ + + +/* THIS FILE WAS GENERATED! + * + * This file was generated automatically. You may or may not want to + * edit it directly. + */ + #include #include #include @@ -5,67 +19,64 @@ #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 + behaviors { + #include "macros.dtsi" + #include "version.dtsi" - 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>; - }; + 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"; + 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 &kp A &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 + >; + }; + + layer_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 + >; + }; + + layer_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 + >; + }; + + layer_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 &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 + >; + }; - 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 &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 - >; }; - }; }; diff --git a/config/cust_behaviors.json b/config/cust_behaviors.json new file mode 100644 index 0000000000..0637a088a0 --- /dev/null +++ b/config/cust_behaviors.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/config/cust_keycodes.json b/config/cust_keycodes.json new file mode 100644 index 0000000000..0637a088a0 --- /dev/null +++ b/config/cust_keycodes.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/config/keymap.json b/config/keymap.json index 86b8982a7f..370582a1e6 100644 --- a/config/keymap.json +++ b/config/keymap.json @@ -10,29 +10,29 @@ ], "layers": [ [ - "&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" + "&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", "&kp A", "&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" ], [ - "&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" + "&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" ], [ - "&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" + "&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" ], [ - "&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 ", "&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" + "&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", "&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" ] ] -} +} \ No newline at end of file diff --git a/config/macros.dtsi b/config/macros.dtsi index 953577ab2e..9cc9dbfa8e 100644 --- a/config/macros.dtsi +++ b/config/macros.dtsi @@ -1,36 +1,36 @@ - 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 LS(K)>, <&kp I>, <&kp N>, <&kp E>, <&kp S>, <&kp I>, <&kp S>; - }; +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 LS(K)>, <&kp I>, <&kp N>, <&kp E>, <&kp S>, <&kp I>, <&kp S>; +}; \ No newline at end of file From 18e664a8396089bc9b4be24fcb84b5a8cda8bab0 Mon Sep 17 00:00:00 2001 From: "adv360proapp[bot]" <105741512+adv360proapp[bot]@users.noreply.github.com> Date: Mon, 11 Dec 2023 22:58:29 +0000 Subject: [PATCH 47/57] Updated keymap --- config/adv360.keymap | 2 +- config/keymap.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/adv360.keymap b/config/adv360.keymap index 860c9eef41..ad775cd0f7 100644 --- a/config/adv360.keymap +++ b/config/adv360.keymap @@ -41,7 +41,7 @@ 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 &kp A &none &kp Y &kp U &kp I &kp O &kp P &kp BSLH + &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 diff --git a/config/keymap.json b/config/keymap.json index 370582a1e6..8139c6f166 100644 --- a/config/keymap.json +++ b/config/keymap.json @@ -11,7 +11,7 @@ "layers": [ [ "&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", "&kp A", "&none", "&kp Y", "&kp U", "&kp I", "&kp O", "&kp P", "&kp BSLH", + "&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" From 3a356154a2b125d3982ff1b07f954ded6f48e639 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Wed, 13 Dec 2023 11:11:16 +0000 Subject: [PATCH 48/57] Revert "Updated keymap" This reverts commit 18e664a8396089bc9b4be24fcb84b5a8cda8bab0. --- config/adv360.keymap | 2 +- config/keymap.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/adv360.keymap b/config/adv360.keymap index ad775cd0f7..860c9eef41 100644 --- a/config/adv360.keymap +++ b/config/adv360.keymap @@ -41,7 +41,7 @@ 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 TAB &kp Q &kp W &kp E &kp R &kp T &kp A &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 diff --git a/config/keymap.json b/config/keymap.json index 8139c6f166..370582a1e6 100644 --- a/config/keymap.json +++ b/config/keymap.json @@ -11,7 +11,7 @@ "layers": [ [ "&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 TAB", "&kp Q", "&kp W", "&kp E", "&kp R", "&kp T", "&kp A", "&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" From 9becf801cf26ab6b27777fc909c0602f57bb1d84 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Wed, 13 Dec 2023 11:11:19 +0000 Subject: [PATCH 49/57] Revert "Updated keymap" This reverts commit 9fc6c6239c362671e3b005fc771a3771b6b2c240. --- config/adv360.keymap | 127 +++++++++++++++++-------------------- config/cust_behaviors.json | 1 - config/cust_keycodes.json | 1 - config/keymap.json | 42 ++++++------ config/macros.dtsi | 72 ++++++++++----------- 5 files changed, 115 insertions(+), 128 deletions(-) delete mode 100644 config/cust_behaviors.json delete mode 100644 config/cust_keycodes.json diff --git a/config/adv360.keymap b/config/adv360.keymap index 860c9eef41..cf80f15e8e 100644 --- a/config/adv360.keymap +++ b/config/adv360.keymap @@ -1,17 +1,3 @@ - -/* - * Copyright (c) 2020 The ZMK Contributors - * - * SPDX-License-Identifier: MIT - */ - - -/* THIS FILE WAS GENERATED! - * - * This file was generated automatically. You may or may not want to - * edit it directly. - */ - #include #include #include @@ -19,64 +5,67 @@ #include / { - behaviors { - #include "macros.dtsi" - #include "version.dtsi" + 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>; + 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 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 &kp A &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 - >; - }; - - layer_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 - >; - }; - - layer_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 - >; - }; - - layer_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 &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 - >; - }; + 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 &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 + >; + }; + }; }; diff --git a/config/cust_behaviors.json b/config/cust_behaviors.json deleted file mode 100644 index 0637a088a0..0000000000 --- a/config/cust_behaviors.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/config/cust_keycodes.json b/config/cust_keycodes.json deleted file mode 100644 index 0637a088a0..0000000000 --- a/config/cust_keycodes.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/config/keymap.json b/config/keymap.json index 370582a1e6..86b8982a7f 100644 --- a/config/keymap.json +++ b/config/keymap.json @@ -10,29 +10,29 @@ ], "layers": [ [ - "&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", "&kp A", "&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" + "&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" ], [ - "&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" + "&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" ], [ - "&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" + "&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" ], [ - "&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", "&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" + "&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 ", "&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" ] ] -} \ No newline at end of file +} diff --git a/config/macros.dtsi b/config/macros.dtsi index 9cc9dbfa8e..953577ab2e 100644 --- a/config/macros.dtsi +++ b/config/macros.dtsi @@ -1,36 +1,36 @@ -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 LS(K)>, <&kp I>, <&kp N>, <&kp E>, <&kp S>, <&kp I>, <&kp S>; -}; \ No newline at end of file + 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 LS(K)>, <&kp I>, <&kp N>, <&kp E>, <&kp S>, <&kp I>, <&kp S>; + }; From e6df7b4508c4e0dbb827732ed9d8a4cfbfb3f314 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:38:04 +0000 Subject: [PATCH 50/57] Add pull request template (#293) * Add pull request template * Update CHANGELOG.md --- .github/pull_request_template.md | 8 ++++++++ CHANGELOG.md | 2 ++ 2 files changed, 10 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000000..d7db1bb8ef --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,8 @@ +## Advantage 360 Pro PR template + +### What's changed: + +### Why has this change been implemented: + +### What (if any) actions must a user take after this change: + diff --git a/CHANGELOG.md b/CHANGELOG.md index 7226b4a5cf..4e7b0b3c08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +12/15/2023 - Add PR template [#293](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/293) + 12/6/2023 - Update versioning script to use bash from $PATH [#287](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/287) 12/5/2023 - Update Bluetooth settings in light of user feedback [#289](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/289) From 7287c4daf6dbaa864978d33c98dafabc2452e46a Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:47:12 +0000 Subject: [PATCH 51/57] Add version macro (#300) --- CHANGELOG.md | 2 ++ config/keymap.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e7b0b3c08..536cedaaee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +12/15/2022 - Update keymap.json to reflect new versioning macro [#300](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/300) + 12/15/2023 - Add PR template [#293](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/293) 12/6/2023 - Update versioning script to use bash from $PATH [#287](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/287) diff --git a/config/keymap.json b/config/keymap.json index 86b8982a7f..bd3fa917cc 100644 --- a/config/keymap.json +++ b/config/keymap.json @@ -31,7 +31,7 @@ "&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 ", "&none ", "&none ", "&none ", "&none ", "&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" ] ] From 1728a660cea95760573a72bbf0f6b1da68342749 Mon Sep 17 00:00:00 2001 From: Jim Jowdy Date: Wed, 27 Dec 2023 04:59:59 -0800 Subject: [PATCH 52/57] Prefer `tr` to ${char^^}, which does not work on older bash versions (#303) * Prefer `tr` to ${char^^}, which does not work on older bash versions * Update CHANGELOG.md --------- Co-authored-by: ReFil <31960031+ReFil@users.noreply.github.com> --- CHANGELOG.md | 3 ++- bin/get_version.sh | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 536cedaaee..c5c3c96add 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +12/27/2023 - Change how the characters are used in the versioning script for improved MacOS experience [#303](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/303) + 12/15/2022 - Update keymap.json to reflect new versioning macro [#300](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/300) 12/15/2023 - Add PR template [#293](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/293) @@ -38,7 +40,6 @@ Many thanks to all those who have submitted issues and pull requests to make thi 3/4/2023 - Add extra keys into matrix that point to nowhere, fixes spurious keypress issues when using USB3.1 cables [#114](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/114) [#116](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/116) - 2/14/2023 - Disable ZMK logging by default to improve power consumption [#101](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/101) 1/25/2023 - Fix automatic OS detection to build properly when using the local builder on OS-X [#91](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/91) diff --git a/bin/get_version.sh b/bin/get_version.sh index 6a5007b0f0..aa23e1719d 100755 --- a/bin/get_version.sh +++ b/bin/get_version.sh @@ -5,11 +5,18 @@ date=$(date -u +"%Y%m%d") branch=${1:-$(git rev-parse --abbrev-ref HEAD | cut -c1-4)} commit=${2:-$(git rev-parse --short HEAD)} +uppercase_char() { + local char=$1 + + (echo $char | tr '[a-z]' '[A-Z]' 2> /dev/null) || echo "${char^^}" +} + # Function to transform characters to ZMK key behaviours transform_char() { local char=$1 + if [[ $char =~ [A-Za-z] ]]; then - echo "<&kp ${char^^}>, " + echo "<&kp $(uppercase_char $char)>, " elif [[ $char =~ [0-9] ]]; then echo "<&kp N${char}>, " elif [ "$char" = "." ]; then From 4a5003a0d4e6c1cf26512d79d4358455bccb00a8 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Sun, 14 Jan 2024 19:12:15 +0000 Subject: [PATCH 53/57] Base ZMK update (#326) --- CHANGELOG.md | 29 +++++++++++++++---- config/boards/arm/adv360/Kconfig.defconfig | 6 ---- config/boards/arm/adv360/adv360.dtsi | 7 +++-- .../boards/arm/adv360/adv360_left_defconfig | 7 +++++ .../boards/arm/adv360/adv360_right_defconfig | 5 ++++ config/west.yml | 2 +- 6 files changed, 41 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5c3c96add..2fd0a5d12d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +1/14/2024 - Update base ZMK, change KConfig attributes to support, Enable experimental BLE features for improved stability [#326](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/326) + 12/27/2023 - Change how the characters are used in the versioning script for improved MacOS experience [#303](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/303) 12/15/2022 - Update keymap.json to reflect new versioning macro [#300](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/300) @@ -16,11 +18,11 @@ Many thanks to all those who have submitted issues and pull requests to make thi 11/16/2023 - Update changelog with base ZMK update [#268](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/268) -11/15/2023 - Add and document the new automatic versioning system [#267](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/267) +11/15/2023 - Add and document the new automatic versioning system [#267](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/267) -11/7/2023 - Add and document a new configuration option for extended NKRO ranges [#264](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/264) +11/7/2023 - Add and document a new configuration option for extended NKRO ranges [#264](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/264) -11/2/2023 - Update the documentation to note the new configuration options, other miscellaneous improvements based on feedback [#260](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/260) +11/2/2023 - Update the documentation to note the new configuration options, other miscellaneous improvements based on feedback [#260](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/260) 10/30/2023 - Update the [settings_reset.uf2](/settings-reset.uf2) file to improve reset behaviour with the new update @@ -88,15 +90,30 @@ Many thanks to all those who have submitted issues and pull requests to make thi ## Base ZMK -There have beeen 4 branches of ZMK used for the 360 Pro so far. Beta branches are not changelogged as they are subject to frequent changes and tweaks. +There have beeen 5 branches of ZMK used for the 360 Pro so far. Beta branches are not changelogged as they are subject to frequent changes and tweaks. | Branch | Date From | Date To | Config Branch | | -------- | ------- |-------|-----| | [adv360-beta](https://github.com/ReFil/zmk/tree/adv360-beta) | 3/1/2022 | 9/17/2022 | V1.0 (since deleted) | | [adv360-z3](https://github.com/ReFil/zmk/tree/adv360-z3) | 9/17/2022 | 7/6/2023 | V2.0 (since deleted) | | [adv360-z3.2](https://github.com/ReFil/zmk/tree/adv360-z3.2) | 7/6/2023 | 20/10/2023 | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) (Up to commit 82494e7) | -| [adv360-z3.2-2](https://github.com/ReFil/zmk/tree/adv360-z3.2-2) | 20/10/2023 | To date | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) (current) | +| [adv360-z3.2-2](https://github.com/ReFil/zmk/tree/adv360-z3.2-2) | 20/10/2023 | 1/14/2024 | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) (Up to commit XXXXXXX) | +| [adv360-z3.2-3](https://github.com/ReFil/zmk/tree/adv360-z3.2-3) | 1/14/2024 | To date | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) (current) | + + +### adv360-z3.2-3 + +1/8/2023 - Merge latest upstream ZMK (Commit 7652fbeb) + +12/17/2023 - Add KConfig line to ensure compatibility with previous NKRO extended report is maintained + +12/17/2023 - Fix conflicts with upstream HID indicators code for split communication + +12/17/2023 - Add defines for HID indicator LEDs to maintain compatibility with lighting code + +12/17/2023 - Merge latest upstream ZMK (Commit 78fa1e77) +Note: Several features that used to be custom to this branch (BT battery reporting disable, Extended NKRO, HID Indicators) are now upstream ### adv360-z3.2-2 @@ -108,7 +125,7 @@ There have beeen 4 branches of ZMK used for the 360 Pro so far. Beta branches ar 11/1/2023 - Change order of RGB initialisation to prevent situations where lighting could get stuck in battery reporting mode -10/27/2023 - Change HID max NKRO usage to allow usage of F13-F24 and other rarely used keycodes with NKRO enabled +10/27/2023 - Change HID max NKRO usage to allow usage of F13-F24 and other rarely used keycodes with NKRO enabled 10/18/2023 - Disable saving certain RGB elements to flash memory to help with flash wear diff --git a/config/boards/arm/adv360/Kconfig.defconfig b/config/boards/arm/adv360/Kconfig.defconfig index aa2fb87a16..7333f89a0b 100644 --- a/config/boards/arm/adv360/Kconfig.defconfig +++ b/config/boards/arm/adv360/Kconfig.defconfig @@ -35,12 +35,6 @@ config SPI config BT_CTLR default BT -config ZMK_BLE - default y - -config ZMK_USB - default y - if USB config USB_NRFX diff --git a/config/boards/arm/adv360/adv360.dtsi b/config/boards/arm/adv360/adv360.dtsi index 2f221fcbfb..0e092033d8 100644 --- a/config/boards/arm/adv360/adv360.dtsi +++ b/config/boards/arm/adv360/adv360.dtsi @@ -21,6 +21,7 @@ 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; @@ -43,9 +44,8 @@ >; }; - ext-power { + EXT_POWER { compatible = "zmk,ext-power-generic"; - label = "EXT_POWER"; control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; }; @@ -90,6 +90,9 @@ &usbd { status = "okay"; + cdc_acm_uart: cdc_acm_uart { + compatible = "zephyr,cdc-acm-uart"; + }; }; diff --git a/config/boards/arm/adv360/adv360_left_defconfig b/config/boards/arm/adv360/adv360_left_defconfig index 1f551d6e10..b37679a4d3 100644 --- a/config/boards/arm/adv360/adv360_left_defconfig +++ b/config/boards/arm/adv360/adv360_left_defconfig @@ -65,3 +65,10 @@ CONFIG_ZMK_HID_REPORT_TYPE_NKRO=y CONFIG_ZMK_HID_KEYBOARD_EXTENDED_REPORT=n #Set this to y for F13-F24 and intl keys with NKRO CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y CONFIG_BUILD_OUTPUT_UF2=y + +CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=y +CONFIG_ZMK_BLE_PASSKEY_ENTRY=n + +CONFIG_ZMK_BLE=y +CONFIG_ZMK_USB=y +CONFIG_ZMK_HID_INDICATORS=y \ No newline at end of file diff --git a/config/boards/arm/adv360/adv360_right_defconfig b/config/boards/arm/adv360/adv360_right_defconfig index f1eb05f35a..3c2e65a3b1 100644 --- a/config/boards/arm/adv360/adv360_right_defconfig +++ b/config/boards/arm/adv360/adv360_right_defconfig @@ -54,3 +54,8 @@ CONFIG_BT_CTLR_TX_PWR_PLUS_8=y CONFIG_ZMK_HID_REPORT_TYPE_NKRO=y CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y CONFIG_BUILD_OUTPUT_UF2=y + +CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=y + +CONFIG_ZMK_BLE=y +CONFIG_ZMK_USB=y diff --git a/config/west.yml b/config/west.yml index ceaefbfcb0..e35c82658b 100644 --- a/config/west.yml +++ b/config/west.yml @@ -7,7 +7,7 @@ manifest: projects: - name: zmk remote: refil - revision: adv360-z3.2-2 + revision: adv360-z3.2-3 import: app/west.yml self: path: config From 0737d53e019903fd986df25d1ee3384f16ad7639 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Tue, 16 Jan 2024 16:43:55 +0000 Subject: [PATCH 54/57] Update Makefile variables (#335) --- CHANGELOG.md | 2 ++ Makefile | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2fd0a5d12d..ce41c1c383 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +1/16/2024 - Change the makefile to fis WSL2 compatibility [#335](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/335) + 1/14/2024 - Update base ZMK, change KConfig attributes to support, Enable experimental BLE features for improved stability [#326](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/326) 12/27/2023 - Change how the characters are used in the versioning script for improved MacOS experience [#303](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/303) diff --git a/Makefile b/Makefile index e5231eb4fb..39d09d3bde 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ -DOCKER := $(shell { command -v podman || command -v docker; }) -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 +DOCKER := "$(shell { command -v podman || command -v docker; })" +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 := From cbc065666897ce7ae66a4e7d30c88211537f6148 Mon Sep 17 00:00:00 2001 From: Thomas Huber <113915837+huber-th@users.noreply.github.com> Date: Mon, 5 Feb 2024 01:55:24 -0800 Subject: [PATCH 55/57] Makefile enhancements to optimize local workflows (#363) - Enhance the Makefile to enable firmware building exclusively for the left side. To modify the keymap, flashing only the left side's firmware suffices. This change facilitates the creation of firmware for the left side only, thereby expediting the build process. Usage: make left This update maintains existing functionality. Without specifying the left target, firmware for both halves will be generated. - Add separate make targets to clean firmware and docker image Add targets clean_firmware and clean_image independently while maintaing clean to run both - Ensure files modified by the build process are reset at the end The current build process dynamically generates the content of the version macro in config/version.dtsi to enable users to print out the precise version and commit the firmware was built on via a keybinding on the keymap. This change ensurs that the changes to this macro file are reset at the end of the build process to ensure it isn't shown as modified and added to keymap commit changes. --- CHANGELOG.md | 2 ++ Makefile | 22 ++++++++++++++++++++-- README.md | 29 ++++++++++++++++++++++++----- bin/build.sh | 16 +++++++++++----- 4 files changed, 57 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce41c1c383..6f73ee2a57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +2/2/2024 - Makefile enhancements (build left side firmware only, separate clean targets for firmware and docker, reset of version.dtsi after build) [#363](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/363) + 1/16/2024 - Change the makefile to fis WSL2 compatibility [#335](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/335) 1/14/2024 - Update base ZMK, change KConfig attributes to support, Enable experimental BLE features for improved stability [#326](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/326) diff --git a/Makefile b/Makefile index 39d09d3bde..9d7d347a5c 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ SELINUX1 := :z SELINUX2 := ,z endif -.PHONY: all clean +.PHONY: all left clean_firmware clean_image clean all: $(shell bin/get_version.sh >> /dev/null) @@ -20,8 +20,26 @@ all: -v $(PWD)/config:/app/config:ro$(SELINUX2) \ -e TIMESTAMP=$(TIMESTAMP) \ -e COMMIT=$(COMMIT) \ + -e BUILD_RIGHT=true \ zmk + $(shell git checkout config/version.dtsi) -clean: +left: + $(shell bin/get_version.sh >> /dev/null) + $(DOCKER) build --tag zmk --file Dockerfile . + $(DOCKER) run --rm -it --name zmk \ + -v $(PWD)/firmware:/app/firmware$(SELINUX1) \ + -v $(PWD)/config:/app/config:ro$(SELINUX2) \ + -e TIMESTAMP=$(TIMESTAMP) \ + -e COMMIT=$(COMMIT) \ + -e BUILD_RIGHT=false \ + zmk + $(shell git checkout config/version.dtsi) + +clean_firmware: rm -f firmware/*.uf2 + +clean_image: $(DOCKER) image rm zmk docker.io/zmkfirmware/zmk-build-arm:stable + +clean: clean_firmware clean_image diff --git a/README.md b/README.md index ac090a2f7c..2500787c64 100644 --- a/README.md +++ b/README.md @@ -35,14 +35,33 @@ Certain ZMK features (e.g. combos) require knowing the exact key positions in th * Install make using `sudo apt-get install make` inside the WSL2 instance. * The repository can be cloned directly into the WSL2 instance or accessed through the C: mount point WSL provides by default (`/mnt/c/path-to-repo`). -### Build firmware +#### macOS specific + +On macOS [brew](https://brew.sh) can be used to install the required components. + +* docker +* [colima](https://github.com/abiosoft/colima) can be used as the docker engine + +```shell +brew install docker colima +colima start +``` +> Note: On Apple Silicon (ARM based) systems you need to make sure to start colima with the correct architecture for the container being used. +> ``` +> colima start --arch x86_64 +> ``` -1. Execute `make`. -2. Check the `firmware` directory for the latest firmware build. + +### Build firmware locally + +1. Execute `make` to build firmware for both halves or `make left` to only build firmware for the left hand side. +2. Check the `firmware` directory for the latest firmware build. The first part of the filename is the timestamp when the firmware was built. ### Cleanup -The built docker container and compiled firmware files can be deleted with `make clean`. This might be necessary if you updated your fork from V2.0 to V3.0 and are encountering build failures. +The built docker container and compiled firmware files can be deleted with `make clean`. This might be necessary if you updated your fork from V2.0 to V3.0 and are encountering build failures. + +Creating the docker container takes some time. Therefore `make clean_firmware` can be used to only clean firmware without removing the docker container. Similarly `make clean_image` can be used to remove the docker container without removing compiled firmware files. ## Flashing firmware @@ -116,4 +135,4 @@ Further support resources can be found on Kinesis.com: * https://kinesis-ergo.com/support/kb360pro/#manuals In the event of a hardware issue it may be necessary to open a support ticket directly with Kinesis as opposed to a GitHub issue in this repository. -* https://kinesis-ergo.com/support/kb360pro/#ticket \ No newline at end of file +* https://kinesis-ergo.com/support/kb360pro/#ticket diff --git a/bin/build.sh b/bin/build.sh index cd68988ecd..bab8570a9e 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -10,9 +10,15 @@ COMMIT="${COMMIT:-$(echo xxxxxx)}" west build -s zmk/app -d build/left -b adv360_left -- -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" -# Adv360 Right Kconfig file -grep -vE '(^#|^$)' build/right/zephyr/.config # Rename zmk.uf2 -cp build/left/zephyr/zmk.uf2 "./firmware/${TIMESTAMP}-${COMMIT}-left.uf2" && cp build/right/zephyr/zmk.uf2 "./firmware/${TIMESTAMP}-${COMMIT}-right.uf2" +cp build/left/zephyr/zmk.uf2 "./firmware/${TIMESTAMP}-${COMMIT}-left.uf2" + +# Build right side if selected +if [ "${BUILD_RIGHT}" = true ]; then + # West Build (right) + west build -s zmk/app -d build/right -b adv360_right -- -DZMK_CONFIG="${PWD}/config" + # Adv360 Right Kconfig file + grep -vE '(^#|^$)' build/right/zephyr/.config + # Rename zmk.uf2 + cp build/right/zephyr/zmk.uf2 "./firmware/${TIMESTAMP}-${COMMIT}-right.uf2" +fi From b4165d65c86709050e37cc98916f687659422605 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Thu, 15 Feb 2024 12:53:39 +0000 Subject: [PATCH 56/57] Update build workflows (#376) --- .github/workflows/build.yml | 6 +++--- CHANGELOG.md | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 23c3edf2ac..353692db77 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ jobs: name: Build steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Get version data id: get_info run: | @@ -21,7 +21,7 @@ jobs: echo "file_prefix=$file_prefix" >> $GITHUB_OUTPUT bin/get_version.sh $branch_name $commit - name: Cache west modules - uses: actions/cache@v3 + uses: actions/cache@v4 env: cache-name: cache-zephyr-modules with: @@ -53,7 +53,7 @@ jobs: - name: Rename zmk.uf2 run: cp build/left/zephyr/zmk.uf2 ${{ steps.get_info.outputs.file_prefix }}-left.uf2 && cp build/right/zephyr/zmk.uf2 ${{ steps.get_info.outputs.file_prefix }}-right.uf2 - name: Archive (Adv360) - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: firmware path: | diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f73ee2a57..03f2815c45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +12/2/2024 - Update GitHub build workflow to use the latest actions [#376](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/376) + 2/2/2024 - Makefile enhancements (build left side firmware only, separate clean targets for firmware and docker, reset of version.dtsi after build) [#363](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/363) 1/16/2024 - Change the makefile to fis WSL2 compatibility [#335](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/335) From dd3da03b9d8de287570d23245ff3a0c321bb0e31 Mon Sep 17 00:00:00 2001 From: Thomas Huber <113915837+huber-th@users.noreply.github.com> Date: Tue, 20 Feb 2024 01:24:58 -0800 Subject: [PATCH 57/57] Fix version.dtsi is reset after local firmware build (#385) In #376 a new step was introduced for local builds to undo changes to the version.dtsi file after a build in order to reduce noise to the repo. Unfortunately the way used to execute the step causes the version.dtsi file to be reset too early and therefore causes an incorrect version number to be used for the version macro when run locally. This went unfortunately undiscovered as the checked in version.dtsi was the same on the day the change in #376 was tested and was not noticed until I build a new change to my keymap locally a few days ago. The git command introduced in #376 is wrapped into a shell function. However what was missed is that commands run by the shell function are run when the function calls are expanded by make. This causes the version.dtsi file to be reset before the firmware build process is even started which resultes in the version.dtsi currently checked in to the repo to be used for local builds instead of the newly generated file when make starts. This change updates how the git command to reset the version.dtsi is being called. It is no longer called within a shell function to ensure it does run in the order it is defined after the firmware build is complete. Builds run through GitHub actions are not impacted and always used the correct version.dtsi For more information and context see: - https://www.gnu.org/software/make/manual/html_node/Shell-Function.html - https://www.gnu.org/software/make/manual/html_node/Reading-Makefiles.html --- CHANGELOG.md | 2 ++ Makefile | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 03f2815c45..8191af3459 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +18/2/2024 - Fix version.dtsi reset after build when running local builds [#385](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/385) + 12/2/2024 - Update GitHub build workflow to use the latest actions [#376](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/376) 2/2/2024 - Makefile enhancements (build left side firmware only, separate clean targets for firmware and docker, reset of version.dtsi after build) [#363](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/363) diff --git a/Makefile b/Makefile index 9d7d347a5c..71691e2b96 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ all: -e COMMIT=$(COMMIT) \ -e BUILD_RIGHT=true \ zmk - $(shell git checkout config/version.dtsi) + git checkout config/version.dtsi left: $(shell bin/get_version.sh >> /dev/null) @@ -34,7 +34,7 @@ left: -e COMMIT=$(COMMIT) \ -e BUILD_RIGHT=false \ zmk - $(shell git checkout config/version.dtsi) + git checkout config/version.dtsi clean_firmware: rm -f firmware/*.uf2
  • 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 bLZG7o^9brY+<{l?nR4NOfBvshfbjo6?OsHY From 2d369451ae2a1326f64c37221802e1f4079b590a Mon Sep 17 00:00:00 2001 From: Santhosh Kannan Date: Fri, 28 Jul 2023 10:58:15 +0200 Subject: [PATCH 31/57] Add instructions for upgrading from V2 to V3 in README (#197) This commit adds a new section in the README.md file detailing instructions for users upgrading from V2 to V3. --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 3f7be2885f..a5a4617d0f 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,11 @@ Follow the programming instruction on page 8 of the [Quick Start Guide](https:// > Note: There are also physical reset buttons on both keyboards which can be used to enter and exit the bootloader mode. Their location is described in section 2.7 on page 9 in the [User Manual](https://kinesis-ergo.com/wp-content/uploads/Advantage360-ZMK-KB360-PRO-Users-Manual-v3-10-23.pdf) and use is described in section 5.9 on page 14. +### Upgrading from V2 to V3 + +If you are upgrading from V2 to V3, and if the flashing didn't work as expected (i.e. if you are unable to pair the keyboard via Bluetooth), then consider [resetting](https://kinesis-ergo.com/support/kb360pro/#firmware-updates) both halves of the keyboard to its native state. Make sure to use the `settings-reset.uf2` file from +the V3 branch of this repository. After doing this, proceed with the flashing instructions above. + ## Other support Further support resources can be found on Kinesis.com: From 581cf8380e1b5fc3a64b3efae9a4456502de8b80 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Thu, 7 Sep 2023 09:55:41 +0100 Subject: [PATCH 32/57] Add CHANGELOG (#221) --- CHANGELOG.md | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000000..7cda150018 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,116 @@ +# Changelog +Here's all notable changes and commits to both the configuration repo and the base ZMK that the config repo builds against. + +Many thanks to all those who have submitted issues and pull requests to make this firmware better! +## Config repo + +28/7/2023 - Add a section in README explaining how to resolve connectivity issues after updating [#197](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/197) + +### 6/7/2023 - V3.0 - Major refactor to board definition to match the upstream PR and comply with ZMK pre-commit requirements, Final changes to key matrix in hope of avoiding any future git conflicts, switch to zephyr Pinctrl API, Update the settings-reset file, switch to the zephyr 3.2 branch of the base ZMK repo, add instructions to resolve the conflicts upon updating (adv360-z3.2) + +7/4/2023 - README improvements, adding instructions on flashing, links to the GUI editor and formatting cleanup [#128](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/128) + +4/3/2023 - Add extra keys into matrix that point to nowhere, fixes spurious keypress issues when using USB3.1 cables [#114](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/114) [#116](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/116) + + +14/2/2023 - Disable ZMK logging by default to improve power consumption [#101](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/101) + +25/1/2023 - Fix automatic OS detection to build properly when using the local builder on OS-X [#91](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/91) + +16/1/2023 - Change formatting of keymap GUI files [#92](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/92) + +21/11/2022 - Rewrite README to take into account new makefile structure [#57](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/57) + +18/11/2022 - Add SELinux support to the makefile build sequence [#58](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/58) + +14/11/2022 - Makefile cleanup to delete docker images on clean and run more seamlessly [#42](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/42) + +30/10/2022 - Improve make clean so that it doesn't error when run without build firmware [#36](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/36) + +26/10/2022 - Add support for building through podman as opposed to docker [#10](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/10) + +23/10/2022 - Update GitHub actions to avoid deprecated actions [#33](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/33) + +23/10/2022 - Add a makefile to reuse the docker image every time [#29](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/29) + +20/10/2022 - Update settings reset file to fully erase peripheral data from the central + +12/10/2022 - Fix local docker build after V2.0 update [#25](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/25) + +11/10/2022 - Set manufacturer information over BLE [#28](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/28) + +9/10/2022 - Cleanup of keymap [#24](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/) + +7/10/2022 - Add USB VID, PID and Manufacturer information to config files + +26/9/2022 - Revise local building script to avoid errors after V2.0 update + +### 17/9/2022 - V2.0 - Changes to support Zephyr 3 (adv360-z3) + +9/8/2022 - Remove extraneous keys from the GUI [#5](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/5) + +13/6/2022 - Change default keymap, add default macros + +23/5/2022 - Add local building with Docker, Add a README [#4](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/4) + +6/5/2022 - Change LFCLK accuracy for improved reliability [#2](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/2) + +### 3/3/2022 - V1.0 - Initial config repo release [#1](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/1) (adv360-beta) + +1/3/2022 - Initial publication of licence + +## Base ZMK + +There have beeen 3 branches of ZMK used for the 360 Pro so far. + +| Branch | Date From | Date To | Config Branch | +| -------- | ------- |-------|-----| +| [adv360-beta](https://github.com/ReFil/zmk/tree/adv360-beta) | 1/3/2022 | 17/9/2022 | main (since deleted) | +| [adv360-z3](https://github.com/ReFil/zmk/tree/adv360-z3) | 17/9/2022 | 6/7/2023 | [V2.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V2.0) | +| [adv360-z3.2](https://github.com/ReFil/zmk/tree/adv360-z3.2) | 6/7/2023 | To date | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) | + +### adv360-z3.2 + +31/7/2023 - Fix broken CI builds [#6](https://github.com/ReFil/zmk/pull/6) + +30/5/2023 - Update RGB indicators code to match latest changes from pull requests + +30/5/2023 - Merge latest HID indicators pull request alongside dependencies [#999](https://github.com/zmkfirmware/zmk/pull/999) [#1803](https://github.com/zmkfirmware/zmk/pull/1803) + +30/5/2023 - Disable BLE battery reporting due to unreliability + +30/5/2023 - Various fixes to allow compilation on zephyr 3.2 + +29/5/2023 - Merge latest upstream ZMK (Commit b276a3b) + +### adv360-z3 + +27/3/2023 - Fix power on behaviour for RGB lighting + +24/2/2023 - Fix indication leds for BLE profile 5 + +12/1/2023 - Merge latest upstream ZMK (Commit a82a0ec) + +12/1/2023 - Fix pre-commit formatting + +12/1/2023 - Fix a compile time warning by defining struct in header [#4](https://github.com/ReFil/zmk/pull/4) + +25/11/2022 - Add extra BLE characteristic to fix HID light reporting on MacOS + +19/10/2022 - Add BLE whitelist scanning to improve performance in environments with many BLE devices + +19/10/2022 - Merge latest upstream ZMK (Commit c9eb631) + +19/10/2022 - Fix initial power on lighting + +2/10/2022 - Add ability to scale RGB and backlight brightness to improve battery life + +13/9/2022 - Add custom lighting functionality on top of base ZMK + +12/9/2022 - Merge HID indicators pull request [#999](https://github.com/zmkfirmware/zmk/pull/999) atop of base ZMK + +11/9/2022 - Diverge from base ZMK (Commit 6124d25) + + +### adv360-beta +This repository has been deprecated for a year and as such will not be documented, it is advisable to upgrade to V3.0 as this has more features and improved reliability From 45fca6f6010b50cec3e7f8df4fe4af4bad1e470e Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Thu, 7 Sep 2023 10:09:48 +0100 Subject: [PATCH 33/57] Readme rewrite (#222) --- README.md | 20 +++++++++++++++++--- assets/key-positions.md | 26 ++++++++++++++++++++++++++ assets/key-positions.png | Bin 0 -> 545687 bytes 3 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 assets/key-positions.md create mode 100644 assets/key-positions.png diff --git a/README.md b/README.md index a5a4617d0f..c0c3885d01 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,11 @@ ## Modifying the keymap -There is a GUI for editing the keymap. It is available at https://kinesiscorporation.github.io/Adv360-Pro-GUI +[The ZMK documentation](https://zmk.dev/docs) covers both basic and advanced functionality and has a table of OS compatibility for keycodes. Please note that the RGB Underglow, Backlight and Power Management sections are not relevant to the Advantage 360 Pro's custom ZMK fork. For more information see [this note](#note) + +There is a GUI for editing the keymap. It is available at https://kinesiscorporation.github.io/Adv360-Pro-GUI. This repository is also compatible with certain other web based ZMK keymap editors. + +Certain ZMK features require knowing the exact key positions in the matrix. They can be found in both image and text format [here](assets/key-positions.md) ## Building the Firmware with GitHub Actions @@ -38,13 +42,13 @@ There is a GUI for editing the keymap. It is available at https://kinesiscorpora ### Cleanup -The built docker container and compiled firmware files can be deleted with `make clean`. +The built docker container and compiled firmware files can be deleted with `make clean`. This might be necessary if you updated your fork from V2.0 to V3.0 and are encountering build failures ## Flashing firmware Follow the programming instruction on page 8 of the [Quick Start Guide](https://kinesis-ergo.com/wp-content/uploads/Advantage360-Professional-QSG-v8-25-22.pdf) to flash the firmware. -### briefly +### Overview 1. Extract the firmwares from the downloaded archive. 1. Connect the left side keyboard to USB. @@ -65,6 +69,16 @@ Follow the programming instruction on page 8 of the [Quick Start Guide](https:// If you are upgrading from V2 to V3, and if the flashing didn't work as expected (i.e. if you are unable to pair the keyboard via Bluetooth), then consider [resetting](https://kinesis-ergo.com/support/kb360pro/#firmware-updates) both halves of the keyboard to its native state. Make sure to use the `settings-reset.uf2` file from the V3 branch of this repository. After doing this, proceed with the flashing instructions above. +## Changelog + +The changelog for both the config repo and the underlying ZMK fork that the config repo builds against can be found [here](CHANGELOG.md) + +## Note + +By default this config repository references [a customised version of ZMK](https://github.com/ReFil/zmk/tree/adv360-z3.2) with Advantage 360 Pro specific functionality and changes over [base ZMK](https://github.com/zmkfirmware/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. + +Whilst the Advantage 360 Pro is compatible with base ZMK some of the more advanced features 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. + ## Other support Further support resources can be found on Kinesis.com: diff --git a/assets/key-positions.md b/assets/key-positions.md new file mode 100644 index 0000000000..1c2a7bac29 --- /dev/null +++ b/assets/key-positions.md @@ -0,0 +1,26 @@ +# Advantage 360 Pro key positions +## Image +![The key positions on the Advantage 360](key-positions.png) + +## Code +``` +#define KEYS_L 0 1 2 3 4 5 6 \ + 14 15 16 17 18 19 20 \ + 28 29 30 31 32 33 34 \ + 46 47 48 49 50 51 \ + 60 61 62 63 64 + +#define THUMBS_LEFT 35 36 \ + 52 \ + 65 66 67 \ + +#define KEYS_R 7 8 9 10 11 12 13 \ + 21 22 23 24 25 26 27 \ + 39 40 41 42 43 44 45 \ + 54 55 56 57 58 59 \ + 71 72 73 74 75 + +#define THUMBS_RIGHT 37 38 \ + 53 \ + 68 69 70 \ + ``` \ No newline at end of file diff --git a/assets/key-positions.png b/assets/key-positions.png new file mode 100644 index 0000000000000000000000000000000000000000..7ca1bd702532d6607f21646c5c1bb4cf93c3bd23 GIT binary patch literal 545687 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 Q~zZ2G3bfTa*nGQ z!9j4yTFARYdMNj6+#vXABVz3SYFKggiKM}9f!@}FLf_NxlJhRB&dTzSuq?sjBQHcf z05Z$z@eH}YZg7F%lYLL?x>UdIIa%oXns+BGOVJOBhQLqmOD7pOICrbvdu6c8f^6A( z(tf^&N5kWGPnyRFqU6)UPdg;TwoX30GtS|bfkG0d9#m7bb@q)X1m0`Ghfzbr@9s`1 zJU?m?81uoZV>`(*F@5&;UF&o?ctt%|jB}GRlIA%d#C%;->sxv9K68LRJWl-g@h&Lv z*kS)rjLUdt;}x$o0MF<^gpw7Zcd!NX<=CMTSW`Gj)>9OWOVj+hHl*jz?1~ML3!S7+ zVIK3Ybr>k1-=MX~ShVu!js?@QIG1K6w2Yb8d^KqVLx`z=; zu=7!P+Nxc_N{*y&u~eKujmkDgXe;KiSZs$cSk!ySca5&lbmmbD$#>2SKB*RO@2xD> z6j#C3i$9W165E@L^S{9>lshuEeAc~&qKpJLGVN)uZ*5JX2#WB()9&b2>eg$v3E~yy zpcaiVCUXU!>&=)o$~!1_82UxO{l#x=lDcsF@CH!2zw_AX!ho`8%zFhmDkhG0?hcQ_ z{X$uVZM1U%iht6@N&=KRWg8U$`IaZP8ImWyf**dIEHxOOy)Fpd3UH#9qK$fyIr7(b zX3H$i>_5zVk|!60fR>=Mj`bx|%|fq#;-4(oM~OqFlF>DB&~H!jC*xX3ZBGQmaJq($ zjla71d`CPCBzDL}D|8E$@v%TcG`BYR-+{sYbo1YE+Y_LMK;7M7oLIo~rTOW=(&OC1 zELN;BX+pX!>#krxW6?@3_R|;0ME_lA#(Ila&RkV-g{W+gqcq%I#}5ecKOh0pqJ`jV z|D<{-jIm5H5!LKxwRMWGvNESwCb&p=lqbQ7B`T6k7ZPz9vGq5QpIPnhGwK%@udlz5 zB)$iI!lV+7{B5x}XXQ-WN{06)JkaA0VT?NfC5EDpbnL|gy*giQ!RRbL==UM&5jW^U#V)WSVEJ4{hr_su&I@ryfQSz{GIjT!&tsxF$;d8uBL0*0Iq zS)0yXrFiDvO$q@zkQM?Bls-5rLK6S#XgD~hX^Q@PuD9JREISG5cMpS}_gcm4h(gWK zG)2W!%dpB@3Z=1mKLx090xX*?Qm6_tRysQ(RZ2e9V@qST_L-;vkY00u_S5V@`e3gF zy(Zg)=j|b3T!Iihjp@OHf!zM z3v?TNNsJ4B7C)>%&-aWFuiaZLwiv3Sd*c0`1L@JVtY2t6On5@%eH3nTQXDdmw;M8! zO%+X1uyXdG53s1oqct`2R#n71{QOE3P0VS;1AHRl;VcE&>u%gMuw0F#Q~PH>Xc3cS zaAC)1d9(2}aOXYU(MrumA7&DR{1XlkC?RWo?{_Ia)6^u)(?uzj2zTWO2r$5Ggjh&U1&Y3`~UT83&(Z6bvd88#E+w6_JoX`Sx{jNYFS?Q8jGssU?t=wbQ0$#qZeG+{|PN zD|)XvC}}Dg1Vmt5L2!1^SFOwlO=SEbzfDIOnutmbutl#TO|*#QW}EMnnh(AA4{#Q> z*jF9Q7X*~%GW_L(MP88i4_6Hzn#uaSNo`T8s2c;ny$H6jv2r#@3xE?8Cr5g10ckmz zWcQVZ5D$IVM9oA692(qwpf3_cD4x&Z&P>%-?M>k{k9LnaAj%&dYLZd!Iyfm^!G1R? zj6FWeq)5RFN8$>ro&74*%tm3K=FV>G%6N5k7UoUE*FnE~K_snK^MT3ITP6@AFyOH) z^Tei_=gATJM&o}E-FH``-`~=!}S7*dxO99 zxQ|Wx{NmLbMDM3}?mBzN%2_@<&Q3&YhCqW&48_?!PhgP+2%8XRWuU$!NOyz4ynzis z`Rj%~9u$9P;^XkAf1eE{MZJvj3I^*f^p~6A^P(7|zb(9+T4){LPCek@WvaAP*nfWh zewsNq+mjIRJmazp5Q7SX29$l&*d78C#<_Oed!({hbL8DGjt~~jQ4w)jfyHYXd01L>?WP{KwRuhjW3 z?073DrWLq>b?EDWQ{NN~2z2!i81|slcJlI*ap*qfw!rfl7;hOaH%Jex)exutrY_Wz zQ`e}RZb^0bI};%p!Z;fb$>yr-}49JYci4YA1guH=vwdDn=2qme$i3LJ(Vzw~mIm zYzL{WqUU8#8|fe~(`eY>8`moi&KgtM?Z{-*Q45E@+==f?v$Yynm5G+|WZOjP{~_uG((!5_ z;SJWiKc+J1^jsC{g7VhS2CapkbMJQ@r}th)RNZZA#?tng(_0=g1u z-avP9mbiE47nu>JnJ?ZnCL4m`uKONZ+gscf-Rtu()%H1;X^!2i)4_l9@dBRU6kqDvbXy_By_yj_idA^8S}Cu$Th>yorilAyciEJ&3%s_XJT`_ ztM*bgJ|>-ed9U1BNCm}l0O|mPUV}?Swq_)@otnlCcOC@mRVVW&1pyB3uUg8m%VsVH z3T`>|7Z%o;{I@dL$X#Zc|H>I5QSz0Rlqg`?On>`{2$Po?Zc%P;mlT!3#|ifta|hVt z#6RZo{<4lo1DZU;XTnH`m2S&qps;$ETk%^&H7Wf6!=8Xi=+<6l5 z(lfYO;*}Ep6R_9gIUjGZFCpZPii&du`A+XwQP z>@0?FE*4Kl{KgwxWt;K)d|E012I%$|zoCFvWUQ)c+sDf5nh)#=Fl0KuWaWZQ*VSph zu1m$Hn_;MF?e|3faACC#4OIW*)~!eWJQh$@rB`v3wUh2q6Q7Um?jDkTbjrKwTY_xb zfyAIqTvN;T9wY>hXj;i^URG8CNMNQ9c>u-{oYHZ>$e=SgL@zo}sfwgR!~gAc3=gLn z2qGfFEMr3JR}smfD|$EzxLJn!>YKHhA!=N9(qb{WpNsZBo`&ZgZzrFQ$i4YB$)+Sq z6UB}KYk^n#SN0)(^M#TIwO7x%zLGcRNAj`jsKxAxSYkF#c8A-`&+^!r1|NNDF(O_5 zop*tLUjiVdg(})J%*hQldVd5qIxz|-PoDLhGGu74xA7GCu3d|WzX8L|MI6J&MVH4< zNENVTh^xf+PQnJ%506M|ZzQU)7(V_1VQZ0ZJ4<;T9-P$Qp#=7UqLPW{|AwgZP!Et=4L{ z1dRZOg22T!IBHeRueGy6tYw$`z1~9SW=mM$eov{_$3P}#tT2iuogsB^^XklLE_o@* zcI81UQ_}`$nOhL%$@8z0vDd-!tgr?aTnF@=|{#u28 zHnzvbf_RZD#JY-Q7oW`av{B@UnKjOA)CcJ-#!jFiADg1$CZXv}s-!9INI<3W(q|dw z>4KF;_y){7od?y7C+l^~hbKRPzgLMeI=pxWxcs@>)|WZ`E&d#u2$lV5CPk>3X0-}w zmIIE=K`x*%RvPLr{bOs{SwpJ^;1_-5Os8(GCyIm3@e~VCXquNR8*7BM5;`Of?#hNB zQ+i_YW^7_BLyQ(eDk0@X!r0Kkb9@P?r5IlamoLI|7WUGFvLl4({HTk1N=ZS4kwTj7 zyn^_w9%)ydfGV?B-QM25bZajRNP^q-<(KkQyUBL`* zDlZN8xl9A6I1$TV2F z+y+V<%>M1VWl*uKTH-NxlXd6@JUFATbn>rmY0IBJzsvjL_=L#K>=;jVhP z%3*3^1l8oEtcSH>Y{^72Q~n|)AmoNFUK?(TJ4~GeUa9rpv-PvFQ7@j9wdv-g#ChK~ zHf^rq+-#p-o*^{sVRX<-R9M}xj3&bKWloRW-OjfGkw8!Z{b!wcA{y*WB=J|RG)Hru zH6(DpvQ`$L7=nN-`s(|9GWfInu!wM2iStUfISqV7{2f6aD_nX!E7XWYNS6pTQ((a> zHp>}(TryL4sdfItzxK+G%T6rg90d#`Qw>`X5uA8kXr_P~oS_O}kP`P@ex;KbeCp5$ zV^MRRq>e)NkJq60gn8-Gr7&&IeeiM)WFuT2W*UGnttwg7*IeHw54Vg>G%BvhiGui{ zORW_$*j_Ve8eAKp@dnO~S%YV^qek23uwRpYR=&A^N z?utxibuQ`-d(hiJnwXn~rs+e@b3uY6RV*D!j_vALdnaQy&5rMpQ*ykMnB%>00P$F2 zYj%3ju>Z=SlwMZw4{O)N@6n9Jy!2e?7ykHrQnGGyqZOGpP4&p2wtxNo&>d{t3mZ-} zN^V$$1eK2jVO45MaK=OxRf3ez2o|kf2m_R}$(2~(n*}^H;_~A|JN`g8JHXN#l?bgg z!-ppVo(R!rByqw)=|mmeaeB4&DH20&M7$Gz!)0wM~E3PbW^SyFY+_h*C5W6jc#8kQMT0y(x^Umv*w`#9ZtCh|N6GL>d6|C5G{u4d z$dA|47k~<4&&A@_13`oM|2-J>_V*900p&0SjOA7CZBV5IFN_127FAcSI zv9!>ZMokxo`Mr;NdC)ktb6i_uund%72!7Khv{jGXRgRGrRnY@XvO=?O!)7W9wiQhC zcnhj+hjhw>&f`^g1Hx#gM7GHnQRR)&k=sv~HLj=L^F&VBJRz84Vp8{~XNPHnCCwD1 zTIiMzG*?0?#4GFucBHn_KyIIP=rp%~WALB_EFhKJ2Y|Je@F)!&<#+sm+u6AI39`de zVvhGSD}rzerPUO6z{xf|lR6$2Ggs_{^?BC{)*KX^N+}7vpS?d2uHfO44<6sWCCO!- ziNty31J&fEtT%NM#qzp6lapqBhqfT`2vfF?ZK=sZl@zRC?n>1Cr^g7@L*h1(q1tB0 z96r}CsVed~nact*;qfl=eo_1YA$g>y`ut60+lj>N99~!zfFZf9DSU(GUI3!VlkbYa zCo21#RST@EmzJy`C(@{%)_CuCzID)pRneSE>-n!wDkcTDg7)1S3k4s}@xU$?V-dQE zrPDR0DFqiR1q=`;5J2YkAVU zO0n~F&8$%U&$F3$DrT=A;{K7PI?|SI8-deb%hL{*wapoh%9k_I3eiq&e^`~{6IZGN zaj+2v&`%GD#L?4A5i`o@r8~XMy$TETUukYE*kb5HBmU|{n&1qJ+|IJEbC7b^RBr>u zkH5(#1*?}kS|Rt_NM%>V&l7f)G_R4tCS%5$AEb7rLj&6;){B1iE`#mO;$GVNs&pwS ze*|8kV#V;s6m{LD)4c{jsric2VpE zpiBx_apYWA2M3n@8dh?qnQtk4ilKoC7KjVjoBX%Z%{6~ssy?V6z0QGSUR1r-ZF~)1 zR-tDOdh}%MO=AcH1pi=xd2jzLuzF|WtOe54n?Ur{HCc($2e}#ld#L|bJKyIa#lRA= zme0T8g0LkV*Zz>UgmqACV^R4b}2b= z|D2J`yI&meES-#8#RJr)$B?%08qBy}c~phWrr;71=V>%(QRp!9ZtA$x)aev(9E9u7 zOfjR!Rrg+9y%_JdvVAoYCd`sqA_;TW*TG9ZI8Yz*Ms-E22JR|{traVfo%d_7s!NK$>AZU+WQJ|X|t;Kf^&K`>4FiFmm z&qnZ~8m*|V3rc3IjW?E&yDOh0RFzU?(Dgs9VYY1&yhBe|_O-I8jTHO(?c&?ePtMz@ zcn9B!l*F?5ff4oI#07y*CfnFzu4Bg9*^JOD%Is~G(D)C)aU8T~+1izF&s*_gLno<8 z8q@d4t34%h5{$#sIKlNRMb^{ z<$K8G#O}3yHM9y*t3EjM3E;2r@bgha@yg$RGcX^~hhOKr!zy(njQXBbl4WZ|jwGxJ zi|#Ao>*mfCH2*$$amp$xR8bPZekBJq;D>$(%x&_I47|O1QETB96^`Gbe!M(!rrONZ zcjW3+&0vXqIngxKCW>j7?ZlW4APnn#@%w4-Y3%+e_nYxsvU%Q?#V34o=Fe=1`P74A zP2H0r;?%c(4Ue7wmw?6$+^TQu;{3Q4wjek@$Nh1u8OI=Dn>BxPTLfs4G_u6 zmgcSfrQ>4bqd=@RCi@h{A`5%j#d<5ea7V^eS-UJq3N@S8_LykC{P_vhzyGlmZB?S4 zW=Mrfn9`#3mT8Q+jN%ceKO#}e$)LfbHhmo(0W&wdk$z3rD@+?vf(XDl=DKKA6YZ@V zyH!bROw)x+1KxD5(REM;j0vyWk2^A$*6Dh!_Lycm$&al2uT6E$o}zX!e6S`8_~*dc z)ZN2GC_4Cn040{ZwO>TrM1O>-hL%X(PPzfR`=F%`v>ox?g z;rD#4z$7yN8_b4LPA!%AXCZ;Inb-57(xQCjWb4M{dg2HtWKmpzxWq0@Wwcil%H8qx zYxVTpDxK-}OezmfdMHfclxx2(;c9_4aoLYDyg3oU?|5CkS{FO4fyB}~;dgEACA|_Z z?()^CN@n0mLF_QCwvVy4GX&^iSqB-f+&-w@Pp*0}OS$)m#6-?V%Or zhVP^MLK=sA4;Dh*?yhBQmyz{(=dE00P?q2255upijtMRFZ21SjN26s;$9H}xEzR9q zg0`IfV-wWBl*w7uD-{e@lxPUBR}xGJ03)y?ok+!)k!t@!;@nrt<0|xRsP~(ZlTUdx z(sX~~QiF>-tDrFc`;sszxztA<4e|ZT#if^7FEN&m(LM0V)5d6FEo-KLsyGGu;!d7@86F|bNY7~KvQX8HsD59EfAhj{TgZm| zu!aMA@mRr2a20~8e*f6>l#}@dGVmHp76dvq%wbY9Ha0fL#V-=2XlNLtvu+%# zZ;1+~^kSx1?sVj$_VF|{irc$Ix5@!~QU+0%2Etck4do6?L0%4ajMm`MF*_A`DceIu zW(^h;S4mgdtT=gm9}90EXhQq@2O}Jgx^4hpW~Q!vuH|=3Ce5%LmQ2D{Wh*N?4tt(n zt&a>J6B_q^nNHDcYH5dYH8zfp3C1}PS3AK}Ls<@{*vQT>fK2yYc$}!itc$5qr_7yr z9b=SrL(I`5?UR3MDeu2NDYSyKYDkQ6?d(xTHX5mkT3RACQH%j6TUP@Cwl+=i%YSD% zp!*y)mVI`Vw7`coCRLHZOG`6zpoDhKB))@TU%{ZXF8MYlppaL|5oYn4?uS{#@)5oU zc4#nxlTlflR2p-?fFDP~b4^?5iU8{H(&I-)sD1$EDdV6;5oBR*Xw1#29za(=jUlQ+ zMm{`dk?8$#@8ZA)$;RNtIp4Q|5fAec&CPvA`Ho=kwJ|ze^*{5|nInh86<$>z*36#c z{A5Q*^eUn1MS0!5p6R;9Q+pyMX4-I@wzg1VPgb6Qts{OFvf}90k+n1n^O8YbL#d(- zv2KwdK%QPjJ%6YJht@@CkImZnotk!Wc(u$b;^C9Besv2SmLBInnS$8wVi*KmHEHWG zT4e4_Ck(2<$bE{POEXN~rq9gL*ICUI4um<`9LnjX==l^ZuA3R_JkTr}US=4)&E`-W z13j~WF8H+#Z^^zD4~B9L8aUM{BABCr10E_u8}xAw>v_6>Unn7VkGto;(y3&Puu zyM}%hvL6dkGlPhm5LS~g+FukH!cP)amNka2ue_*!M-aDaAq5tGFzqK%c}<~~vnf~9 zm`c3cKkcn+UW;xDgo;g3l(^OU-ys^8?b}@>;C6%b&R3c6?w5#7cfmoWEf^<@%stD_kwW#X#e&Fy*t?1;5w*xA@#a4}dA3DhqZYO~5R0C;H2IaDjjrKhhn11*4EI<%vdO>N^Wdj`6&M)Wo2o&E zj!|1H@oO`&#jO@Ox{BGp3W{LRick_M_&%iLa{A{CZ4f(5EpG2QW}a*bCtr`Sx{tWJ zSftAFJGR^O>tfGWd4oXt?lW+?BJO1#WUC%qVUoq}`w4L5@e|hpw&hFrnk;-XR}N3| z$9MqYwtGzQ*P3TToc}kxY(w|uarrAMd^x3DFU4v_?*uHX%~aMfu6UcUWrDjvODmQJ zucsa2QRQYIIn3weWRFf!*0vdU4(1;og{v*8M0+?tr=NC`gBa%?V=@nB-AXaT*Y0c@ za6NCyxaDa*kxR=!%z0?3cAsu~RN*(=?Bc~j)uGQKo@4wtF0`f;R#p)`-*Lk?j41LC zC|L76OusTcwT|4M05UubnO+y$zO%PeVxA-G8^=ZMxAIR$L+Oe*j^BCW^_EY`K3O^& zy8EB@zVoZ8ZhJSVfQIHP2pAy1QE4io5PFf|iwJ}!O?s0T2vw?~*Qkh~5la9eKx0JW{;-?s5u{Md^&{~vXR{1ux~8i{$oOElzVd>7m_TySDZy}zPYT9KRJndF=@hj2< ze%&nwgWaqE{t`a^T?Zq*bzYa8#u_gs9wh|Lh=Z$^Hs%@gfmXNO8-8+gaB(J+k(?TQ zs@1MJ1uJ*kvW%`T-WTe<^6ioUFVC(_+WWS=tLmjwrlLZWR$bY}#bv{=vF=9N=nPA* zCDyG7n=X}`X{@=jbdV#{Sm8ktuYJ04BW1kT#mI;fP`gFdt9<1Z^oMRiubo;=S|Q(f zI8C(PK-$BOJ%e-x*lY5oV!!b`cfUfs>p%Q=@adm&z}O-%1oan+VwlD^p>_WJ*0vs^mZ5;%PqVSRo0wFa)V;j!x7&Y-VR0O^ z6Rj$dW%6Sr|Ath^4Wl=^fBiy^YLo`9I2q9|fB%Gh((SjqzI7`{Nu$<4(!6DKKgKq8 z7Ks9i_=s;k6(Ybd!a%M7foXYH>3vxi`@}zc zZOL%(#I0$|!rm4R=~t6v!^^enOcYvX2A(3s+=Ee5GxA*L>(QGYl%i>fg3{T4d|^*|m5K0WKkj1)#dbcnt5&gL z*tRF?;t38sz9i3J^5N%DHt-VkZCq-S*GNed@!P)7u!3(F!5%Y5vaf4ckG%Sa?xNh~ z6%_b%@%adM4^=YAh&62be;P7_#y=r%f zzSKQ*Z*Xvk%Rdq5n|*J!kQi|QBT0XwYQ3{$|8-wUE)6jNOoRH5C#q4KBYZqP&$@Bt zPEfs{VdqHP^Bv1N2cKo=peZyye%Z-aC+YsUem)u8IZJ|2Rd;fzs-`)v>ONoeBA&e6 zgR1d$vr|_kpnS#Z1`~R?1<%_EzRpY>pfFe z6h2{Dx=~2|vZA6=HSDRa{U;F{pRVM|v~E}oIxJu!`JgSTlPdLK3D@|_#aH4%+CCQA z3@k8GD4Zixx=6WUF(D(?nT^FghuPL}u3#Z{PZH7j)f&BC*rZNs=`SG!Z&H)IWy02##`8UpwkU<+DhM# zd~%y@y&C^?Qt`hBg1vJV9*a6-mQmW@D_8 zmfZPPj$15P$gs{BgF4)@0UF18`O6_B5_V65nVR-;+#doh^xXg(=D7gT;0n=6%kGh4 z4y!O9P`=6Z<`tA;l^9x}P2o@dydUCJNciRRGoVY+>`U^NOB1;Te)WwGHa(~a%MLjh z`Xrh;TQH}IMFot{p{F*2_N{??VA+0_DlZQ&*Ag>tt?1QU2jAz@OEoH%z4qtqx0GYB zrNU>3Nu0jCaEn$T()&)zm*Cd7ZD$FR2FZcN+BN;{8D){aE*v3P>0B`lpL)H77%>4F ziF#8sbA8JG&V*KVu#ma=ElpsmYu~4W%mw@k8n)e8WKU9LK5=K_I7oz9eXV;yCjRG6dWsFw*whO4p+T6KdZ0XsCs&oq@|1S3 z5dycvkPifBx*_?I8*)!FM+1J~k*h8;5;cC>Agvu#d`k)8+WA7s1mguyb!0$!tT z-PU~Lc`YIOr)lnon&$7G&}u@?kVuSBq$lE zxE5;~RHMcPs1j^xWkQ!k=(yeKs&m1a5P`0 zm9oFj`}}cce&(HOhJTnh)$cKCNtY!ah(#6$x5Y+?r#>=)@>+2DVZ(g+ShfGh zA^OFI(^6Zti?&0MnqkkOwZg406u}9sgOwE0Ip%}0=6)DqjJ3MOS0MQ6Do}o!!zF#RF+)5%=%3ajKG^o4&bOo=G z;Kq!DJ-GoxS)~D|KZFo9m;K{OjMn=%HU$F}p+Q5?SC?Q&cGE2Fq=4Ff=hT?L>(Jtz z@;gHYW62z$6T<}s8Cw7@ZXnKBS>6?f^}n1douKo(Jf5IL9%dfW&Dul3b_GfnjuNmN zQWDb>3K$^bvyDinPjn7!mmUxvq%5T}7MVbj-%_0q@Q2l`Si+AzXpGex5siLFDY%2#n}#qX!#4r z#>9wPVMQs-DNZ^%X#$>$i`Fta8nNhg)ty|Vz!-%_#h3+N$z2fk%3IZq-2P+#pj<6Y zoKvCGuOxry>GjXbnL*ik6)`hK~QR%#YB%y*GN(*sA4{Lykj(Sg;4-u#y}sW?fO10@nsl&stLAdJKXq-b5Lm z=xGG{Z|v31>it^SoQCL9*jUkIN3ZZ+l06qIJ%P10VRaq&F2uclSu(Yef%>x*YgFOZ zw?l?TRc{q!xzB~#9w7xAzSyG0utY>5t?L{QcNWtG&i3mRoVqkTW^HfJkq8Edf93JY z?y{%9ku&}h{8y&E6~_{z5+;R``4W6VT;gU!(46HROtAvFNOLr(Jdzze$A8cf*#nAF z_}3i?tJj(fX(lz^81C>|!N2i$!HlZ}ucs7RWT0C1lvSn*H&OUA<+R_|uH|vf4<8m) z-)PU@Nw6ztY|r8Up}z8iPz>DUsIi7Rl_O*XN0?eFyTcyrd*s1-@POr?TGJu$=F?y3 z;!GZK$FI|k{gIyc%{FY;Neah3#Mkh@w)nS)xX9vs@0eCa<#!|><~Tf!`D<8nfBdaQ z?4pdpzj`*7Iz&oJyc0~=CBjkZRxd845}3*?rQ<6rD;q~g^NF&>UB+G=V&FiQoSBD@1N7+S}cIFNv>}Uqvv3`$HN|Yu)@Npfcs2TPrlK zrkb#Yo|iABxgr=xZ{2}iYEQZHY2~W7NLJE`O@-V@E&B;Lg`RDzU|Qsd zGLq&C;Mfp44Er;K3u)|2$!BSva4pC6yslEThk8k1+Ax(3AdJh&hF&y3vq({Wg4D?zS=U zE~Prh8G)07HAxeF?&cK3g8|UydE`S$zC_P&-K-Fw}N6zGcLqd+QaI8_=a%iy1p;6sVxOm}srfU%l z^iRkMzwxW8BEs)b$Uj-g!tCUUkP*$+t zH`JceJP6mYQn^t!?CY~T6lbABt35ZN={soE+-YvTt!pR);rvJVc&Bs+>?2If&p>qP z+0DvEGVM>N3?lt#L30iC<>zT+Ue8U?=m#=6K|vEmooFGhQTAz=C0B*u-uqF z-`Vzr;di6K=Cns}=Ole$VNJ*OedKO zC<;}t0Xv6sZz#6b7*M^CyY(;+d~XUel(*}4-_S-j|3Kl$i&pa=<3H#nHXm`FwBOpYLfhEu>WXA4;U-fNtAt2WfR(=SJfuZBLGkZ-rPyX3D%szy9fy=)86D z$jaT=|nb8iPS=kO9W%Hw!ji$72uexp4Nh6p?yoOO-5m(%l7D4jDMQPj->TT z;h)$KHkr<9N0(y=gnctJubTBs-P&tBQdE`eo+PDmy~Ew_d$@p!>+_uBc;!)L>MOCN zZ8RU==Sgx96@^iYjQ`Jq@F@klcWijNbV{$O{?NSfa2MO-H^qc&qXveJkt{ zV2p}j1kLK6*IdB79l4ofO@^-iNb&Ek_j!A|=sz|Wn>)Bk0}kz);fMzyiE{xo=P!13 zwdJtVx0H8zzS!okR>>}Ul_7d=KtucgeDrJJ?*#L~zr2bPW8if7MZh-=8Z3GgZQh2D zjW_8cURJm4^$BPe&PfaD?Xlh(;3<_db^Fd7m6;0vR>krN`4=-fj4;W>Wsf-x$!3&1 z7Y$Z3m-v!z%CQ1nd>~{Px`)<`en8N?e1S(Ch$-~9j5p4Qj*aV zm7-!}+U!mrRY}Y2|nena9DB32?EU-IXKJPmlwh} z2!FF-P)0iVEcAro-u~YWOFa-Xqy-o2oZ@;^-CGqPpBz}nGRJxrIjU~|2IY(;`afj= z0!0Oj*+XIaGwb)#q&BZ%s>#J^*JJ{M&MC(ZhCJ}+W2t^ObbluWbzTBC)<0)=R|JtX zIsCD)=XJg&A1J~kX{J7di$~DREoW>lNlR0m>9hDJqrO*PlQGjSqReqT5f(ttuFUr- zDTZ>Umg=vrma`lY!U`rvGv2BHn4rf%e+R=OudnZwHd3<0XC)q!XfSJspE#+D2o@5` zL<2z>`Q`k!Xjd*9NJBD%j|XDrtA$HS{MHc?gUkCkYaY!d1~G{=2d6&xvbdk^H7UZ} z4H&VvS6(!GvbRuw?zT{>!Fl-b{XghJ5U9RZ_oBS9dO}>q#_sPU@B+KLzL2k90H6|I z*)Eza66(R6 z;L6tMMy55HzF;N3b3*bkq~GLoS=II4D%@C#=BUMei_wwYBg zO6D%|DUjw?3?TMiv;L{n9UQ-^zt;?)o77^d4uPEl`>7@oSEDF#02l|T#)P|2V z*hZ(=+1CMF>P)*zXi3=@ThARcOuoWF5tC`sTTFXakxPzy`Q(eTu7DSZoEVO#HVUjk zmyD=6Bd+r)VXPuK7<8kyyyiJVwhxsv>>1BMq>BWoV8u4^QKz=5r0AjRfo~5P6%4)7 zgMHYcD%VN(h5{Hq^2(vA25&`P->?adw$0VD`}rxN<@>L1Rj&Phxm(2p1y-`5}#SVn_PVHH78@JQmd{RT1%Xhk%Bo&xl~jJ^KU;j z@cNko2`46S;X=;}+(N&TlnaUy)6yWFuUCjF0_Hh)_Fh(1`_*^}wlV)s0aUHhuqJ)z z!EVv(Jxo>viP+NNtuaDYcO(Y=hU&@#weFv3cbR>G3Wc3pG$@@Ai=F5!J^bm+^=bje z#=%kgbFGW(S|pV6l6)zRx+CtRwq>nG?gnCI~wvA$v2 zIHQyFuyKfNcywEPrEn;i0f2BVyIuKCl-nHx*Ktb-HrjZ}q>}M~S4O%WR zYtXpQV4q?EpMkw{ZU<{KqDD_ASH`^Uy?~3w^!ncSJ4eB6IEuZhmPv`3Z)|tD^15^@ z4o#_CHoZ|`La=T+=+#ev{mIdSnkYR6OQgg)NT`{|z~)Hu8{<3q$8MrZ_Sh~hOu1`e zl~{-rbf(VpmwtjluX>}gz4W2bfhcIx63PQiFE6Dup1MV*;wsC|VEq$=R3+G_xi42n zboqlzF8P*_QMSojsA00qp9i9;F2{DXGA$IBt=;i_Xh66tz8MqD>RQ_y=C=Fz^7yv(_%j?N5GY47P91Ml z4NxglKzCXeoxOeS@ES33mW#(*z|4}TOCLQ?t7CQa_PeKgR;SU2!2BMoel9aDi3XF@ zA@V&oD|Ra6#kM~f00zqa@%Y3a(*h?H4Bb&_33V>`8k|V`Is@jFv9h$`RH@sW1Pm}D zk90iz-{911Jdfab9TpM#Pv=u6=6E?jsU_z#pw+4i6y}k=TT^oZ|94rc{JDG8Eunh{ zl`0Ko)sg(>=9DXf>NSjw@+_lt-c8AbwvA-R`^@n@>S9OC!YUl#^SX@WEy}fxU=LBp z-SbYT-TZd8cqojWua$Z!iC*@h)-kE&RYS3FIA4jMB}bvhO|#=`4l*Yd6cl((&W)>C zVv3d*1_YjLDJtP4lyDB$AHEpn&{&!oalh2?4{BnGvDA<%rk#`)vvCg_$pkXIpmjcJ z0G@tBR=IIuG+fJQw!ecCF)>d4kk><3IoAPH&H+adUDSwlsf5706p}@AburAlOX!Z7?x%Fx^IHu7^nMix|x^Ut(X-P?b!HumU|=!LmOHv4Vcnrh-5lt!9vCs9q0Y825{fhNVqyN6h$o+V=I7DX zYh-k>Z)Ro+EA4}ijxw+U1 z-&o>hy2FsyfHE1nC5M~sM4+?QJGk1r!#?k=bcl60_!&B;{y8wQsD|+_qL|Wf`{nM2 zwo9gVmgI4CKHs)V--PO{IfPyPr=r^C?kU&=ga&bvlBsJIoj$#G zP=r+oZ(MIm$9eaDcBGU2j6(y(iL1ZUW+Phr|C-4%98Te>8lpwLhsj@I39NeR=-W^QL#K&pDw(2Pp~ z>Xe!s*$?l!9-~o(M7AX{$`#UE`e^NEtsdwH^Fb@3uu!HIe`thzpy1&4BTeXh&x#(C z58@QIefsl4m8X2C(vfMFAp5)A;lhX(Vx`UU(QAKbgLC@eTsfoqdg zjIghpFBSu?GbtPzXw9khnu?88?NO#CVj++9&H@GLDC(T5cdz?;s!?e>dVEVJA<N zj2Na?xfe~NT90d@xXy+c7?}4R7*q>OORMm*7qwq`($RnI;nG4u@|$`DN6(5FxA+M& zB!{(s`*&Bb1ALp7yRgC$NQdMz)(#mk&fHn^Bm$VzJwFuIFmFzLFc*lZy9*?p;(S7B ziqjlb9$97=)4Vash17*MIowXj%51=>X9-Pp$@v6e5BmiOGMFpzVTImQYVo8HcRXn_ zeevTz2)3R$G3Jou&JjoCicG~z%4g(7LYk@@K~fVdmb=HOhr_Xu&B((w!;W7^)}@1H zjjLbl_feC`-P`5oIxYFV$I23%W~~Ak=z|NJKU0HxSFEo#+-j*~O|!|O8E}L9d>2>3 zhsh^EKfKb~dEfvm9Do1()YTc(#CKLNCnY5hJSTYlLlTvew&1tgs#OP#>0Xl4 z-{05>yB?O#F0uy^q3>h1qQ_$`0s1d!J~*v3o5u_ z%acRRE4@5w`#D)D9i1fUBAAn9!RdUK)Nkp zeR)}xw_!OTWK8OEz~SiEM|tx7WY$d)U0Nlni#i8W%MWb*p-b}tNGO%dM4xzVq9c0u z&rw!ZN#?$<%^e`tQrXMHi)Cl%m$KTe%Sxn-E|5EcD))xqxDfjC!GSW=BhK&W()#hDS(u|FC|0_6Qjvu(AD8lfH;7Bqf}6`c=Qkj|^aH$~V^ zw$eQ0Sz>wacg*PWhIIV;7Bqe(wK%9)Bw)DlNDUYC1M#Mv@3LI(=U-t;2GE`t>4UF} z$M!T_*SFIZU`T~X=7$5-wBOA3hgr^Muk>SG4Jh>sx!R8LkL1E7mRM$dt{kXhOLBp8 zsVSk4&-;aPekyhknB?e^cu|G8ORow(AfJNw@^GT0`Bjx{jqb#l#*TzuLa_Hh;J6Xs zR*%OPT}D>L%E#>hXQCrf?2ZP$`K3u-&h<@c?r=ZkJc973!nF~!pasHSF7=}%cy6ie7vn5?1LVwfs!@yW zB#%wA4Iku#E1tmY;X7q{EH)g%p7UK5Fm=P1kj%P$P>0J}Awd!TX*q|X;` z&vWMMStPEqf}u!Qp1J)+e#w8FVoD^g(4<*BwD!+Ioo>v^r@yUi=~#BOw4Q*nMul;# z*|^){0zY|*{p0wnBJyao-(;wnMDmz6dryQ!VjOWU+-2y;MeXL6He+Rvv@pO#;c2E! z_0^XPyEEgEOrT=$x%V_ruI^s&G0m=|AE%INa4~s(qP=pY_4F{pk5})84|HvCno7DZ7{ZWJ+ zy|%UEL(gSCeBFt#S*3_+-Odbc&upx%i3q~RPONMZ;W?Eqq7nyTyKj0Jz zdSPevWr=Aj$sqLf^3(+qqdgZ~%aoESFcjjcp)|lGcuP>IC93-A>}N&}Y;5>Gbs6C-Iq>(x zqzxnm$0z(anUCyyynLp)JU*uH@;*S1;;nkUfjq(QgLYDj2V}q$s%F0GN?W}kn4WI! zrUR>I117u1mP1~tWZ1ETIWoNh-g*XY&$z;@i|f0GG!)LA!R|wLEnyxD69ZHRW49sP z9&oc$Q7MK9-90r{kiK~Qy)ba5H*n9ac`W?oScln%OKB;P>&4u zDucIEoA1CoI}es>$_RFpMtrjIjY7hPcYSX|ZB-AgYniK=v37e9DAf5^cl^q{?$_+F zMr*4^<9&eMrVBJ+q9I`np5CTn2~tCjKqap7I!Z8xvfC~A%Q&B$?44=2o5HxiRj#o z=#2ofpk9IrLE{bSeO<82$3Aq3bnOQ>Yu_&|rI=`oRMu#*&S(rCR5I^R)o*a6l0KTT zv$SqZil_&xu~Rc51~rtqepf*@sz?@G2lIm7ovj=7V$5`UggkdkQ~Vj~?IY^?p|+8g zq8ly1oFM1dl*jSO)fom|P-0HlM1@CO`%S5R!o3e#;o|7Pe9W9aaGBcl$7NBmg~t@Hv+pKpBe4`gt4X{QQ5pa+ z$PmL5>;5DD)c0+Y@V1Q~{+YCC!E@ZVv4Xi#U4R=c@mfmoa2EYO^HWLLTuit{Gk#uC zV*2BdzUJhRqEguzaTeE&biSjeGqc|-{bkmVBy4v0*A&BfWBR9K;ZMXk&44nKpq1SO zm{puQ@I4F`_OQKOl-+wp>u|*(Cs z1_wR0zB^VSk_=bFXlAvcyuTW)SB6-=bCv zbXVo@<-*#iptw+La$5WJ$*)IfH_#5U?{Y@_*^=m*akrs3=FICaE;9%Bb(L6IPq5d8 zvid2*M`CVZxcT}n17g=nK6`!Mb|P-WK%vBY*;29Xo4ABqGkkc34fG@Y>n9Nde9^|; z{=D7U`kbiwd{c@+x>Gs0d`M3Ew5k4D>~OH$ra%KihEodYzjTO;{)u{+Frt|j4DChU*}Qj zECK4A92WrwD3-Wna8(ev(Ar>-9*_5?*Szd>T{+XUFY%TS04HtM}Z{sH_vMKC*Z=(nKbd~HO15aUc!2$*9o)#KL3@#e8G}5iFWc}(v`R~Qt{@dVYDcm9Ee*vdXp%wrD literal 0 HcmV?d00001 From 8e2e77b63855aa11bc4652f627ed19d820ee5163 Mon Sep 17 00:00:00 2001 From: S0AndS0 Date: Mon, 9 Oct 2023 08:25:25 +0000 Subject: [PATCH 34/57] Fix shell check warnings (#242) * Fix SC2002 Shell Check warning * Fix SC2086 Shell Check warnings --- .github/workflows/build.yml | 4 ++-- bin/build.sh | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2ef945117c..35a2fe9f74 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,11 +36,11 @@ jobs: - name: West Build (left) run: west build -s zmk/app -d build/left -b adv360_left -- -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" - name: Adv360 Left Kconfig file - run: cat build/left/zephyr/.config | grep -v "^#" | grep -v "^$" + 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" - name: Adv360 Right Kconfig file - run: cat build/right/zephyr/.config | grep -v "^#" | grep -v "^$" + run: grep -vE '(^#|^$)' build/right/zephyr/.config - name: Rename zmk.uf2 run: cp build/left/zephyr/zmk.uf2 left.uf2 && cp build/right/zephyr/zmk.uf2 right.uf2 - name: Archive (Adv360) diff --git a/bin/build.sh b/bin/build.sh index e783844840..ade4767ff9 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -8,10 +8,10 @@ TIMESTAMP="${TIMESTAMP:-$(date -u +"%Y%m%d%H%M%S")}" # West Build (left) west build -s zmk/app -d build/left -b adv360_left -- -DZMK_CONFIG="${PWD}/config" # Adv360 Left Kconfig file -cat build/left/zephyr/.config | grep -v "^#" | grep -v "^$" +grep -vE '(^#|^$)' build/left/zephyr/.config # West Build (right) west build -s zmk/app -d build/right -b adv360_right -- -DZMK_CONFIG="${PWD}/config" # Adv360 Right Kconfig file -cat build/right/zephyr/.config | grep -v "^#" | grep -v "^$" +grep -vE '(^#|^$)' build/right/zephyr/.config # Rename zmk.uf2 -cp build/left/zephyr/zmk.uf2 ./firmware/${TIMESTAMP}-left.uf2 && cp build/right/zephyr/zmk.uf2 ./firmware/${TIMESTAMP}-right.uf2 +cp build/left/zephyr/zmk.uf2 "./firmware/${TIMESTAMP}-left.uf2" && cp build/right/zephyr/zmk.uf2 "./firmware/${TIMESTAMP}-right.uf2" From 82494e7740b8bf30d87c052c0b4c63d366ec32ae Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Mon, 9 Oct 2023 10:34:58 +0100 Subject: [PATCH 35/57] Further documentation work (#241) * Minor cleanup, change date format, add beta testing * Update CHANGELOG.md --- CHANGELOG.md | 104 +++++++++++++++++++++++++++------------------------ README.md | 34 ++++++++++++----- UPGRADE.md | 4 +- 3 files changed, 81 insertions(+), 61 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7cda150018..8145ff1db7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,112 +4,118 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo -28/7/2023 - Add a section in README explaining how to resolve connectivity issues after updating [#197](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/197) +10/9/2023 - Further documentation refinements, add section on beta testing, document BLE privacy [#241](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/241) -### 6/7/2023 - V3.0 - Major refactor to board definition to match the upstream PR and comply with ZMK pre-commit requirements, Final changes to key matrix in hope of avoiding any future git conflicts, switch to zephyr Pinctrl API, Update the settings-reset file, switch to the zephyr 3.2 branch of the base ZMK repo, add instructions to resolve the conflicts upon updating (adv360-z3.2) +10/9/2023 - Change build actions to fix warnings from shellcheck [#242](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/242) -7/4/2023 - README improvements, adding instructions on flashing, links to the GUI editor and formatting cleanup [#128](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/128) +9/7/2023 - Add a changelog to the documentation, document key positions for combos and improve misc other areas of documentation [#221](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/221) [#222](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/222) -4/3/2023 - Add extra keys into matrix that point to nowhere, fixes spurious keypress issues when using USB3.1 cables [#114](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/114) [#116](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/116) +7/28/2023 - Add a section in README explaining how to resolve connectivity issues after updating [#197](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/197) +### 7/6/2023 - V3.0 - Major refactor to board definition to match the upstream PR and comply with ZMK pre-commit requirements, Final changes to key matrix in hope of avoiding any future git conflicts, switch to zephyr Pinctrl API, Update the settings-reset file, switch to the zephyr 3.2 branch of the base ZMK repo, add instructions to resolve the conflicts upon updating (adv360-z3.2) -14/2/2023 - Disable ZMK logging by default to improve power consumption [#101](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/101) +4/7/2023 - README improvements, adding instructions on flashing, links to the GUI editor and formatting cleanup [#128](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/128) -25/1/2023 - Fix automatic OS detection to build properly when using the local builder on OS-X [#91](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/91) +3/4/2023 - Add extra keys into matrix that point to nowhere, fixes spurious keypress issues when using USB3.1 cables [#114](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/114) [#116](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/116) -16/1/2023 - Change formatting of keymap GUI files [#92](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/92) -21/11/2022 - Rewrite README to take into account new makefile structure [#57](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/57) +2/14/2023 - Disable ZMK logging by default to improve power consumption [#101](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/101) -18/11/2022 - Add SELinux support to the makefile build sequence [#58](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/58) +1/25/2023 - Fix automatic OS detection to build properly when using the local builder on OS-X [#91](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/91) -14/11/2022 - Makefile cleanup to delete docker images on clean and run more seamlessly [#42](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/42) +1/16/2023 - Change formatting of keymap GUI files [#92](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/92) -30/10/2022 - Improve make clean so that it doesn't error when run without build firmware [#36](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/36) +11/21/2022 - Rewrite README to take into account new makefile structure [#57](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/57) -26/10/2022 - Add support for building through podman as opposed to docker [#10](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/10) +11/18/2022 - Add SELinux support to the makefile build sequence [#58](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/58) -23/10/2022 - Update GitHub actions to avoid deprecated actions [#33](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/33) +11/14/2022 - Makefile cleanup to delete docker images on clean and run more seamlessly [#42](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/42) -23/10/2022 - Add a makefile to reuse the docker image every time [#29](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/29) +10/30/2022 - Improve make clean so that it doesn't error when run without build firmware [#36](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/36) -20/10/2022 - Update settings reset file to fully erase peripheral data from the central +10/26/2022 - Add support for building through podman as opposed to docker [#10](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/10) -12/10/2022 - Fix local docker build after V2.0 update [#25](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/25) +10/23/2022 - Update GitHub actions to avoid deprecated actions [#33](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/33) -11/10/2022 - Set manufacturer information over BLE [#28](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/28) +10/23/2022 - Add a makefile to reuse the docker image every time [#29](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/29) -9/10/2022 - Cleanup of keymap [#24](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/) +10/20/2022 - Update settings reset file to fully erase peripheral data from the central -7/10/2022 - Add USB VID, PID and Manufacturer information to config files +10/12/2022 - Fix local docker build after V2.0 update [#25](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/25) -26/9/2022 - Revise local building script to avoid errors after V2.0 update +10/11/2022 - Set manufacturer information over BLE [#28](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/28) -### 17/9/2022 - V2.0 - Changes to support Zephyr 3 (adv360-z3) +10/9/2022 - Cleanup of keymap [#24](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/) -9/8/2022 - Remove extraneous keys from the GUI [#5](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/5) +10/7/2022 - Add USB VID, PID and Manufacturer information to config files -13/6/2022 - Change default keymap, add default macros +9/26/2022 - Revise local building script to avoid errors after V2.0 update -23/5/2022 - Add local building with Docker, Add a README [#4](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/4) +### 9/17/2022 - V2.0 - Changes to support Zephyr 3 (adv360-z3) -6/5/2022 - Change LFCLK accuracy for improved reliability [#2](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/2) +8/9/2022 - Remove extraneous keys from the GUI [#5](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/5) + +6/13/2022 - Change default keymap, add default macros + +5/23/2022 - Add local building with Docker, Add a README [#4](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/4) + +5/6/2022 - Change LFCLK accuracy for improved reliability [#2](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/2) ### 3/3/2022 - V1.0 - Initial config repo release [#1](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/1) (adv360-beta) -1/3/2022 - Initial publication of licence +3/1/2022 - Initial publication of licence ## Base ZMK -There have beeen 3 branches of ZMK used for the 360 Pro so far. +There have beeen 3 mainline branches of ZMK used for the 360 Pro so far. Beta branches are not changelogged as they are subject to frequent changes and tweaks. | Branch | Date From | Date To | Config Branch | | -------- | ------- |-------|-----| -| [adv360-beta](https://github.com/ReFil/zmk/tree/adv360-beta) | 1/3/2022 | 17/9/2022 | main (since deleted) | -| [adv360-z3](https://github.com/ReFil/zmk/tree/adv360-z3) | 17/9/2022 | 6/7/2023 | [V2.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V2.0) | -| [adv360-z3.2](https://github.com/ReFil/zmk/tree/adv360-z3.2) | 6/7/2023 | To date | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) | +| [adv360-beta](https://github.com/ReFil/zmk/tree/adv360-beta) | 3/1/2022 | 9/17/2022 | V1.0 (since deleted) | +| [adv360-z3](https://github.com/ReFil/zmk/tree/adv360-z3) | 9/17/2022 | 7/6/2023 | [V2.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V2.0) | +| [adv360-z3.2](https://github.com/ReFil/zmk/tree/adv360-z3.2) | 7/6/2023 | To date | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) | ### adv360-z3.2 -31/7/2023 - Fix broken CI builds [#6](https://github.com/ReFil/zmk/pull/6) +7/31/2023 - Fix broken CI builds [#6](https://github.com/ReFil/zmk/pull/6) -30/5/2023 - Update RGB indicators code to match latest changes from pull requests +5/30/2023 - Update RGB indicators code to match latest changes from pull requests -30/5/2023 - Merge latest HID indicators pull request alongside dependencies [#999](https://github.com/zmkfirmware/zmk/pull/999) [#1803](https://github.com/zmkfirmware/zmk/pull/1803) +5/30/2023 - Merge latest HID indicators pull request alongside dependencies [#999](https://github.com/zmkfirmware/zmk/pull/999) [#1803](https://github.com/zmkfirmware/zmk/pull/1803) -30/5/2023 - Disable BLE battery reporting due to unreliability +5/30/2023 - Disable BLE battery reporting due to unreliability -30/5/2023 - Various fixes to allow compilation on zephyr 3.2 +5/30/2023 - Various fixes to allow compilation on zephyr 3.2 -29/5/2023 - Merge latest upstream ZMK (Commit b276a3b) +5/29/2023 - Merge latest upstream ZMK (Commit b276a3b) ### adv360-z3 -27/3/2023 - Fix power on behaviour for RGB lighting +3/27/2023 - Fix power on behaviour for RGB lighting -24/2/2023 - Fix indication leds for BLE profile 5 +2/24/2023 - Fix indication leds for BLE profile 5 -12/1/2023 - Merge latest upstream ZMK (Commit a82a0ec) +1/12/2023 - Merge latest upstream ZMK (Commit a82a0ec) -12/1/2023 - Fix pre-commit formatting +1/12/2023 - Fix pre-commit formatting -12/1/2023 - Fix a compile time warning by defining struct in header [#4](https://github.com/ReFil/zmk/pull/4) +1/12/2023 - Fix a compile time warning by defining struct in header [#4](https://github.com/ReFil/zmk/pull/4) -25/11/2022 - Add extra BLE characteristic to fix HID light reporting on MacOS +11/25/2022 - Add extra BLE characteristic to fix HID light reporting on MacOS -19/10/2022 - Add BLE whitelist scanning to improve performance in environments with many BLE devices +10/19/2022 - Add BLE whitelist scanning to improve performance in environments with many BLE devices -19/10/2022 - Merge latest upstream ZMK (Commit c9eb631) +10/19/2022 - Merge latest upstream ZMK (Commit c9eb631) -19/10/2022 - Fix initial power on lighting +10/19/2022 - Fix initial power on lighting -2/10/2022 - Add ability to scale RGB and backlight brightness to improve battery life +10/2/2022 - Add ability to scale RGB and backlight brightness to improve battery life -13/9/2022 - Add custom lighting functionality on top of base ZMK +9/13/2022 - Add custom lighting functionality on top of base ZMK -12/9/2022 - Merge HID indicators pull request [#999](https://github.com/zmkfirmware/zmk/pull/999) atop of base ZMK +9/12/2022 - Merge HID indicators pull request [#999](https://github.com/zmkfirmware/zmk/pull/999) atop of base ZMK -11/9/2022 - Diverge from base ZMK (Commit 6124d25) +9/11/2022 - Diverge from base ZMK (Commit 6124d25) ### adv360-beta diff --git a/README.md b/README.md index c0c3885d01..a732332897 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -# ADV360-PRO-ZMK +# Kinesis Advantage 360 Pro ZMK Config ## Modifying the keymap [The ZMK documentation](https://zmk.dev/docs) covers both basic and advanced functionality and has a table of OS compatibility for keycodes. Please note that the RGB Underglow, Backlight and Power Management sections are not relevant to the Advantage 360 Pro's custom ZMK fork. For more information see [this note](#note) -There is a GUI for editing the keymap. It is available at https://kinesiscorporation.github.io/Adv360-Pro-GUI. This repository is also compatible with certain other web based ZMK keymap editors. +There is a web based GUI available for editing the keymap. It is available at https://kinesiscorporation.github.io/Adv360-Pro-GUI. This repository is also compatible with certain other web based ZMK keymap editors however they may have keycodes or behaviours that are not implemented on the 360 Pro and could cause unusual behaviour or build failures. Furthermore changes made on other keymap editors may not be compatible if one goes back to using the Kinesis GUI. -Certain ZMK features require knowing the exact key positions in the matrix. They can be found in both image and text format [here](assets/key-positions.md) +Certain ZMK features (e.g. combos) require knowing the exact key positions in the matrix. They can be found in both image and text format [here](assets/key-positions.md) ## Building the Firmware with GitHub Actions @@ -26,13 +26,13 @@ Certain ZMK features require knowing the exact key positions in the matrix. They #### Software -* Either Podman or Docker is required, Podman is preferred if both are present. +* Either Podman or Docker is required, Podman is chosen if both are installed. * Make is also required #### Windows specific * If compiling on Windows use WSL2 and Docker [Docker Setup Guide](https://docs.docker.com/desktop/windows/wsl/). -* Install make using `sudo apt-get install make`. +* Install make using `sudo apt-get install make` inside the WSL2 instance. * The repository can be cloned directly into the WSL2 instance or accessed through the C: mount point WSL provides by default (`/mnt/c/path-to-repo`). ### Build firmware @@ -42,7 +42,7 @@ Certain ZMK features require knowing the exact key positions in the matrix. They ### Cleanup -The built docker container and compiled firmware files can be deleted with `make clean`. This might be necessary if you updated your fork from V2.0 to V3.0 and are encountering build failures +The built docker container and compiled firmware files can be deleted with `make clean`. This might be necessary if you updated your fork from V2.0 to V3.0 and are encountering build failures. ## Flashing firmware @@ -50,7 +50,7 @@ Follow the programming instruction on page 8 of the [Quick Start Guide](https:// ### Overview -1. Extract the firmwares from the downloaded archive. +1. Extract the firmwares from the archive downloaded from the GitHub build job (If using the cloud builder) or the firmware folder (If building locally). 1. Connect the left side keyboard to USB. 1. Press Mod+macro1 to put the left side into bootloader mode; it should attach to your computer as a USB drive. 1. Copy `left.uf2` to the USB drive and it will disconnect. @@ -69,15 +69,26 @@ Follow the programming instruction on page 8 of the [Quick Start Guide](https:// If you are upgrading from V2 to V3, and if the flashing didn't work as expected (i.e. if you are unable to pair the keyboard via Bluetooth), then consider [resetting](https://kinesis-ergo.com/support/kb360pro/#firmware-updates) both halves of the keyboard to its native state. Make sure to use the `settings-reset.uf2` file from the V3 branch of this repository. After doing this, proceed with the flashing instructions above. +## Bluetooth LE Privacy +By default this firmware ships with BT Privacy enabled (To read more about BT privacy see [this article](https://novelbits.io/how-to-protect-the-privacy-of-your-bluetooth-low-energy-device/)). This was done based off feedback from MacOS users as some Macs and all iOS devices use resolvable private addresses that they cycle between (the Apple documentation can be found [here](https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf#page=194)), and when the host cycled to a new address the Advantage 360 Pro would need re-pairing. It can cause issues with some operating systems and hardware setups. To disable BT Privacy change `CONFIG_BT_PRIVACY=y` to `CONFIG_BT_PRIVACY=n` in [adv360_left_defconfig](config/boards/arm/adv360/adv360_left_defconfig#L52). Disabling this might necessitate re-pairing to the host. + ## Changelog -The changelog for both the config repo and the underlying ZMK fork that the config repo builds against can be found [here](CHANGELOG.md) +The changelog for both the config repo and the underlying ZMK fork that the config repo builds against can be found [here](CHANGELOG.md). + +## Beta testing + +The Advantage 360 Pro is always getting updates and refinements. If you are willing to beta test you can follow [this guide from ZMK](https://zmk.dev/docs/features/beta-testing#testing-features) on how to change where your config repo points to. The `west.yml` file that is mentioned is located in config/. [This link](config/west.yml) can take you to the file. Typically you will only need to change the `revision: ` to match the beta branch. The current beta branch is [adv360-z3.2-beta](https://github.com/ReFil/zmk/tree/adv360-z3.2-beta) which is compatible with V3.0 config repositories however users must [disable BT privacy](#bluetooth-le-privacy). + +Feedback on beta branches should be submitted as a GitHub issue on the base ZMK repository as opposed to this config repository + +In the event of a major update the beta branch may not be compatible with the current mainline version of the config repository. If this is the case it will be detailed here along with instructions on how to update. ## Note -By default this config repository references [a customised version of ZMK](https://github.com/ReFil/zmk/tree/adv360-z3.2) with Advantage 360 Pro specific functionality and changes over [base ZMK](https://github.com/zmkfirmware/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. +By default this config repository references [a customised version of ZMK](https://github.com/ReFil/zmk/tree/adv360-z3.2) with Advantage 360 Pro specific functionality and changes over [base ZMK](https://github.com/zmkfirmware/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. -Whilst the Advantage 360 Pro is compatible with base ZMK some of the more advanced features 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. +Whilst the Advantage 360 Pro is compatible with base ZMK (The pull request to merge it can be seen [here](https://github.com/zmkfirmware/zmk/pull/1454) if you want to see how to implement it) 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. ## Other support @@ -85,3 +96,6 @@ Further support resources can be found on Kinesis.com: * https://kinesis-ergo.com/support/kb360pro/#firmware-updates * https://kinesis-ergo.com/support/kb360pro/#manuals + +In the event of a hardware issue it may be necessary to open a support ticket directly with Kinesis as opposed to a GitHub issue in this repository. +* https://kinesis-ergo.com/support/kb360pro/#ticket \ No newline at end of file diff --git a/UPGRADE.md b/UPGRADE.md index 10d5ddf1a2..e3e7cbbb14 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -35,7 +35,7 @@ This assumes you already have [GitHub desktop](https://desktop.github.com/) down Open keymap.json, and for each layer remove the 8 highlighted &none behaviours including the quotes wrapping them, and the commas 4. Edit adv 360.keymap - Open adv360.keymap and remove the 8 highlighted &none behaviours in each later + Open adv360.keymap and remove the 8 highlighted &none behaviours in each layer 5. Commit your changes Returning to GitHub desktop you should see the changes you made in the bar on the left. Type an appropriate commit summary and click "Commit to *branch name*" @@ -50,7 +50,7 @@ This assumes you already have [GitHub desktop](https://desktop.github.com/) down 7. Resolve Conflicts - The conflict resolution window has powerful options to soresolve the merge conflict, you will want to clik on the down arrow next to "Open in *your text editor*" and click use the modified file from *your branch name*. In the case of this example it is called V2.0-beta. Using the file from upstream/V2.0 or upstream/V3.0 will result in none of your keymap changes being preserved. + The conflict resolution window has powerful options to soresolve the merge conflict, you will want to click on the down arrow next to "Open in *your text editor*" and click use the modified file from *your branch name*. In the case of this example it is called V2.0-beta. Using the file from upstream/V2.0 or upstream/V3.0 will result in none of your keymap changes being preserved. Do this for both files then you will be able to click the "Continue Merge" option ![The merge dialog showing a warning of conflicts](/assets/conflict.jpg) From 71a5ba15e5a1e07779d4c9e2af66a13841dd4cb2 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Fri, 20 Oct 2023 21:55:37 +0100 Subject: [PATCH 36/57] Update ZMK (#248) Tweaks to point to new ZMK branch, changes to support this. --- CHANGELOG.md | 18 +++++++++++++++--- README.md | 5 ++++- config/boards/arm/adv360/adv360_left_defconfig | 3 ++- config/west.yml | 2 +- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8145ff1db7..2fd1bb4cac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +20/10/2023 - Disable BLE privacy due to conflict, disable BLE battery reporting, change to point to new ZMK branch with minor update. Please note that due to the minor update the boards will need the [settings_reset.uf2](/settings-reset.uf2) file flashing onto each side prior to updating [#248](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/248) (adv360-z3.2-2) + 10/9/2023 - Further documentation refinements, add section on beta testing, document BLE privacy [#241](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/241) 10/9/2023 - Change build actions to fix warnings from shellcheck [#242](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/242) @@ -67,13 +69,23 @@ Many thanks to all those who have submitted issues and pull requests to make thi ## Base ZMK -There have beeen 3 mainline branches of ZMK used for the 360 Pro so far. Beta branches are not changelogged as they are subject to frequent changes and tweaks. +There have beeen 4 branches of ZMK used for the 360 Pro so far. Beta branches are not changelogged as they are subject to frequent changes and tweaks. | Branch | Date From | Date To | Config Branch | | -------- | ------- |-------|-----| | [adv360-beta](https://github.com/ReFil/zmk/tree/adv360-beta) | 3/1/2022 | 9/17/2022 | V1.0 (since deleted) | -| [adv360-z3](https://github.com/ReFil/zmk/tree/adv360-z3) | 9/17/2022 | 7/6/2023 | [V2.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V2.0) | -| [adv360-z3.2](https://github.com/ReFil/zmk/tree/adv360-z3.2) | 7/6/2023 | To date | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) | +| [adv360-z3](https://github.com/ReFil/zmk/tree/adv360-z3) | 9/17/2022 | 7/6/2023 | V2.0 (since deleted) | +| [adv360-z3.2](https://github.com/ReFil/zmk/tree/adv360-z3.2) | 7/6/2023 | 20/10/2023 | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) (Up to commit 82494e7) | +| [adv360-z3.2-2](https://github.com/ReFil/zmk/tree/adv360-z3.2-2) | 20/10/2023 | To date | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) (current) | + + +### adv360-z3.2-2 + +10/18/2023 - Disable saving certain RGB elements to flash memory to help with flash wear + +10/18/2023 - Re-enable BLE battery reporting in code (now disabled in config repo using the `CONFIG_BT_BAS` KConfig option) + +10/18/2023 - Merge latest upstream ZMK (Commit 7fe9ecd8) ### adv360-z3.2 diff --git a/README.md b/README.md index a732332897..359b194dd0 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,10 @@ If you are upgrading from V2 to V3, and if the flashing didn't work as expected the V3 branch of this repository. After doing this, proceed with the flashing instructions above. ## Bluetooth LE Privacy -By default this firmware ships with BT Privacy enabled (To read more about BT privacy see [this article](https://novelbits.io/how-to-protect-the-privacy-of-your-bluetooth-low-energy-device/)). This was done based off feedback from MacOS users as some Macs and all iOS devices use resolvable private addresses that they cycle between (the Apple documentation can be found [here](https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf#page=194)), and when the host cycled to a new address the Advantage 360 Pro would need re-pairing. It can cause issues with some operating systems and hardware setups. To disable BT Privacy change `CONFIG_BT_PRIVACY=y` to `CONFIG_BT_PRIVACY=n` in [adv360_left_defconfig](config/boards/arm/adv360/adv360_left_defconfig#L52). Disabling this might necessitate re-pairing to the host. + +Since the update on 20/10/2023, BLE privacy is now disabled by default and due to an update in upstream ZMK cannot be enabled again as it will cause issues for the splits halves connecting to each other. + +~~By default this firmware ships with BT Privacy enabled (To read more about BT privacy see [this article](https://novelbits.io/how-to-protect-the-privacy-of-your-bluetooth-low-energy-device/)). This was done based off feedback from MacOS users as some Macs and all iOS devices use resolvable private addresses that they cycle between (the Apple documentation can be found [here](https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf#page=194)), and when the host cycled to a new address the Advantage 360 Pro would need re-pairing. It can cause issues with some operating systems and hardware setups. To disable BT Privacy change `CONFIG_BT_PRIVACY=y` to `CONFIG_BT_PRIVACY=n` in [adv360_left_defconfig](config/boards/arm/adv360/adv360_left_defconfig#L52). Disabling this might necessitate re-pairing to the host.~~ ## Changelog diff --git a/config/boards/arm/adv360/adv360_left_defconfig b/config/boards/arm/adv360/adv360_left_defconfig index 33ef88e964..4482de2d6f 100644 --- a/config/boards/arm/adv360/adv360_left_defconfig +++ b/config/boards/arm/adv360/adv360_left_defconfig @@ -49,12 +49,13 @@ 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=y +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 diff --git a/config/west.yml b/config/west.yml index 3d195d83e0..ceaefbfcb0 100644 --- a/config/west.yml +++ b/config/west.yml @@ -7,7 +7,7 @@ manifest: projects: - name: zmk remote: refil - revision: adv360-z3.2 + revision: adv360-z3.2-2 import: app/west.yml self: path: config From 95477ea74bc676676a5f2b229dd79d1b732e8be8 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Mon, 30 Oct 2023 20:42:24 +0000 Subject: [PATCH 37/57] Update reset file Improves reset performance after last minor ZMK update --- CHANGELOG.md | 8 +++++--- settings-reset.uf2 | Bin 313856 -> 312320 bytes 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2fd1bb4cac..5308e0439d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,12 @@ # Changelog -Here's all notable changes and commits to both the configuration repo and the base ZMK that the config repo builds against. +Here's all notable changes and commits to both the configuration repo and the base ZMK that the config repo builds against. Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo -20/10/2023 - Disable BLE privacy due to conflict, disable BLE battery reporting, change to point to new ZMK branch with minor update. Please note that due to the minor update the boards will need the [settings_reset.uf2](/settings-reset.uf2) file flashing onto each side prior to updating [#248](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/248) (adv360-z3.2-2) +10/30/2023 - Update the [settings_reset.uf2](/settings-reset.uf2) file to improve reset behaviour with the new update + +10/20/2023 - Disable BLE privacy due to conflict, disable BLE battery reporting, change to point to new ZMK branch with minor update. Please note that due to the minor update the boards will need the [settings_reset.uf2](/settings-reset.uf2) file flashing onto each side prior to updating [#248](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/248) (adv360-z3.2-2) 10/9/2023 - Further documentation refinements, add section on beta testing, document BLE privacy [#241](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/241) @@ -123,7 +125,7 @@ There have beeen 4 branches of ZMK used for the 360 Pro so far. Beta branches ar 10/2/2022 - Add ability to scale RGB and backlight brightness to improve battery life -9/13/2022 - Add custom lighting functionality on top of base ZMK +9/13/2022 - Add custom lighting functionality on top of base ZMK 9/12/2022 - Merge HID indicators pull request [#999](https://github.com/zmkfirmware/zmk/pull/999) atop of base ZMK diff --git a/settings-reset.uf2 b/settings-reset.uf2 index f3109d640ef1ae186152c09104a0a5def2d945c9..4fb2546704107a92277740e5aa37b5798784f727 100644 GIT binary patch delta 68780 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