From 8988c99ab0e181c768724124ec27ae7c1e6dcf04 Mon Sep 17 00:00:00 2001 From: cce <51567+cce@users.noreply.github.com> Date: Mon, 6 Jan 2025 05:41:17 -0500 Subject: [PATCH 1/7] Fix CHANGELOG link for #426 to point to correct PR (#590) * point CHANGELOG entry for #426 at correct PR * Update changelog for changelog change --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14b7e8fd62..2b22a0c705 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,13 +4,15 @@ 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/27/2024 - Fix misattributed PR link in changelog [#590](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/590) + 4/16/2024 - Fix changelog dates [#448](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/448) 4/15/2024 - Remove redundant info from documentation [#445](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/445) 4/7/2024 - Add documentation for new layer colors, and configurable modifier indicator color [#431](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/431) -4/5/2024 - Update base ZMK, remove deprecated attributes, change flashing cmake [#424](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/424) +4/5/2024 - Update base ZMK, remove deprecated attributes, change flashing cmake [#426](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/426) 3/14/2024 - Fix Makefile errors that prevent builds on macOS [#409](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/409) From 8a1fd5fad16dd56c0f7a4711c31caed247444fd5 Mon Sep 17 00:00:00 2001 From: Willow Herring <31960031+ReFil@users.noreply.github.com> Date: Thu, 6 Feb 2025 17:17:10 +0000 Subject: [PATCH 2/7] Clique and mouse movement update (#630) * Target new branch * Enable mouse emulation * Clique changes Update adv360.keymap Add unlock behavior to keymap * Improve light behavior * Update CHANGELOG.md * Add Layer names, extra clique layers * Update adv360.keymap * Add clique local building * Add predefined Studio macros * Change to new battery command * Update get_version.sh * Make &kscan0 a wakeup source * New layer names * Update CHANGELOG.md --- .github/workflows/build.yml | 60 +++++- CHANGELOG.md | 29 ++- Makefile | 4 +- bin/build.sh | 8 +- bin/get_version.sh | 12 +- bin/get_version_local.sh | 73 +++++++ config/adv360.keymap | 27 ++- config/boards/arm/adv360/adv360-layouts.dtsi | 87 ++++++++ config/boards/arm/adv360/adv360.dtsi | 15 +- config/boards/arm/adv360/adv360_left.dts | 2 +- .../boards/arm/adv360/adv360_left_defconfig | 6 +- config/boards/arm/adv360/adv360_right.dts | 4 +- .../boards/arm/adv360/adv360_right_defconfig | 2 +- config/boards/arm/adv360/macros.dtsi | 189 ++++++++++++++++++ config/macros.dtsi | 188 +++++++++++++++++ config/west.yml | 2 +- 16 files changed, 683 insertions(+), 25 deletions(-) create mode 100755 bin/get_version_local.sh create mode 100644 config/boards/arm/adv360/adv360-layouts.dtsi diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 353692db77..1d9d90f063 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest container: image: zmkfirmware/zmk-build-arm:stable - name: Build + name: Build (Legacy) steps: - name: Checkout uses: actions/checkout@v4 @@ -55,7 +55,63 @@ jobs: - name: Archive (Adv360) uses: actions/upload-artifact@v4 with: - name: firmware + name: firmware-no-clique path: | ${{ steps.get_info.outputs.file_prefix }}-left.uf2 ${{ steps.get_info.outputs.file_prefix }}-right.uf2 + build-clique: + runs-on: ubuntu-latest + container: + image: zmkfirmware/zmk-build-arm:stable + name: Build (Clique) + steps: + - name: Checkout + uses: actions/checkout@v4 + - 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 clique + - name: Cache west modules + uses: actions/cache@v4 + env: + cache-name: cache-zephyr-modules + with: + path: | + modules/ + tools/ + zephyr/ + bootloader/ + zmk/ + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('manifest-dir/west.yml') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + - name: West Init + run: west init -l config + - name: West Update + run: west update + - name: West Zephyr export + run: west zephyr-export + - name: West Build (left) + run: west build -s zmk/app -d build/left -b adv360_left -S studio-rpc-usb-uart -- -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" -DCONFIG_ZMK_STUDIO=y + - name: Adv360 Left Kconfig file + run: grep -vE '(^#|^$)' build/left/zephyr/.config + - name: West Build (right) + run: west build -s zmk/app -d build/right -b adv360_right -- -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" + - name: Adv360 Right Kconfig file + run: grep -vE '(^#|^$)' build/right/zephyr/.config + - 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@v4 + with: + name: firmware-clique + path: | + ${{ steps.get_info.outputs.file_prefix }}-left.uf2 + ${{ steps.get_info.outputs.file_prefix }}-right.uf2 \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b22a0c705..3d479fbefc 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/6/2025 - Update base ZMK, add changes to support Kinesis Clique, update RGB parameters and enable pointing support [#630](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/630) + 11/27/2024 - Fix misattributed PR link in changelog [#590](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/590) 4/16/2024 - Fix changelog dates [#448](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/448) @@ -119,7 +121,32 @@ There have beeen 5 branches of ZMK used for the 360 Pro so far. Beta branches ar | [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 | 1/14/2024 | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) (Up to commit 4a5003a) | | [adv360-z3.2-3](https://github.com/ReFil/zmk/tree/adv360-z3.2-3) | 1/14/2024 | 4/5/2024 | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) (Up to commit 742d19e) | -| [adv360-z3.5](https://github.com/ReFil/zmk/tree/adv360-z3.5) | 4/5/2024 | To date | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) (Current) | +| [adv360-z3.5](https://github.com/ReFil/zmk/tree/adv360-z3.5) | 4/5/2024 | 2/6/2025 | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) (Up to commit 8988c99) | +| [adv360-z3.5-2](https://github.com/ReFil/zmk/tree/adv360-z3.5-2) | 2/6/2025 | To Date | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) (Current) | + +### adv360-z3.5-2 + +1/26/2025 - Change mouse key press metadata to suit clique + +1/25/2025 - Add new battery indication behavior + +1/22/2025 - Send RGB effect over to the peripheral + +1/14/2025 - Prevent ext power from saving to flash + +1/14/2025 - Transmit RGB "on" state over the bluetooth connection + +1/13/2025 - Add metadata to mouse button behaivior + +1/11/2025 - Prevent RGB handler saving to flash + +1/11/2025 - Changes to fix building after rebase + +1/4/2025 - Rebase to latest ZMK (commit 3377ed02) + +11/21/2024 - Add additional checking to fix connection lockups + +11/21/2024 - Change default debounce to 15ms ### adv360-z3.5 diff --git a/Makefile b/Makefile index 0598579485..039c57d42d 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ endif .PHONY: all left clean_firmware clean_image clean all: - $(shell bin/get_version.sh >> /dev/null) + $(shell bin/get_version_local.sh clique >> /dev/null) $(DOCKER) build --tag zmk --file Dockerfile . $(DOCKER) run --rm -it --name zmk \ -v $(PWD)/firmware:/app/firmware$(SELINUX1) \ @@ -24,7 +24,7 @@ all: git checkout config/version.dtsi left: - $(shell bin/get_version.sh >> /dev/null) + $(shell bin/get_version_local.sh clique >> /dev/null) $(DOCKER) build --tag zmk --file Dockerfile . $(DOCKER) run --rm -it --name zmk \ -v $(PWD)/firmware:/app/firmware$(SELINUX1) \ diff --git a/bin/build.sh b/bin/build.sh index bab8570a9e..0b3c6b2628 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -7,18 +7,18 @@ 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" +west build -s zmk/app -p -d build/left -b adv360_left -S studio-rpc-usb-uart -- -DZMK_CONFIG="${PWD}/config" -DCONFIG_ZMK_STUDIO=y # Adv360 Left Kconfig file grep -vE '(^#|^$)' build/left/zephyr/.config # Rename zmk.uf2 -cp build/left/zephyr/zmk.uf2 "./firmware/${TIMESTAMP}-${COMMIT}-left.uf2" +cp build/left/zephyr/zmk.uf2 "./firmware/${TIMESTAMP}-${COMMIT}-left-clique.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" + west build -s zmk/app -p -d build/right -b adv360_right -S studio-rpc-usb-uart -- -DZMK_CONFIG="${PWD}/config" -DCONFIG_ZMK_STUDIO=y # Adv360 Right Kconfig file grep -vE '(^#|^$)' build/right/zephyr/.config # Rename zmk.uf2 - cp build/right/zephyr/zmk.uf2 "./firmware/${TIMESTAMP}-${COMMIT}-right.uf2" + cp build/right/zephyr/zmk.uf2 "./firmware/${TIMESTAMP}-${COMMIT}-right-clique.uf2" fi diff --git a/bin/get_version.sh b/bin/get_version.sh index aa23e1719d..52cc5197cb 100755 --- a/bin/get_version.sh +++ b/bin/get_version.sh @@ -4,6 +4,7 @@ date=$(date -u +"%Y%m%d") branch=${1:-$(git rev-parse --abbrev-ref HEAD | cut -c1-4)} commit=${2:-$(git rev-parse --short HEAD)} +clique=${3:-"."} uppercase_char() { local char=$1 @@ -48,8 +49,16 @@ for ((i = 0; i < ${#commit}; i++)); do formatted_commit+=$(transform_char "${commit:$i:1}") done +formatted_commit+="<&kp MINUS>, " + +# Iterate over the clique string and format characters +formatted_clique="" +for ((i = 0; i < ${#clique}; i++)); do + formatted_clique+=$(transform_char "${clique:$i:1}") +done + # Combine the formatted string, add trailing carriage return -formatted_result="$formatted_date$formatted_branch$formatted_commit" +formatted_result="$formatted_date$formatted_branch$formatted_commit$formatted_clique" formatted_result+="<&kp RET>" echo $formatted_result @@ -58,7 +67,6 @@ echo $formatted_result 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/bin/get_version_local.sh b/bin/get_version_local.sh new file mode 100755 index 0000000000..ba5ec3f125 --- /dev/null +++ b/bin/get_version_local.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +# Get the date, first 4 chars of branch name and short commit hash +date=$(date -u +"%Y%m%d") +branch=$(git rev-parse --abbrev-ref HEAD | cut -c1-4) +commit=$(git rev-parse --short HEAD) +clique=${1:-"."} + +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 $(uppercase_char $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 + +formatted_commit+="<&kp MINUS>, " + +# Iterate over the clique string and format characters +formatted_clique="" +for ((i = 0; i < ${#clique}; i++)); do + formatted_clique+=$(transform_char "${clique:$i:1}") +done + +# Combine the formatted string, add trailing carriage return +formatted_result="$formatted_date$formatted_branch$formatted_commit$formatted_clique" +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 'display-name = "Version Macro";' >> "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 cf80f15e8e..0982fbb69a 100644 --- a/config/adv360.keymap +++ b/config/adv360.keymap @@ -2,7 +2,9 @@ #include #include #include +#include #include +#include / { behaviors { @@ -32,6 +34,7 @@ compatible = "zmk,keymap"; default_layer { + display-name = "Base"; 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 @@ -41,6 +44,7 @@ >; }; keypad { + display-name = "Kp"; 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 @@ -50,6 +54,7 @@ >; }; fn { + display-name = "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 @@ -59,13 +64,33 @@ >; }; mod { + display-name = "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 + &studio_unlock &none &none &none &none &none &none &none &none &bt BT_CLR &none &stp STP_BAT &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 >; }; + extra1 { + display-name = "Red"; + status = "reserved"; + }; + + extra2 { + display-name = "Purple"; + status = "reserved"; + }; + + extra3 { + display-name = "Cyan"; + status = "reserved"; + }; + + extra4 { + display-name = "Yellow"; + status = "reserved"; + }; }; }; diff --git a/config/boards/arm/adv360/adv360-layouts.dtsi b/config/boards/arm/adv360/adv360-layouts.dtsi new file mode 100644 index 0000000000..7970e1be3b --- /dev/null +++ b/config/boards/arm/adv360/adv360-layouts.dtsi @@ -0,0 +1,87 @@ +#include + +/ { + physical_layout0: physical_layout_0 { + compatible = "zmk,physical-layout"; + display-name = "Default"; + + keys // w h x y rot rx ry + = <&key_physical_attrs 125 100 0 25 0 0 0> + , <&key_physical_attrs 100 100 125 25 0 0 0> + , <&key_physical_attrs 100 100 225 0 0 0 0> + , <&key_physical_attrs 100 100 325 0 0 0 0> + , <&key_physical_attrs 100 100 425 0 0 0 0> + , <&key_physical_attrs 100 100 525 0 0 0 0> + , <&key_physical_attrs 100 100 625 0 0 0 0> + , <&key_physical_attrs 100 100 1075 0 0 0 0> + , <&key_physical_attrs 100 100 1175 0 0 0 0> + , <&key_physical_attrs 100 100 1275 0 0 0 0> + , <&key_physical_attrs 100 100 1375 0 0 0 0> + , <&key_physical_attrs 100 100 1475 0 0 0 0> + , <&key_physical_attrs 100 100 1575 25 0 0 0> + , <&key_physical_attrs 125 100 1675 25 0 0 0> + , <&key_physical_attrs 125 100 0 125 0 0 0> + , <&key_physical_attrs 100 100 125 125 0 0 0> + , <&key_physical_attrs 100 100 225 100 0 0 0> + , <&key_physical_attrs 100 100 325 100 0 0 0> + , <&key_physical_attrs 100 100 425 100 0 0 0> + , <&key_physical_attrs 100 100 525 100 0 0 0> + , <&key_physical_attrs 100 100 625 100 0 0 0> + , <&key_physical_attrs 100 100 1075 100 0 0 0> + , <&key_physical_attrs 100 100 1175 100 0 0 0> + , <&key_physical_attrs 100 100 1275 100 0 0 0> + , <&key_physical_attrs 100 100 1375 100 0 0 0> + , <&key_physical_attrs 100 100 1475 100 0 0 0> + , <&key_physical_attrs 100 100 1575 125 0 0 0> + , <&key_physical_attrs 125 100 1675 125 0 0 0> + , <&key_physical_attrs 125 100 0 225 0 0 0> + , <&key_physical_attrs 100 100 125 225 0 0 0> + , <&key_physical_attrs 100 100 225 200 0 0 0> + , <&key_physical_attrs 100 100 325 200 0 0 0> + , <&key_physical_attrs 100 100 425 200 0 0 0> + , <&key_physical_attrs 100 100 525 200 0 0 0> + , <&key_physical_attrs 100 100 625 200 0 0 0> + , <&key_physical_attrs 100 100 675 400 1500 525 400> + , <&key_physical_attrs 100 100 775 400 1500 525 400> + , <&key_physical_attrs 100 100 925 400 (-1500) 1275 400> + , <&key_physical_attrs 100 100 1025 400 (-1500) 1275 400> + , <&key_physical_attrs 100 100 1075 200 0 0 0> + , <&key_physical_attrs 100 100 1175 200 0 0 0> + , <&key_physical_attrs 100 100 1275 200 0 0 0> + , <&key_physical_attrs 100 100 1375 200 0 0 0> + , <&key_physical_attrs 100 100 1475 200 0 0 0> + , <&key_physical_attrs 100 100 1575 225 0 0 0> + , <&key_physical_attrs 125 100 1675 225 0 0 0> + , <&key_physical_attrs 125 100 0 325 0 0 0> + , <&key_physical_attrs 100 100 125 325 0 0 0> + , <&key_physical_attrs 100 100 225 300 0 0 0> + , <&key_physical_attrs 100 100 325 300 0 0 0> + , <&key_physical_attrs 100 100 425 300 0 0 0> + , <&key_physical_attrs 100 100 525 300 0 0 0> + , <&key_physical_attrs 100 100 775 500 1500 525 400> + , <&key_physical_attrs 100 100 925 500 (-1500) 1275 400> + , <&key_physical_attrs 100 100 1175 300 0 0 0> + , <&key_physical_attrs 100 100 1275 300 0 0 0> + , <&key_physical_attrs 100 100 1375 300 0 0 0> + , <&key_physical_attrs 100 100 1475 300 0 0 0> + , <&key_physical_attrs 100 100 1575 325 0 0 0> + , <&key_physical_attrs 125 100 1675 325 0 0 0> + , <&key_physical_attrs 125 100 0 425 0 0 0> + , <&key_physical_attrs 100 100 125 425 0 0 0> + , <&key_physical_attrs 100 100 225 400 0 0 0> + , <&key_physical_attrs 100 100 325 400 0 0 0> + , <&key_physical_attrs 100 100 425 400 0 0 0> + , <&key_physical_attrs 100 200 575 500 1500 525 400> + , <&key_physical_attrs 100 200 675 500 1500 525 400> + , <&key_physical_attrs 100 100 775 600 1500 525 400> + , <&key_physical_attrs 100 100 925 600 (-1500) 1275 400> + , <&key_physical_attrs 100 200 1025 500 (-1500) 1275 400> + , <&key_physical_attrs 100 200 1125 500 (-1500) 1275 400> + , <&key_physical_attrs 100 100 1275 400 0 0 0> + , <&key_physical_attrs 100 100 1375 400 0 0 0> + , <&key_physical_attrs 100 100 1475 400 0 0 0> + , <&key_physical_attrs 100 100 1575 425 0 0 0> + , <&key_physical_attrs 125 100 1675 425 0 0 0> + ; + }; +}; \ No newline at end of file diff --git a/config/boards/arm/adv360/adv360.dtsi b/config/boards/arm/adv360/adv360.dtsi index 0c85836f72..a180d66b1d 100644 --- a/config/boards/arm/adv360/adv360.dtsi +++ b/config/boards/arm/adv360/adv360.dtsi @@ -11,8 +11,13 @@ #include #include +#include "adv360-layouts.dtsi" #include "adv360_pinctrl.dtsi" +&physical_layout0 { + transform = <&matrix_transform0>; +}; + / { model = "Adv360"; compatible = "kinesis,adv360"; @@ -21,15 +26,14 @@ 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; - zmk,matrix_transform = &default_transform; + zmk,physical-layout = &physical_layout0; zmk,underglow = &led_strip; }; - default_transform: keymap_transform_0 { + matrix_transform0: keymap_transform_0 { compatible = "zmk,matrix-transform"; columns = <20>; rows = <5>; @@ -88,11 +92,8 @@ status = "okay"; }; -&usbd { +zephyr_udc0: &usbd { status = "okay"; - cdc_acm_uart: cdc_acm_uart { - compatible = "zephyr,cdc-acm-uart"; - }; }; diff --git a/config/boards/arm/adv360/adv360_left.dts b/config/boards/arm/adv360/adv360_left.dts index 87813e861e..f4a8551bc6 100644 --- a/config/boards/arm/adv360/adv360_left.dts +++ b/config/boards/arm/adv360/adv360_left.dts @@ -10,7 +10,7 @@ /{ kscan0: kscan { compatible = "zmk,kscan-gpio-matrix"; - + wakeup-source; diode-direction = "col2row"; row-gpios = <&gpio1 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> diff --git a/config/boards/arm/adv360/adv360_left_defconfig b/config/boards/arm/adv360/adv360_left_defconfig index b37679a4d3..d90b56f26c 100644 --- a/config/boards/arm/adv360/adv360_left_defconfig +++ b/config/boards/arm/adv360/adv360_left_defconfig @@ -71,4 +71,8 @@ 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 +CONFIG_ZMK_HID_INDICATORS=y + +CONFIG_ZMK_BEHAVIOR_LOCAL_ID_TYPE_CRC16=y + +CONFIG_ZMK_POINTING=y diff --git a/config/boards/arm/adv360/adv360_right.dts b/config/boards/arm/adv360/adv360_right.dts index b7d96787e4..f167fc71f1 100644 --- a/config/boards/arm/adv360/adv360_right.dts +++ b/config/boards/arm/adv360/adv360_right.dts @@ -13,7 +13,7 @@ kscan0: kscan { compatible = "zmk,kscan-gpio-matrix"; - + wakeup-source; diode-direction = "col2row"; row-gpios = <&gpio0 19 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> @@ -38,6 +38,6 @@ }; }; -&default_transform { +&matrix_transform0 { col-offset = <10>; }; diff --git a/config/boards/arm/adv360/adv360_right_defconfig b/config/boards/arm/adv360/adv360_right_defconfig index 3c2e65a3b1..e14f1eebf0 100644 --- a/config/boards/arm/adv360/adv360_right_defconfig +++ b/config/boards/arm/adv360/adv360_right_defconfig @@ -37,7 +37,7 @@ 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 +CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=n #Backlighting configuration CONFIG_PWM=y diff --git a/config/boards/arm/adv360/macros.dtsi b/config/boards/arm/adv360/macros.dtsi index 69f6c4f3ab..497d4fb541 100644 --- a/config/boards/arm/adv360/macros.dtsi +++ b/config/boards/arm/adv360/macros.dtsi @@ -34,3 +34,192 @@ #binding-cells = <0>; bindings = <&kp K>, <&kp I>, <&kp N>, <&kp E>, <&kp S>, <&kp I>, <&kp S>; }; + + Win_Cut: Windows_Cut { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LC(X)>; + display-name = "Windows Cut"; + }; + + Win_Copy: Windows_Copy { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LC(C)>; + display-name = "Windows Copy"; + }; + + Win_Paste: Windows_Paste { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LC(V)>; + display-name = "Windows Paste"; + }; + + Win_Select_All: Windows_SelectAll { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LC(A)>; + display-name = "Windows Select All"; + }; + + Win_Undo: Windows_Undo { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LC(Z)>; + display-name = "Windows Undo"; + }; + + Win_Desktop: Win_Desk { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(D)>; + display-name = "Windows Desktop"; + }; + + Win_File_Explorer: Win_Explr { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(E)>; + display-name = "Windows Explorer"; + }; + + Win_Snip_Tool: Win_Snip { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LS(LG(S))>; + display-name = "Windows Screen Snip"; + }; + + Win_Show_All_Windows: Win_ShowAW { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(TAB)>; + display-name = "Windows Show All Windows"; + }; + + Mac_Cut: Mac_Cut { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(X)>; + display-name = "Mac Cut"; + }; + + Mac_Copy: Mac_Copy { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(C)>; + display-name = "Mac Copy"; + }; + + Mac_Paste: Mac_Paste { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(V)>; + display-name = "Mac Paste"; + }; + + Mac_Undo: Mac_Undo { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(Z)>; + display-name = "Mac Undo"; + }; + + Mac_Select_All: Mac_SelAll { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(A)>; + display-name = "Mac Select All"; + }; + + Mac_Mission_Control: Mac_ShowAW { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LC(UP_ARROW)>; + display-name = "Mac Show All Windoes"; + }; + + Mac_Snip_Tool: Mac_Snip { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LC(LG(LS(NUMBER_4)))>; + display-name = "Mac Screen Snip"; + }; + + Win_Close_Program: Win_Close_Program { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LA(F4)>; + display-name = "Windows Close"; + }; + + Win_Settings_Menu: Win_Settings_Menu { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(I)>; + display-name = "Windows Settings"; + }; + + Win_Lock_PC: Win_Lock_PC { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(L)>; + display-name = "Windows Lock"; + }; + + Win_Tile_Left: Win_Tile_Left { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(LEFT)>; + display-name = "Windows Tile Left"; + }; + + Win_Tile_Up: Win_Tile_Up { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(UP_ARROW)>; + display-name = "Windows Tile Up"; + }; + + Win_Tile_Down: Win_Tile_Down { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(DOWN)>; + display-name = "Windows Tile Down"; + }; + + Win_Tile_Right: Win_Tile_Right { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(RIGHT)>; + display-name = "Windows Tile Right"; + }; + + Mac_Spotlight_Search: Mac_Spotlight_Search { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(SPACE)>; + display-name = "Mac Spotlight Search"; + }; + + Mac_Close_Program: Mac_Close_Program { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(Q)>; + display-name = "Mac Close Program"; + }; + + Mac_Strike_Through_Text: Mac_Strike_Through_Text { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(LS(X))>; + display-name = "Mac Strikethrough Text"; + }; + + Double_Click: Double_Click { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&mkp MB1 &mkp MB1>; + display-name = "Double Click"; + }; \ No newline at end of file diff --git a/config/macros.dtsi b/config/macros.dtsi index 953577ab2e..18d62136ad 100644 --- a/config/macros.dtsi +++ b/config/macros.dtsi @@ -34,3 +34,191 @@ #binding-cells = <0>; bindings = <&kp LS(K)>, <&kp I>, <&kp N>, <&kp E>, <&kp S>, <&kp I>, <&kp S>; }; + Win_Cut: Windows_Cut { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LC(X)>; + display-name = "Windows Cut"; + }; + + Win_Copy: Windows_Copy { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LC(C)>; + display-name = "Windows Copy"; + }; + + Win_Paste: Windows_Paste { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LC(V)>; + display-name = "Windows Paste"; + }; + + Win_Select_All: Windows_SelectAll { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LC(A)>; + display-name = "Windows Select All"; + }; + + Win_Undo: Windows_Undo { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LC(Z)>; + display-name = "Windows Undo"; + }; + + Win_Desktop: Win_Desk { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(D)>; + display-name = "Windows Desktop"; + }; + + Win_File_Explorer: Win_Explr { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(E)>; + display-name = "Windows Explorer"; + }; + + Win_Snip_Tool: Win_Snip { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LS(LG(S))>; + display-name = "Windows Screen Snip"; + }; + + Win_Show_All_Windows: Win_ShowAW { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(TAB)>; + display-name = "Windows Show All Windows"; + }; + + Mac_Cut: Mac_Cut { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(X)>; + display-name = "Mac Cut"; + }; + + Mac_Copy: Mac_Copy { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(C)>; + display-name = "Mac Copy"; + }; + + Mac_Paste: Mac_Paste { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(V)>; + display-name = "Mac Paste"; + }; + + Mac_Undo: Mac_Undo { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(Z)>; + display-name = "Mac Undo"; + }; + + Mac_Select_All: Mac_SelAll { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(A)>; + display-name = "Mac Select All"; + }; + + Mac_Mission_Control: Mac_ShowAW { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LC(UP_ARROW)>; + display-name = "Mac Show All Windows"; + }; + + Mac_Snip_Tool: Mac_Snip { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LC(LG(LS(NUMBER_4)))>; + display-name = "Mac Screen Snip"; + }; + + Win_Close_Program: Win_Close_Program { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LA(F4)>; + display-name = "Windows Close"; + }; + + Win_Settings_Menu: Win_Settings_Menu { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(I)>; + display-name = "Windows Settings"; + }; + + Win_Lock_PC: Win_Lock_PC { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(L)>; + display-name = "Windows Lock"; + }; + + Win_Tile_Left: Win_Tile_Left { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(LEFT)>; + display-name = "Windows Tile Left"; + }; + + Win_Tile_Up: Win_Tile_Up { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(UP_ARROW)>; + display-name = "Windows Tile Up"; + }; + + Win_Tile_Down: Win_Tile_Down { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(DOWN)>; + display-name = "Windows Tile Down"; + }; + + Win_Tile_Right: Win_Tile_Right { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(RIGHT)>; + display-name = "Windows Tile Right"; + }; + + Mac_Spotlight_Search: Mac_Spotlight_Search { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(SPACE)>; + display-name = "Mac Spotlight Search"; + }; + + Mac_Close_Program: Mac_Close_Program { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(Q)>; + display-name = "Mac Close Program"; + }; + + Mac_Strike_Through_Text: Mac_Strike_Through_Text { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&kp LG(LS(X))>; + display-name = "Mac Strikethrough Text"; + }; + + Double_Click: Double_Click { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&mkp MB1 &mkp MB1>; + display-name = "Double Click"; + }; \ No newline at end of file diff --git a/config/west.yml b/config/west.yml index 9f3a48d831..24b7d84c89 100644 --- a/config/west.yml +++ b/config/west.yml @@ -7,7 +7,7 @@ manifest: projects: - name: zmk remote: refil - revision: adv360-z3.5 + revision: adv360-z3.5-2 import: app/west.yml self: path: config From d7df361f808198db066e874207debe545a1cc0c3 Mon Sep 17 00:00:00 2001 From: "keymap-editor[bot]" <91849743+keymap-editor[bot]@users.noreply.github.com> Date: Fri, 7 Feb 2025 23:44:03 +0000 Subject: [PATCH 3/7] Updated adv360.keymap --- config/adv360.keymap | 164 +++++++++++++++++++++++-------------------- config/info.json | 160 ++++++++++++++++++++--------------------- 2 files changed, 167 insertions(+), 157 deletions(-) diff --git a/config/adv360.keymap b/config/adv360.keymap index 0982fbb69a..cba18961ab 100644 --- a/config/adv360.keymap +++ b/config/adv360.keymap @@ -1,96 +1,104 @@ +#include #include -#include +#include #include +#include #include -#include -#include -#include / { behaviors { - #include "macros.dtsi" + #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>; - }; - }; + macro_ver: macro_ver { + compatible = "zmk,behavior-macro"; + label = "macro_version"; + #binding-cells = <0>; + bindings = <&kp RET>; + }; - keymap { - compatible = "zmk,keymap"; + #endif - default_layer { - display-name = "Base"; - 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 { - display-name = "Kp"; - 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 { - display-name = "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 { - display-name = "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 - &studio_unlock &none &none &none &none &none &none &none &none &bt BT_CLR &none &stp STP_BAT &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 - >; - }; - extra1 { - display-name = "Red"; - status = "reserved"; + 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>; + }; }; - extra2 { - display-name = "Purple"; - status = "reserved"; + macros { }; - extra3 { - display-name = "Cyan"; - status = "reserved"; - }; + keymap { + compatible = "zmk,keymap"; + + default_layer { + display-name = "Base"; + 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 E &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 { + display-name = "Kp"; + 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 { + display-name = "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 { + display-name = "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 +&studio_unlock &none &none &none &none &none &none &none &none &bt BT_CLR &none &stp STP_BAT &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 + >; + }; + + extra1 { + display-name = "Red"; + status = "reserved"; + }; + + extra2 { + display-name = "Purple"; + status = "reserved"; + }; + + extra3 { + display-name = "Cyan"; + status = "reserved"; + }; - extra4 { - display-name = "Yellow"; - status = "reserved"; + extra4 { + display-name = "Yellow"; + status = "reserved"; + }; }; - }; }; diff --git a/config/info.json b/config/info.json index c25173a926..1248514ae4 100644 --- a/config/info.json +++ b/config/info.json @@ -1,89 +1,91 @@ { + "id": "adv360", + "name": "adv360", "layouts": { "LAYOUT": { "layout": [ - { "label": "=", "row": 0, "col": 0, "x": 0, "y": 0.25, "w":1.25 }, - { "label": "1", "row": 0, "col": 1, "x": 1.25, "y": 0.25 }, - { "label": "2", "row": 0, "col": 2, "x": 2.25, "y": 0 }, - { "label": "3", "row": 0, "col": 3, "x": 3.25, "y": 0 }, - { "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": 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": "=", "row": 0, "col": 0, "x": 0, "y": 0.25, "w": 1.25 }, + { "label": "1", "row": 0, "col": 1, "x": 1.25, "y": 0.25 }, + { "label": "2", "row": 0, "col": 2, "x": 2.25, "y": 0 }, + { "label": "3", "row": 0, "col": 3, "x": 3.25, "y": 0 }, + { "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": 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 }, - { "label": "W", "row": 1, "col": 2, "x": 2.25, "y": 1 }, - { "label": "E", "row": 1, "col": 3, "x": 3.25, "y": 1 }, - { "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": 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": "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 }, + { "label": "W", "row": 1, "col": 2, "x": 2.25, "y": 1 }, + { "label": "E", "row": 1, "col": 3, "x": 3.25, "y": 1 }, + { "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": 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 }, + { "label": "A", "row": 2, "col": 1, "x": 1.25, "y": 2.25 }, + { "label": "S", "row": 2, "col": 2, "x": 2.25, "y": 2 }, + { "label": "D", "row": 2, "col": 3, "x": 3.25, "y": 2 }, + { "label": "F", "row": 2, "col": 4, "x": 4.25, "y": 2 }, + { "label": "G", "row": 2, "col": 5, "x": 5.25, "y": 2 }, + { "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": "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 }, + { "label": "H", "row": 2, "col": 14, "x": 11.75, "y": 2 }, + { "label": "J", "row": 2, "col": 15, "x": 12.75, "y": 2 }, + { "label": "K", "row": 2, "col": 16, "x": 13.75, "y": 2 }, + { "label": "L", "row": 2, "col": 17, "x": 14.75, "y": 2 }, + { "label": ";", "row": 2, "col": 18, "x": 15.75, "y": 2.25 }, + { "label": "'", "row": 2, "col": 19, "x": 16.75, "y": 2.25, "w": 1.25 }, - { "label": "Caps", "row": 2, "col": 0, "x": 0, "y": 2.25, "w":1.25 }, - { "label": "A", "row": 2, "col": 1, "x": 1.25, "y": 2.25 }, - { "label": "S", "row": 2, "col": 2, "x": 2.25, "y": 2 }, - { "label": "D", "row": 2, "col": 3, "x": 3.25, "y": 2 }, - { "label": "F", "row": 2, "col": 4, "x": 4.25, "y": 2 }, - { "label": "G", "row": 2, "col": 5, "x": 5.25, "y": 2 }, - { "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": "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}, - { "label": "H", "row": 2, "col": 14, "x": 11.75, "y": 2 }, - { "label": "J", "row": 2, "col": 15, "x": 12.75, "y": 2 }, - { "label": "K", "row": 2, "col": 16, "x": 13.75, "y": 2 }, - { "label": "L", "row": 2, "col": 17, "x": 14.75, "y": 2 }, - { "label": ";", "row": 2, "col": 18, "x": 15.75, "y": 2.25 }, - { "label": "'", "row": 2, "col": 19, "x": 16.75, "y": 2.25, "w":1.25 }, + { "label": "LShift", "row": 3, "col": 0, "x": 0, "y": 3.25, "w": 1.25 }, + { "label": "Z", "row": 3, "col": 1, "x": 1.25, "y": 3.25 }, + { "label": "X", "row": 3, "col": 2, "x": 2.25, "y": 3 }, + { "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": "Home", "row": 3, "col": 8, "x": 7.75, "y": 5, "r": 15, "rx": 5.25, "ry": 4 }, + { "label": "PgUp", "row": 3, "col": 11, "x": 9.25, "y": 5, "r": -15, "rx": 12.75, "ry": 4 }, + { "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 }, + { "label": ".", "row": 3, "col": 17, "x": 14.75, "y": 3 }, + { "label": "/", "row": 3, "col": 18, "x": 15.75, "y": 3.25 }, + { "label": "RShift", "row": 3, "col": 19, "x": 16.75, "y": 3.25, "w": 1.25 }, - { "label": "LShift", "row": 3, "col": 0, "x": 0, "y": 3.25, "w":1.25 }, - { "label": "Z", "row": 3, "col": 1, "x": 1.25, "y": 3.25 }, - { "label": "X", "row": 3, "col": 2, "x": 2.25, "y": 3 }, - { "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": "Home", "row": 3, "col": 8, "x": 7.75, "y": 5, "r":15, "rx":5.25 ,"ry":4}, - { "label": "PgUp", "row": 3, "col": 11, "x": 9.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4}, - { "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 }, - { "label": ".", "row": 3, "col": 17, "x": 14.75, "y": 3 }, - { "label": "/", "row": 3, "col": 18, "x": 15.75, "y": 3.25 }, - { "label": "RShift", "row": 3, "col": 19, "x": 16.75, "y": 3.25, "w":1.25 }, - - { "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": "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": 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 }, - { "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 } + { "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": "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": 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 }, + { "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 } ] } - } -} + }, + "sensors": [] +} \ No newline at end of file From 1783f4118491b11fc5824ab47264ef1dd13a6475 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Sat, 8 Feb 2025 20:15:33 +0000 Subject: [PATCH 4/7] Revert "Updated adv360.keymap" This reverts commit d7df361f808198db066e874207debe545a1cc0c3. --- config/adv360.keymap | 164 ++++++++++++++++++++----------------------- config/info.json | 160 +++++++++++++++++++++-------------------- 2 files changed, 157 insertions(+), 167 deletions(-) diff --git a/config/adv360.keymap b/config/adv360.keymap index cba18961ab..0982fbb69a 100644 --- a/config/adv360.keymap +++ b/config/adv360.keymap @@ -1,104 +1,96 @@ -#include #include -#include -#include #include +#include #include +#include +#include +#include / { behaviors { - #include "macros.dtsi" + #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 - macro_ver: macro_ver { - compatible = "zmk,behavior-macro"; - label = "macro_version"; - #binding-cells = <0>; - bindings = <&kp RET>; - }; + 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>; + }; + }; - #endif + keymap { + compatible = "zmk,keymap"; - 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>; - }; + default_layer { + display-name = "Base"; + 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 + >; }; - - macros { + keypad { + display-name = "Kp"; + 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 { + display-name = "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 { + display-name = "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 + &studio_unlock &none &none &none &none &none &none &none &none &bt BT_CLR &none &stp STP_BAT &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 + >; + }; + extra1 { + display-name = "Red"; + status = "reserved"; }; - keymap { - compatible = "zmk,keymap"; - - default_layer { - display-name = "Base"; - 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 E &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 { - display-name = "Kp"; - 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 { - display-name = "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 { - display-name = "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 -&studio_unlock &none &none &none &none &none &none &none &none &bt BT_CLR &none &stp STP_BAT &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 - >; - }; - - extra1 { - display-name = "Red"; - status = "reserved"; - }; - - extra2 { - display-name = "Purple"; - status = "reserved"; - }; + extra2 { + display-name = "Purple"; + status = "reserved"; + }; - extra3 { - display-name = "Cyan"; - status = "reserved"; - }; + extra3 { + display-name = "Cyan"; + status = "reserved"; + }; - extra4 { - display-name = "Yellow"; - status = "reserved"; - }; + extra4 { + display-name = "Yellow"; + status = "reserved"; }; + }; }; diff --git a/config/info.json b/config/info.json index 1248514ae4..c25173a926 100644 --- a/config/info.json +++ b/config/info.json @@ -1,91 +1,89 @@ { - "id": "adv360", - "name": "adv360", "layouts": { "LAYOUT": { "layout": [ - { "label": "=", "row": 0, "col": 0, "x": 0, "y": 0.25, "w": 1.25 }, - { "label": "1", "row": 0, "col": 1, "x": 1.25, "y": 0.25 }, - { "label": "2", "row": 0, "col": 2, "x": 2.25, "y": 0 }, - { "label": "3", "row": 0, "col": 3, "x": 3.25, "y": 0 }, - { "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": 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": "=", "row": 0, "col": 0, "x": 0, "y": 0.25, "w":1.25 }, + { "label": "1", "row": 0, "col": 1, "x": 1.25, "y": 0.25 }, + { "label": "2", "row": 0, "col": 2, "x": 2.25, "y": 0 }, + { "label": "3", "row": 0, "col": 3, "x": 3.25, "y": 0 }, + { "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": 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 }, - { "label": "W", "row": 1, "col": 2, "x": 2.25, "y": 1 }, - { "label": "E", "row": 1, "col": 3, "x": 3.25, "y": 1 }, - { "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": 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": "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 }, + { "label": "W", "row": 1, "col": 2, "x": 2.25, "y": 1 }, + { "label": "E", "row": 1, "col": 3, "x": 3.25, "y": 1 }, + { "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": 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 }, - { "label": "A", "row": 2, "col": 1, "x": 1.25, "y": 2.25 }, - { "label": "S", "row": 2, "col": 2, "x": 2.25, "y": 2 }, - { "label": "D", "row": 2, "col": 3, "x": 3.25, "y": 2 }, - { "label": "F", "row": 2, "col": 4, "x": 4.25, "y": 2 }, - { "label": "G", "row": 2, "col": 5, "x": 5.25, "y": 2 }, - { "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": "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 }, - { "label": "H", "row": 2, "col": 14, "x": 11.75, "y": 2 }, - { "label": "J", "row": 2, "col": 15, "x": 12.75, "y": 2 }, - { "label": "K", "row": 2, "col": 16, "x": 13.75, "y": 2 }, - { "label": "L", "row": 2, "col": 17, "x": 14.75, "y": 2 }, - { "label": ";", "row": 2, "col": 18, "x": 15.75, "y": 2.25 }, - { "label": "'", "row": 2, "col": 19, "x": 16.75, "y": 2.25, "w": 1.25 }, - { "label": "LShift", "row": 3, "col": 0, "x": 0, "y": 3.25, "w": 1.25 }, - { "label": "Z", "row": 3, "col": 1, "x": 1.25, "y": 3.25 }, - { "label": "X", "row": 3, "col": 2, "x": 2.25, "y": 3 }, - { "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": "Home", "row": 3, "col": 8, "x": 7.75, "y": 5, "r": 15, "rx": 5.25, "ry": 4 }, - { "label": "PgUp", "row": 3, "col": 11, "x": 9.25, "y": 5, "r": -15, "rx": 12.75, "ry": 4 }, - { "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 }, - { "label": ".", "row": 3, "col": 17, "x": 14.75, "y": 3 }, - { "label": "/", "row": 3, "col": 18, "x": 15.75, "y": 3.25 }, - { "label": "RShift", "row": 3, "col": 19, "x": 16.75, "y": 3.25, "w": 1.25 }, + { "label": "Caps", "row": 2, "col": 0, "x": 0, "y": 2.25, "w":1.25 }, + { "label": "A", "row": 2, "col": 1, "x": 1.25, "y": 2.25 }, + { "label": "S", "row": 2, "col": 2, "x": 2.25, "y": 2 }, + { "label": "D", "row": 2, "col": 3, "x": 3.25, "y": 2 }, + { "label": "F", "row": 2, "col": 4, "x": 4.25, "y": 2 }, + { "label": "G", "row": 2, "col": 5, "x": 5.25, "y": 2 }, + { "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": "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}, + { "label": "H", "row": 2, "col": 14, "x": 11.75, "y": 2 }, + { "label": "J", "row": 2, "col": 15, "x": 12.75, "y": 2 }, + { "label": "K", "row": 2, "col": 16, "x": 13.75, "y": 2 }, + { "label": "L", "row": 2, "col": 17, "x": 14.75, "y": 2 }, + { "label": ";", "row": 2, "col": 18, "x": 15.75, "y": 2.25 }, + { "label": "'", "row": 2, "col": 19, "x": 16.75, "y": 2.25, "w":1.25 }, - { "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": "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": 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 }, - { "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 } + { "label": "LShift", "row": 3, "col": 0, "x": 0, "y": 3.25, "w":1.25 }, + { "label": "Z", "row": 3, "col": 1, "x": 1.25, "y": 3.25 }, + { "label": "X", "row": 3, "col": 2, "x": 2.25, "y": 3 }, + { "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": "Home", "row": 3, "col": 8, "x": 7.75, "y": 5, "r":15, "rx":5.25 ,"ry":4}, + { "label": "PgUp", "row": 3, "col": 11, "x": 9.25, "y": 5, "r":-15, "rx":12.75 ,"ry":4}, + { "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 }, + { "label": ".", "row": 3, "col": 17, "x": 14.75, "y": 3 }, + { "label": "/", "row": 3, "col": 18, "x": 15.75, "y": 3.25 }, + { "label": "RShift", "row": 3, "col": 19, "x": 16.75, "y": 3.25, "w":1.25 }, + + { "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": "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": 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 }, + { "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 } ] } - }, - "sensors": [] -} \ No newline at end of file + } +} From 091a5d44c3db759fefde89ccb6cf5a21d1e2ef64 Mon Sep 17 00:00:00 2001 From: Willow Herring <31960031+ReFil@users.noreply.github.com> Date: Sun, 9 Feb 2025 17:19:00 +0000 Subject: [PATCH 5/7] Local build changes (#643) * Improve local building experience * Update CHANGELOG.md --- CHANGELOG.md | 2 ++ bin/build.sh | 2 +- bin/get_version_local.sh | 1 - config/adv360.keymap | 8 -------- 4 files changed, 3 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d479fbefc..e582173cae 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/9/2025 - Minor changes to the local build process to improve local building experience, Remove preprocessor commands in keymap file [#643](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/643) + 2/6/2025 - Update base ZMK, add changes to support Kinesis Clique, update RGB parameters and enable pointing support [#630](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/630) 11/27/2024 - Fix misattributed PR link in changelog [#590](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/590) diff --git a/bin/build.sh b/bin/build.sh index 0b3c6b2628..5f54584dd1 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -16,7 +16,7 @@ cp build/left/zephyr/zmk.uf2 "./firmware/${TIMESTAMP}-${COMMIT}-left-clique.uf2" # Build right side if selected if [ "${BUILD_RIGHT}" = true ]; then # West Build (right) - west build -s zmk/app -p -d build/right -b adv360_right -S studio-rpc-usb-uart -- -DZMK_CONFIG="${PWD}/config" -DCONFIG_ZMK_STUDIO=y + west build -s zmk/app -p -d build/right -b adv360_right -- -DZMK_CONFIG="${PWD}/config" # Adv360 Right Kconfig file grep -vE '(^#|^$)' build/right/zephyr/.config # Rename zmk.uf2 diff --git a/bin/get_version_local.sh b/bin/get_version_local.sh index ba5ec3f125..3bf837a2c8 100755 --- a/bin/get_version_local.sh +++ b/bin/get_version_local.sh @@ -67,7 +67,6 @@ echo $formatted_result echo '#define VERSION_MACRO' > "config/version.dtsi" echo 'macro_ver: macro_ver {' >> "config/version.dtsi" echo 'compatible = "zmk,behavior-macro";' >> "config/version.dtsi" -echo 'display-name = "Version Macro";' >> "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 0982fbb69a..4e2ae61a9d 100644 --- a/config/adv360.keymap +++ b/config/adv360.keymap @@ -10,14 +10,6 @@ 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"; From 1f746d2b50fa519325779753006423b03dbbf9c9 Mon Sep 17 00:00:00 2001 From: thinkJD Date: Mon, 16 Jun 2025 10:53:42 +0000 Subject: [PATCH 6/7] feat: Migrate German layout to V3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add German keymap header (keymap_german.h) with complete German layout definitions - Create custom German keymap (adv360_custom.keymap) with: - German key mappings using DE_ prefixes - Custom layer definitions (DEFAULT, LOWER, RAISE, ADJ, KPAD, FN) - Windows shortcuts and navigation keys - Conditional tri-layer support - Version macro integration - Update build configuration to use German keymap - Add development container support - Compatible with latest V3.0 ZMK features and structure ๐Ÿค– Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .devcontainer/devcontainer.json | 23 +++++ config/adv360_custom.keymap | 123 ++++++++++++++++++++++++ config/adv360_left.keymap | 2 +- config/adv360_right.keymap | 2 +- config/keymap_german.h | 161 ++++++++++++++++++++++++++++++++ config/version.dtsi | 6 ++ 6 files changed, 315 insertions(+), 2 deletions(-) create mode 100644 .devcontainer/devcontainer.json create mode 100644 config/adv360_custom.keymap create mode 100644 config/keymap_german.h diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..f62888cd11 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,23 @@ +{ + "name": "Ubuntu", + "image": "mcr.microsoft.com/devcontainers/base:jammy", + + "containerEnv": { + "CODESPACES": "True" + } + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "uname -a", + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/config/adv360_custom.keymap b/config/adv360_custom.keymap new file mode 100644 index 0000000000..de5041167f --- /dev/null +++ b/config/adv360_custom.keymap @@ -0,0 +1,123 @@ +/* +Todo: +* check for macros lead keys +* clean up all layouts add trans / none and use better spacing +* add hyper and fancy zones shortcuts / macros +* use os specific defines for shortcuts +*/ +#include "keymap_german.h" + +#include +#include +#include +#include +#include + +#define DEFAULT 0 +#define LOWER 1 +#define RAISE 2 +#define ADJ 3 +#define KPAD 4 +#define FN 5 + +// Shortcut definitions +// Windows +#define WLOCK LEFT_GUI(L) // Lock Screen +#define WNWIN LS(LA(ESC)) // Focus to previous window +#define WPWIN LA(ESC) // Focus to next window +#define WTASK LC(LS(ESC)) // Task Manager +#define WPSCR RG(LS(S)) // Screnshot using screenshot tool + +/ { + 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>; + }; + }; + + // Tre-layer support + conditional_layers { + compatible = "zmk,conditional-layers"; + tri_layer { + if-layers = ; + then-layer = ; + }; + }; + + keymap { + compatible = "zmk,keymap"; + + default_layer { + bindings = < + &kp ESC &kp DE_1 &kp DE_2 &kp DE_3 &kp DE_4 &kp DE_5 &tog KPAD &mo ADJ &kp DE_6 &kp DE_7 &kp DE_8 &kp DE_9 &kp DE_0 &kp DE_SS + &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp WPSCR &none &kp DE_Z &kp U &kp I &kp O &kp P &kp DE_UDIA + &kp BSPC &kp A &kp S &kp D &kp F &kp G &kp WPWIN &kp LCTRL &none &none &kp RCTRL &kp WNWIN &kp H &kp J &kp K &kp L &kp DE_ODIA &kp DE_ADIA + &kp LSHFT &kp DE_Y &kp X &kp C &kp V &kp B &none &none &none &none &none &kp PG_UP &none &none &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT + &mo FN &caps_word &kp LEFT_GUI &kp LEFT_ALT &kp LEFT_CONTROL &mo LOWER &kp ENTER &none &kp BSPC &kp SPACE &mo RAISE &kp RCTRL &kp RALT &kp RGUI &none &mo FN + >; + }; + LOWER { + bindings = < + &kp DE_TILD &kp DE_1 &kp DE_2 &kp DE_3 &kp DE_4 &kp DE_5 &none &none &kp DE_6 &kp DE_7 &kp DE_8 &kp DE_9 &kp DE_0 &none + &kp DE_SQT &none &kp W &kp E &kp R &kp T &none &none &kp DE_Z &kp U &kp I &kp O &kp P &kp DE_UDIA + &kp BSPC &kp DE_EXCL &kp DE_AT &kp DE_HASH &kp DE_DLR &kp DE_PERC &none &kp LCTRL &kp LALT &kp LGUI &kp RCTRL &none &kp DE_GRV &kp DE_AMPS &kp DE_STAR &kp DE_LPAR &kp DE_RPAR &kp DE_PIPE + &kp LSHFT &kp DE_EQL &kp DE_MINS &kp DE_PLUS &kp DE_LBRC &kp DE_RBRC &none &none &kp HOME &none &none &kp PG_UP &none &none &kp DE_LBKT&kp DE_RBKT &kp DE_RABK &kp DE_LABK &kp DE_BSLH &kp RSHFT + &none &kp GRAVE &kp CAPS &kp LEFT &kp RIGHT &trans &trans &kp END &kp PG_DN &trans &trans &kp UP &kp DOWN &kp RBKT &kp LBKT &none + >; + }; + RAISE { + bindings = < + &kp ESC &kp DE_1 &kp DE_2 &kp DE_3 &kp DE_4 &kp DE_5 &none &none &kp DE_6 &kp DE_7 &kp DE_8 &kp DE_9 &kp DE_0 &none + &kp TAB &none &kp PSCRN &none &kp LC(R) &none &kp WTASK &none &kp LC(DE_Z) &kp RA(LEFT) &kp UP &kp LA(RIGHT) &kp RC(BSPC) &none + &kp BSPC &none &none &none &none &none &kp C_VOL_DN &kp LCTRL &kp LALT &kp LGUI &kp RCTRL &kp C_VOL_UP &none &kp LEFT &kp DOWN &kp RIGHT &kp DEL &kp BSPC + &kp LSHFT &none &kp LC(X) &kp LC(C) &kp LC(V) &none &none &none &kp HOME &none &none &kp PG_UP &none &none &none &none &none &none &none &kp RSHFT + &none &none &none &none &none &trans &trans &kp END &kp PG_DN &trans &trans &none &kp DOWN &kp LBKT &kp RBKT &none + >; + }; + ADJ { + 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 &kp C_MUTE &none &none &none + &none &none &none &none ¯o_ver &none &none &none &none &none &none &none &none &none &none &kp C_PREV &kp C_PP &kp C_NEXT &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 + >; + }; + KPAD { + bindings = < + &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &trans &mo ADJ &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 &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 &trans &trans &trans &kp PG_DN &trans &trans &kp UP &kp DOWN &kp KP_DOT &kp RBKT &mo FN + >; + }; + FN { + bindings = < + &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &none &none &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 &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 + >; + }; + }; + }; + \ No newline at end of file diff --git a/config/adv360_left.keymap b/config/adv360_left.keymap index bc222c6dad..e9bee17a5d 100644 --- a/config/adv360_left.keymap +++ b/config/adv360_left.keymap @@ -5,4 +5,4 @@ * */ -#include "adv360.keymap" +#include "adv360_custom.keymap" diff --git a/config/adv360_right.keymap b/config/adv360_right.keymap index bc222c6dad..e9bee17a5d 100644 --- a/config/adv360_right.keymap +++ b/config/adv360_right.keymap @@ -5,4 +5,4 @@ * */ -#include "adv360.keymap" +#include "adv360_custom.keymap" diff --git a/config/keymap_german.h b/config/keymap_german.h new file mode 100644 index 0000000000..7226fdb3e2 --- /dev/null +++ b/config/keymap_german.h @@ -0,0 +1,161 @@ +/* Copyright 2015-2016 Matthias Schmidtt + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include +#include +#include +#include + +// clang-format off + +/* + * โ”Œโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + * โ”‚ ^ โ”‚ 1 โ”‚ 2 โ”‚ 3 โ”‚ 4 โ”‚ 5 โ”‚ 6 โ”‚ 7 โ”‚ 8 โ”‚ 9 โ”‚ 0 โ”‚ รŸ โ”‚ ยด โ”‚ โ”‚ + * โ”œโ”€โ”€โ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”ค + * โ”‚ โ”‚ Q โ”‚ W โ”‚ E โ”‚ R โ”‚ T โ”‚ Z โ”‚ U โ”‚ I โ”‚ O โ”‚ P โ”‚ รœ โ”‚ + โ”‚ โ”‚ + * โ”œโ”€โ”€โ”€โ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ” โ”‚ + * โ”‚ โ”‚ A โ”‚ S โ”‚ D โ”‚ F โ”‚ G โ”‚ H โ”‚ J โ”‚ K โ”‚ L โ”‚ ร– โ”‚ ร„ โ”‚ # โ”‚ โ”‚ + * โ”œโ”€โ”€โ”€โ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ค + * โ”‚ โ”‚ < โ”‚ Y โ”‚ X โ”‚ C โ”‚ V โ”‚ B โ”‚ N โ”‚ M โ”‚ , โ”‚ . โ”‚ - โ”‚ โ”‚ + * โ”œโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”ฌโ”ดโ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”ดโ”ฌโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ค + * โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ + * โ””โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”˜ + */ +// Row 1 +#define DE_CIRC GRAVE // ^ (dead) +#define MAC_CIRC NUBS // ^ (dead | mac) +#define DE_1 N1 // 1 +#define DE_2 N2 // 2 +#define DE_3 N3 // 3 +#define DE_4 N4 // 4 +#define DE_5 N5 // 5 +#define DE_6 N6 // 6 +#define DE_7 N7 // 7 +#define DE_8 N8 // 8 +#define DE_9 N9 // 9 +#define DE_0 N0 // 0 +#define DE_SS MINUS // รŸ +#define DE_ACUT EQUAL // ยด (dead) +// Row 2 +#define DE_Q Q // Q +#define DE_W W // W +#define DE_E E // E +#define DE_R R // R +#define DE_T T // T +#define DE_Z Y // Z +#define DE_U U // U +#define DE_I I // I +#define DE_O O // O +#define DE_P P // P +#define DE_UDIA LBKT // รœ +#define DE_PLUS RBKT // + +// Row 3 +#define DE_A A // A +#define DE_S S // S +#define DE_D D // D +#define DE_F F // F +#define DE_G G // G +#define DE_H H // H +#define DE_J J // J +#define DE_K K // K +#define DE_L L // L +#define DE_ODIA SEMI // ร– +#define DE_ADIA SQT // ร„ +#define DE_HASH NUHS // # +// Row 4 +#define DE_LABK NUBS // < +#define MAC_LABK GRAVE // < (mac) +#define DE_Y Z // Y +#define DE_X X // X +#define DE_C C // C +#define DE_V V // V +#define DE_B B // B +#define DE_N N // N +#define DE_M M // M +#define DE_COMM COMMA // , +#define DE_DOT DOT // . +#define DE_MINS FSLH // - + +/* Shifted symbols + * โ”Œโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + * โ”‚ ยฐ โ”‚ ! โ”‚ " โ”‚ ยง โ”‚ $ โ”‚ % โ”‚ & โ”‚ / โ”‚ ( โ”‚ ) โ”‚ = โ”‚ ? โ”‚ ` โ”‚ โ”‚ + * โ”œโ”€โ”€โ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”ค + * โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ * โ”‚ โ”‚ + * โ”œโ”€โ”€โ”€โ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ” โ”‚ + * โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ ' โ”‚ โ”‚ + * โ”œโ”€โ”€โ”€โ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ค + * โ”‚ โ”‚ > โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ ; โ”‚ : โ”‚ _ โ”‚ โ”‚ + * โ”œโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”ฌโ”ดโ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”ดโ”ฌโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ค + * โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ + * โ””โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”˜ + */ +// Row 1 +#define DE_DEG LS(DE_CIRC) // ยฐ +#define MAC_DEG LS(MAC_CIRC) // ยฐ +#define DE_EXCL LS(DE_1) // ! +#define DE_DQT LS(DE_2) // " +#define DE_SECT LS(DE_3) // ยง +#define DE_DLR LS(DE_4) // $ +#define DE_PERC LS(DE_5) // % +#define DE_AMPS LS(DE_6) // & +#define DE_FSLH LS(DE_7) // / +#define DE_LPAR LS(DE_8) // ( +#define DE_RPAR LS(DE_9) // ) +#define DE_EQL LS(DE_0) // = +#define DE_QUES LS(DE_SS) // ? +#define DE_GRV LS(DE_ACUT) // ` (dead) +// Row 2 +#define DE_STAR LS(DE_PLUS) // * +// Row 3 +#define DE_SQT LS(DE_HASH) // ' +// Row 4 +#define DE_RABK LS(DE_LABK) // > +#define MAC_RABK LS(MAC_LABK) // > (mac) +#define DE_SEMI LS(DE_COMM) // ; +#define DE_COLN LS(DE_DOT) // : +#define DE_UNDS LS(DE_MINS) // _ + +/* AltGr symbols + * โ”Œโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + * โ”‚ โ”‚ โ”‚ ยฒ โ”‚ ยณ โ”‚ โ”‚ โ”‚ โ”‚ { โ”‚ [ โ”‚ ] โ”‚ } โ”‚ \ โ”‚ โ”‚ โ”‚ + * โ”œโ”€โ”€โ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”ค + * โ”‚ โ”‚ @ โ”‚ โ”‚ โ‚ฌ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ ~ โ”‚ โ”‚ + * โ”œโ”€โ”€โ”€โ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ” โ”‚ + * โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ + * โ”œโ”€โ”€โ”€โ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ค + * โ”‚ โ”‚ | โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ ยต โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ + * โ”œโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”ดโ”ฌโ”€โ”€โ”ดโ”€โ”ฌโ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”ฌโ”ดโ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”ดโ”ฌโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ค + * โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ + * โ””โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”˜ + */ +// Row 1 +#define DE_SUP2 RA(DE_2) // ยฒ +#define DE_SUP3 RA(DE_3) // ยณ +#define DE_LBRC RA(DE_7) // { +#define DE_LBKT RA(DE_8) // [ +#define DE_RBKT RA(DE_9) // ] +#define DE_RBRC RA(DE_0) // } +#define DE_BSLH RA(DE_SS) // (backslash) +// Row 2 +#define DE_AT RA(DE_Q) // @ +#define DE_EURO RA(DE_E) // โ‚ฌ +#define DE_TILD RA(DE_PLUS) // ~ +// Row 4 +#define DE_PIPE RA(DE_LABK) // | +#define MAC_PIPE RA(MAC_LABK) // | (mac) +#define DE_MICR RA(DE_M) // ยต \ No newline at end of file diff --git a/config/version.dtsi b/config/version.dtsi index e69de29bb2..14e47b4447 100644 --- a/config/version.dtsi +++ b/config/version.dtsi @@ -0,0 +1,6 @@ +#define VERSION_MACRO +macro_ver: macro_ver { +compatible = "zmk,behavior-macro"; +#binding-cells = <0>; +bindings = <&kp N2>, <&kp N0>, <&kp N2>, <&kp N5>, <&kp N0>, <&kp N6>, <&kp N1>, <&kp N6>, <&kp MINUS>, <&kp G>, <&kp E>, <&kp R>, <&kp M>, <&kp MINUS>, <&kp N0>, <&kp N9>, <&kp N1>, <&kp A>, <&kp N5>, <&kp D>, <&kp N4>, <&kp MINUS>, <&kp C>, <&kp L>, <&kp I>, <&kp Q>, <&kp U>, <&kp E>, <&kp RET>; +}; From f45e6f6b8d492968dac49dc6f7d203da0ca132ab Mon Sep 17 00:00:00 2001 From: thinkJD Date: Mon, 16 Jun 2025 12:31:31 +0000 Subject: [PATCH 7/7] chore: Add Claude-specific files to .gitignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ๐Ÿค– Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 205598eb10..e6b84aa40a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ /firmware/*.uf2 +.claude/ +CLAUDE*.md