Compare commits

..

1 Commits

Author SHA1 Message Date
dependabot[bot]
f40e7a4441 chore(deps): bump actions/github-script from 7 to 8
Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-05 05:01:14 +00:00
1213 changed files with 7579 additions and 10931 deletions

View File

@@ -1,4 +1,4 @@
FROM docker.io/zmkfirmware/zmk-dev-arm:4.1-branch FROM docker.io/zmkfirmware/zmk-dev-arm:3.5
COPY .bashrc tmp COPY .bashrc tmp
RUN mv /tmp/.bashrc ~/.bashrc RUN mv /tmp/.bashrc ~/.bashrc

View File

@@ -21,7 +21,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v4
- name: Find test directories - name: Find test directories
id: test-dirs id: test-dirs
run: | run: |
@@ -35,10 +35,10 @@ jobs:
test: ${{ fromJSON(needs.collect-tests.outputs.test-dirs) }} test: ${{ fromJSON(needs.collect-tests.outputs.test-dirs) }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
image: docker.io/zmkfirmware/zmk-build-arm:4.1 image: docker.io/zmkfirmware/zmk-build-arm:3.5
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v4
- name: Cache west modules - name: Cache west modules
uses: actions/cache@v4 uses: actions/cache@v4
env: env:

View File

@@ -30,28 +30,17 @@ jobs:
name: Fetch Build Keyboards name: Fetch Build Keyboards
outputs: outputs:
build_matrix: ${{ env.build_matrix }} build_matrix: ${{ env.build_matrix }}
has_valid_build_matrix: ${{ steps.fetch.outputs.has_valid_build_matrix }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v4
- name: Fetch Build Matrix - name: Fetch Build Matrix
id: fetch
run: | run: |
matrix_content=$(yq -oj -I0 '${{ inputs.build_matrix_path }}') echo "build_matrix=$(yq -oj -I0 '${{ inputs.build_matrix_path }}')" >> $GITHUB_ENV
yq -oj "${{ inputs.build_matrix_path }}"
if [ -z "$matrix_content" ] || [ "$matrix_content" = "null" ]; then
echo "::notice file=${{inputs.build_matrix_path}},title=Empty build matrix file::To add a keyboard to the build, see https://zmk.dev/docs/user-setup#add-a-keyboard."
echo "has_valid_build_matrix=false" >> $GITHUB_OUTPUT
else
echo "build_matrix=$matrix_content" >> $GITHUB_ENV
echo "has_valid_build_matrix=true" >> $GITHUB_OUTPUT
echo "$matrix_content"
fi
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: needs.matrix.outputs.has_valid_build_matrix == 'true'
container: container:
image: zmkfirmware/zmk-build-arm:stable image: zmkfirmware/zmk-build-arm:stable
needs: matrix needs: matrix
@@ -60,21 +49,15 @@ jobs:
fail-fast: false fail-fast: false
matrix: ${{ fromJson(needs.matrix.outputs.build_matrix) }} matrix: ${{ fromJson(needs.matrix.outputs.build_matrix) }}
steps: steps:
- name: Act Workaround # https://github.com/nektos/act/issues/973
if: ${{ env.ACT }}
run: |
apt-get update && apt-get install -y curl unzip
curl -fsSL https://deb.nodesource.com/setup_22.x | bash && apt install -y nodejs
- name: Checkout - name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v4
- name: Create build directory - name: Create build directory
run: | run: |
echo "build_dir=$(mktemp -d)" >> $GITHUB_ENV echo "build_dir=$(mktemp -d)" >> $GITHUB_ENV
- name: Prepare variables - name: Prepare variables
shell: bash -x {0} shell: sh -x {0}
env: env:
board: ${{ matrix.board }} board: ${{ matrix.board }}
shield: ${{ matrix.shield }} shield: ${{ matrix.shield }}
@@ -98,7 +81,7 @@ jobs:
echo "extra_west_args=${extra_west_args}" >> $GITHUB_ENV echo "extra_west_args=${extra_west_args}" >> $GITHUB_ENV
echo "extra_cmake_args=${shield:+-DSHIELD=\"$shield\"}${zmk_load_arg}" >> $GITHUB_ENV echo "extra_cmake_args=${shield:+-DSHIELD=\"$shield\"}${zmk_load_arg}" >> $GITHUB_ENV
echo "display_name=${shield:+$shield - }${board}" >> $GITHUB_ENV echo "display_name=${shield:+$shield - }${board}" >> $GITHUB_ENV
echo "artifact_name=${artifact_name:-${shield:+$shield-}${board//\//_}-zmk}" >> $GITHUB_ENV echo "artifact_name=${artifact_name:-${shield:+$shield-}${board}-zmk}" >> $GITHUB_ENV
- name: Copy config files to isolated temporary directory - name: Copy config files to isolated temporary directory
run: | run: |
@@ -133,13 +116,6 @@ jobs:
working-directory: ${{ env.base_dir }} working-directory: ${{ env.base_dir }}
run: west update --fetch-opt=--filter=tree:0 run: west update --fetch-opt=--filter=tree:0
- name: Check ZMK revision
working-directory: ${{ env.base_dir }}
run: |
zmk_revision=$(west list -f "{revision}" zmk)
echo "zmk_revision=${zmk_revision}" >> $GITHUB_ENV
echo "ZMK revision: ${zmk_revision}"
- name: West Zephyr export - name: West Zephyr export
working-directory: ${{ env.base_dir }} working-directory: ${{ env.base_dir }}
run: west zephyr-export run: west zephyr-export
@@ -149,38 +125,6 @@ jobs:
shell: sh -x {0} shell: sh -x {0}
run: west build -s zmk/app -d "${{ env.build_dir }}" -b "${{ matrix.board }}" ${{ env.extra_west_args }} -- -DZMK_CONFIG=${{ env.base_dir }}/${{ inputs.config_path }} ${{ env.extra_cmake_args }} ${{ matrix.cmake-args }} run: west build -s zmk/app -d "${{ env.build_dir }}" -b "${{ matrix.board }}" ${{ env.extra_west_args }} -- -DZMK_CONFIG=${{ env.base_dir }}/${{ inputs.config_path }} ${{ env.extra_cmake_args }} ${{ matrix.cmake-args }}
- name: Warn about building from main if build fails
if: failure() && env.zmk_revision == 'main'
run: |
echo "# Consider Pinning ZMK" >> $GITHUB_STEP_SUMMARY
echo "Your recent build failure might be the result of breaking changes made to ZMK's main branch." >> $GITHUB_STEP_SUMMARY
echo "Consider [pinning your ZMK version](https://zmk.dev/blog/2025/06/20/pinned-zmk) to a release for increased stability." >> $GITHUB_STEP_SUMMARY
echo "See also the [list of released versions](https://github.com/zmkfirmware/zmk/releases)." >> $GITHUB_STEP_SUMMARY
echo "If you wish to stay on main, check the most recent pending release PR for breaking changes. [Our blog](https://zmk.dev/blog) may have upgrade information if breaking changes are significant." >> $GITHUB_STEP_SUMMARY
- name: Check if building a board without explicit ZMK compat
if: always()
working-directory: "${{ env.base_dir }}/${{ inputs.config_path }}"
run: |
if ! (grep "CONFIG_ZMK_BOARD_COMPAT=y" "${{ env.build_dir }}/zephyr/.config" > /dev/null)
then
original_board=$(echo "${{ matrix.board }}" | sed -e 's$/.*$$')
west_board=$(west boards --board-root ${{ env.base_dir }}/zmk/app/module --board-root ${{ env.base_dir }}/zmk/app --board "${original_board}")
if [ -z "$west_board" ]; then
echo "Not found the board listed with west boards. Skipping further checking."
exit 0
fi
west boards --board-root ${{ env.base_dir }}/zmk/app/module --board-root ${{ env.base_dir }}/zmk/app --board "${original_board}" --format "{qualifiers}" | grep "zmk" > /dev/null
if [ $? -ne 0 ]
then
echo "::warning file=build/zephyr/.config,title=Missing ZMK Compat::The selected board does not report explicit ZMK compat. Please verify you've selected the correct board and ZMK variant if one exists"
else
echo "::error file=build/zephyr/.config,title=Missing ZMK Compat::The selected board is not set up for ZMK and there is a ZMK variant available. See https://zmk.dev/blog/2025/12/09/zephyr-4-1#zmk-board-variant."
exit 1
fi
fi
- name: ${{ env.display_name }} Kconfig file - name: ${{ env.display_name }} Kconfig file
run: | run: |
if [ -f "${{ env.build_dir }}/zephyr/.config" ] if [ -f "${{ env.build_dir }}/zephyr/.config" ]
@@ -224,7 +168,6 @@ jobs:
merge: merge:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: needs.matrix.outputs.has_valid_build_matrix == 'true'
needs: build needs: build
name: Merge Output Artifacts name: Merge Output Artifacts
steps: steps:

View File

@@ -23,14 +23,14 @@ jobs:
if: ${{ always() }} if: ${{ always() }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
image: docker.io/zmkfirmware/zmk-build-arm:4.1 image: docker.io/zmkfirmware/zmk-build-arm:3.5
needs: compile-matrix needs: compile-matrix
strategy: strategy:
matrix: matrix:
include: ${{ fromJSON(needs.compile-matrix.outputs.include-list) }} include: ${{ fromJSON(needs.compile-matrix.outputs.include-list) }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- name: Cache west modules - name: Cache west modules
@@ -61,9 +61,9 @@ jobs:
with: with:
node-version: "14.x" node-version: "14.x"
- name: Install @actions/artifact - name: Install @actions/artifact
run: npm install @actions/artifact@5.0.3 run: npm install @actions/artifact
- name: Build - name: Build
uses: actions/github-script@v7 uses: actions/github-script@v8
id: boards-list id: boards-list
with: with:
script: | script: |
@@ -95,7 +95,7 @@ jobs:
throw new Error('Failed to build one or more configurations'); throw new Error('Failed to build one or more configurations');
} }
- name: Upload artifacts - name: Upload artifacts
uses: actions/github-script@v7 uses: actions/github-script@v8
continue-on-error: ${{ github.event_name == 'pull_request' }} continue-on-error: ${{ github.event_name == 'pull_request' }}
id: boards-upload id: boards-upload
with: with:
@@ -123,7 +123,7 @@ jobs:
} }
const cmakeName = shieldArgs['cmake-args'] ? '-' + (shieldArgs.nickname || shieldArgs['cmake-args'].split(' ').join('')) : ''; const cmakeName = shieldArgs['cmake-args'] ? '-' + (shieldArgs.nickname || shieldArgs['cmake-args'].split(' ').join('')) : '';
const artifactName = `${{ matrix.board }}${shieldArgs.shield ? '-' + shieldArgs.shield : ''}${cmakeName}-zmk`.replaceAll('/', '_'); const artifactName = `${{ matrix.board }}${shieldArgs.shield ? '-' + shieldArgs.shield : ''}${cmakeName}-zmk`;
await artifact.uploadArtifact(artifactName, files, rootDirectory, options); await artifact.uploadArtifact(artifactName, files, rootDirectory, options);
} catch (e) { } catch (e) {
@@ -146,7 +146,7 @@ jobs:
include-list: ${{ steps.compile-list.outputs.result }} include-list: ${{ steps.compile-list.outputs.result }}
steps: steps:
- name: Join build lists - name: Join build lists
uses: actions/github-script@v7 uses: actions/github-script@v8
id: compile-list id: compile-list
with: with:
script: | script: |
@@ -187,7 +187,7 @@ jobs:
core-include: ${{ steps.core-list.outputs.result }} core-include: ${{ steps.core-list.outputs.result }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- name: Use Node.js - name: Use Node.js
@@ -196,7 +196,7 @@ jobs:
node-version: "14.x" node-version: "14.x"
- name: Install js-yaml - name: Install js-yaml
run: npm install js-yaml run: npm install js-yaml
- uses: actions/github-script@v7 - uses: actions/github-script@v8
id: core-list id: core-list
with: with:
script: | script: |
@@ -218,14 +218,14 @@ jobs:
boards-include: ${{ steps.boards-list.outputs.result }} boards-include: ${{ steps.boards-list.outputs.result }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v4
- name: Use Node.js - name: Use Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: "14.x" node-version: "14.x"
- name: Install js-yaml - name: Install js-yaml
run: npm install js-yaml run: npm install js-yaml
- uses: actions/github-script@v7 - uses: actions/github-script@v8
id: boards-list id: boards-list
with: with:
script: | script: |
@@ -277,7 +277,6 @@ jobs:
); );
} else { } else {
console.error("Board without keys or interconnect"); console.error("Board without keys or interconnect");
return [];
} }
break; break;
case "shield": case "shield":
@@ -303,7 +302,7 @@ jobs:
nightly-include: ${{ steps.nightly-list.outputs.result }} nightly-include: ${{ steps.nightly-list.outputs.result }}
steps: steps:
- name: Create nightly list - name: Create nightly list
uses: actions/github-script@v7 uses: actions/github-script@v8
id: nightly-list id: nightly-list
with: with:
script: | script: |
@@ -346,7 +345,7 @@ jobs:
organized-metadata: ${{ steps.organize-metadata.outputs.result }} organized-metadata: ${{ steps.organize-metadata.outputs.result }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- name: Use Node.js - name: Use Node.js
@@ -356,7 +355,7 @@ jobs:
- name: Install js-yaml - name: Install js-yaml
run: npm install js-yaml run: npm install js-yaml
- name: Aggregate Metadata - name: Aggregate Metadata
uses: actions/github-script@v7 uses: actions/github-script@v8
id: aggregate-metadata id: aggregate-metadata
with: with:
script: | script: |
@@ -374,7 +373,7 @@ jobs:
result-encoding: string result-encoding: string
- name: Organize Metadata - name: Organize Metadata
uses: actions/github-script@v7 uses: actions/github-script@v8
id: organize-metadata id: organize-metadata
with: with:
script: | script: |
@@ -428,7 +427,7 @@ jobs:
core-changes: ${{ steps.core-changes.outputs.result }} core-changes: ${{ steps.core-changes.outputs.result }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- uses: tj-actions/changed-files@9200e69727eb73eb060652b19946b8a2fdfb654b # pin to v45.0.8 due to https://github.com/tj-actions/changed-files/issues/2463 https://www.stepsecurity.io/blog/harden-runner-detection-tj-actions-changed-files-action-is-compromised - uses: tj-actions/changed-files@9200e69727eb73eb060652b19946b8a2fdfb654b # pin to v45.0.8 due to https://github.com/tj-actions/changed-files/issues/2463 https://www.stepsecurity.io/blog/harden-runner-detection-tj-actions-changed-files-action-is-compromised
@@ -436,7 +435,7 @@ jobs:
with: with:
json: true json: true
escape_json: false escape_json: false
- uses: actions/github-script@v7 - uses: actions/github-script@v8
id: board-changes id: board-changes
with: with:
script: | script: |
@@ -444,7 +443,7 @@ jobs:
const boardChanges = changedFiles.filter(f => f.startsWith('app/boards')); const boardChanges = changedFiles.filter(f => f.startsWith('app/boards'));
return boardChanges.length ? 'true' : 'false'; return boardChanges.length ? 'true' : 'false';
result-encoding: string result-encoding: string
- uses: actions/github-script@v7 - uses: actions/github-script@v8
id: core-changes id: core-changes
with: with:
script: | script: |

View File

@@ -14,7 +14,7 @@ jobs:
lint: lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v4
- uses: bahmutov/npm-install@v1 - uses: bahmutov/npm-install@v1
with: with:
working-directory: docs working-directory: docs
@@ -24,7 +24,7 @@ jobs:
typecheck: typecheck:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v4
- uses: bahmutov/npm-install@v1 - uses: bahmutov/npm-install@v1
with: with:
working-directory: docs working-directory: docs

View File

@@ -18,9 +18,9 @@ jobs:
validate-metadata: validate-metadata:
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
image: docker.io/zmkfirmware/zmk-dev-arm:4.1 image: docker.io/zmkfirmware/zmk-dev-arm:3.5
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v4
- name: Install dependencies - name: Install dependencies
run: pip install --break-system-packages -r app/scripts/requirements.txt run: pip install --break-system-packages -r app/scripts/requirements.txt
- name: West init - name: West init

View File

@@ -8,7 +8,7 @@ jobs:
pre-commit: pre-commit:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v4
- uses: actions/setup-python@v5 - uses: actions/setup-python@v5
with: with:
python-version: 3.x python-version: 3.x

View File

@@ -35,7 +35,7 @@ jobs:
ZMK_RELEASE_PLEASE_TOKEN: ${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }} ZMK_RELEASE_PLEASE_TOKEN: ${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }}
VERSION: v${{ needs.handle-commit.outputs.major }}.${{ needs.handle-commit.outputs.minor }} VERSION: v${{ needs.handle-commit.outputs.major }}.${{ needs.handle-commit.outputs.minor }}
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v4
- name: Create major.minor branch - name: Create major.minor branch
if: ${{ needs.handle-commit.outputs.patch == '0' }} if: ${{ needs.handle-commit.outputs.patch == '0' }}

View File

@@ -23,7 +23,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v4
- name: Find test directories - name: Find test directories
id: test-dirs id: test-dirs
run: | run: |
@@ -37,10 +37,10 @@ jobs:
test: ${{ fromJSON(needs.collect-tests.outputs.test-dirs) }} test: ${{ fromJSON(needs.collect-tests.outputs.test-dirs) }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
image: docker.io/zmkfirmware/zmk-build-arm:4.1 image: docker.io/zmkfirmware/zmk-build-arm:3.5
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v4
- name: Cache west modules - name: Cache west modules
uses: actions/cache@v4 uses: actions/cache@v4
env: env:
@@ -66,7 +66,7 @@ jobs:
run: west zephyr-export run: west zephyr-export
- name: Test ${{ matrix.test }} - name: Test ${{ matrix.test }}
working-directory: app working-directory: app
run: ZMK_TESTS_VERBOSE=1 west test tests/${{ matrix.test }} run: west test tests/${{ matrix.test }}
- name: Archive artifacts - name: Archive artifacts
if: ${{ always() }} if: ${{ always() }}
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4

1
.gitignore vendored
View File

@@ -1,7 +1,6 @@
/.west /.west
/bootloader /bootloader
/modules /modules
/optional
/tools /tools
/zephyr /zephyr
/zmk-config /zmk-config

View File

@@ -1 +1 @@
{".":"0.4.0"} {".":"0.3.0"}

View File

@@ -1,100 +1,5 @@
# Changelog # Changelog
## [0.4.0](https://github.com/zmkfirmware/zmk/compare/v0.3.0...v0.4.0) (2026-03-20)
### ⚠ BREAKING CHANGES
* Move to zephyr v4.1 ([#3060](https://github.com/zmkfirmware/zmk/issues/3060))
* **core:** Allow layer behaviors to "lock" layers on (https://github.com/zmkfirmware/zmk/pull/2717)
### Features
* Add double tap to enter bootloader functionality ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* Add nBOOT_SEL bit setup for STM32 G0/C0 targets ([f85ec7e](https://github.com/zmkfirmware/zmk/commit/f85ec7e7a24be10f1cf59025a192569dc0b33167))
* Add ZMK_BOARD_COMPAT Kconfig symbol, and check for it ([a23aa00](https://github.com/zmkfirmware/zmk/commit/a23aa009d7a07d67fe5609caca7372e16610f238))
* Allow layer behaviors to "lock" layers on (https://github.com/zmkfirmware/zmk/pull/2717) ([5138c6f](https://github.com/zmkfirmware/zmk/commit/5138c6fb14783b756c5a3e61581625c700f3555b))
* **behaviors:** Add retention boot mode to reset. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **ble:** Use appearance set in the BT_DEVICE_APPEARANCE config ([#3115](https://github.com/zmkfirmware/zmk/issues/3115)) ([ad7fbfe](https://github.com/zmkfirmware/zmk/commit/ad7fbfef920d9907ca8f143e273fa9eb7d84b25a))
* **boards/shields:** Add settings for Rpi Pico and add tester_rpi_pico shield ([#2900](https://github.com/zmkfirmware/zmk/issues/2900)) ([ccf20a1](https://github.com/zmkfirmware/zmk/commit/ccf20a1f5c1534a197d32279abbe0eaf651099d8))
* **boards:** add support for nrf52840dongle_nrf52840 ([#3011](https://github.com/zmkfirmware/zmk/issues/3011)) ([c7fae18](https://github.com/zmkfirmware/zmk/commit/c7fae18ae122b2465080507380dd55d096edd666))
* **core:** (Optionally) use Zephyr keyboard input devices ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **core:** mapper for magic bootloader values. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **display:** Add thread name to dedicated display queue. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **docs:** Update New Behavior Guide ([#3107](https://github.com/zmkfirmware/zmk/issues/3107)) ([e34793e](https://github.com/zmkfirmware/zmk/commit/e34793e8c7193bc868b95ec38d78f67956f759cb))
* **endpoints:** add "no endpoint" value ([6e7e0de](https://github.com/zmkfirmware/zmk/commit/6e7e0de2b621073392816b284ab4931bee709ee8))
* **endpoints:** add "no endpoint" value ([#3140](https://github.com/zmkfirmware/zmk/issues/3140)) ([6e7e0de](https://github.com/zmkfirmware/zmk/commit/6e7e0de2b621073392816b284ab4931bee709ee8))
* **layouts:** Add physical layout for Redox shield ([61de01a](https://github.com/zmkfirmware/zmk/commit/61de01abb00a73349a188ef2e10ad1cd040d31b3))
* Move to zephyr v4.1 ([#3060](https://github.com/zmkfirmware/zmk/issues/3060)) ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **pointing:** Handle INPUT_BTN_TOUCH codes for mouse buttons ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **pointing:** Release pressed keys on disconnect ([#3204](https://github.com/zmkfirmware/zmk/issues/3204)) ([24487bd](https://github.com/zmkfirmware/zmk/commit/24487bd9744f504724089f0e1cec98431a2d3333))
* **shields:** Add Studio support to boardsource3x4 ([#3154](https://github.com/zmkfirmware/zmk/issues/3154)) ([40e06f3](https://github.com/zmkfirmware/zmk/commit/40e06f3c0084751f7ae012a71d92d5801ac3b7a0))
* **split:** Add HID indicators and physical layout set to Wired split ([#3103](https://github.com/zmkfirmware/zmk/issues/3103)) ([7738924](https://github.com/zmkfirmware/zmk/commit/773892434931b74bdf54474b73c909779daa9471))
### Bug Fixes
* Add "optional" folder to .gitignore ([#3141](https://github.com/zmkfirmware/zmk/issues/3141)) ([c099041](https://github.com/zmkfirmware/zmk/commit/c0990410da4c0a0c3776448e8c05ca2ce8778c8a))
* **behaviors:** correctly handle sensor rotation remainder ([#3084](https://github.com/zmkfirmware/zmk/issues/3084)) ([958fa78](https://github.com/zmkfirmware/zmk/commit/958fa788067e18c2228d016fcd826000bb8f0320))
* **boards:** Add xiao_ble sd_partition label for nosd snippet compat ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **boards:** Fix pillbug board.yml to report extension ([a23aa00](https://github.com/zmkfirmware/zmk/commit/a23aa009d7a07d67fe5609caca7372e16610f238))
* **boards:** Remove nano overlays for old nice_nano_v2 board ID. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **boards:** Remove some references to old nice_nano_v2 board ID. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **boards:** Retore bootloader support on XIAO BLE. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **ci:** Better safeguards for ZMK variant build check ([#3277](https://github.com/zmkfirmware/zmk/issues/3277)) ([8feeb52](https://github.com/zmkfirmware/zmk/commit/8feeb52eafc716c1697cfe0515e98b78281c3543))
* **ci:** disable nrf5340dk from being built in our CI ([#3066](https://github.com/zmkfirmware/zmk/issues/3066)) ([522971f](https://github.com/zmkfirmware/zmk/commit/522971f41d62d7e5d6664eb61c84d190781feeb9))
* **ci:** Fix release please template bump ([#3021](https://github.com/zmkfirmware/zmk/issues/3021)) ([f3233c1](https://github.com/zmkfirmware/zmk/commit/f3233c1b60e4cb4c095572740bcbcaf7111eb804))
* **ci:** Pin @actions/artifact to a compatible release ([#3230](https://github.com/zmkfirmware/zmk/issues/3230)) ([ada1542](https://github.com/zmkfirmware/zmk/commit/ada1542940c3a01c0866c9fe9c30f489bc087328))
* **ci:** Prevent slash characters in artifact names. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **ci:** Skip build on empty build matrix ([#3271](https://github.com/zmkfirmware/zmk/issues/3271)) ([df2e979](https://github.com/zmkfirmware/zmk/commit/df2e979d7e03ba84a503e3d90975a599d484b9e0)), closes [#3179](https://github.com/zmkfirmware/zmk/issues/3179)
* **core:** Don't force CBPRINTF_NANO, for proper formatting. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **core:** Generate correct keymap layer names for all builds ([#3047](https://github.com/zmkfirmware/zmk/issues/3047)) ([0b5a103](https://github.com/zmkfirmware/zmk/commit/0b5a103c187ad337b9f50d824667866c4d7252e1)), closes [#3045](https://github.com/zmkfirmware/zmk/issues/3045)
* **core:** One tick kscan wait on RP2350 ([#3255](https://github.com/zmkfirmware/zmk/issues/3255)) ([9278505](https://github.com/zmkfirmware/zmk/commit/9278505975759e9cf01b4e6e8ead359b14a11400))
* **core:** Set a system work queue stack size of 2048 by default ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **core:** support magic bootloader values for nRF52833 ([#3163](https://github.com/zmkfirmware/zmk/issues/3163)) ([308de56](https://github.com/zmkfirmware/zmk/commit/308de56fb938057da7648a411ce0dce780dfc3f1))
* Disable Nordic dt-bindings header checks. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **display:** Adjust stack sizes for display usage. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **display:** Fix setting the small font for the mono theme. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **display:** port nice!view display code ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **docs:** Improve ZMK setup instructions ([#3209](https://github.com/zmkfirmware/zmk/issues/3209)) ([354cff9](https://github.com/zmkfirmware/zmk/commit/354cff9c36b49eee6abbb8a61e6b927539aebbf2))
* **docs:** Tweak layer tap example to be clearer ([#3023](https://github.com/zmkfirmware/zmk/issues/3023)) ([919bce7](https://github.com/zmkfirmware/zmk/commit/919bce7962db78139415ccf0e80fb858c89adb3d))
* Don't enable ZMK Display by default for a few shields ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **endpoints:** Add endpoint setting upgrade ([6e7e0de](https://github.com/zmkfirmware/zmk/commit/6e7e0de2b621073392816b284ab4931bee709ee8))
* Fix redundant const warning ([#3139](https://github.com/zmkfirmware/zmk/issues/3139)) ([8987f39](https://github.com/zmkfirmware/zmk/commit/8987f3979d7877114ede2f34edb5570a6b454460))
* **hid:** initialize missing d_scroll_x field in mouse report ([#3196](https://github.com/zmkfirmware/zmk/issues/3196)) ([abce9de](https://github.com/zmkfirmware/zmk/commit/abce9deab76124d72c61a824aaa1affc3dbc1260))
* **keymap:** Fix overflow in get/set bindings ([#3205](https://github.com/zmkfirmware/zmk/issues/3205)) ([ab46f48](https://github.com/zmkfirmware/zmk/commit/ab46f48dde8aa70e44a2fc2d2a1b81ae703d4981))
* nice!view built-in widgets render failure from insufficient memory ([#3243](https://github.com/zmkfirmware/zmk/issues/3243)) ([536375e](https://github.com/zmkfirmware/zmk/commit/536375e45ef6d01a9c194803525bf9dd5e119421)), closes [#3219](https://github.com/zmkfirmware/zmk/issues/3219)
* **pointing:** Refactor for changes to input API ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* Refactor for new Zephyr PM API ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* Remove usage of renamed Kconfig from core coverage. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* replace removed `K_THREAD_STACK_MEMBER` with `K_KERNEL_STACK_MEMBER` ([#3218](https://github.com/zmkfirmware/zmk/issues/3218)) ([f6c629e](https://github.com/zmkfirmware/zmk/commit/f6c629e895bbe3957ec243afb80b11e1e4b4e503))
* **sensors:** Initialize sensor data to 0 before fetching. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* Set default transport according to enabled transports ([6e7e0de](https://github.com/zmkfirmware/zmk/commit/6e7e0de2b621073392816b284ab4931bee709ee8))
* **shields:** Proper transparent binding in sofle raise layer ([#3238](https://github.com/zmkfirmware/zmk/issues/3238)) ([5cfc67a](https://github.com/zmkfirmware/zmk/commit/5cfc67a33402b24ab893b8d71cef1af2a869adbb))
* **split:** correct async UART RX buffer definition ([#3193](https://github.com/zmkfirmware/zmk/issues/3193)) ([36dbf46](https://github.com/zmkfirmware/zmk/commit/36dbf467644d4b4b6b9176241d42261d27fb18f2))
* **split:** int to pointer cast in bas proxy ([#3105](https://github.com/zmkfirmware/zmk/issues/3105)) ([ece2ce1](https://github.com/zmkfirmware/zmk/commit/ece2ce11b8c7245fbe2b4e41ec9fa7a870632e6c))
* **split:** Properly return from command handler ([#3120](https://github.com/zmkfirmware/zmk/issues/3120)) ([d32ffb0](https://github.com/zmkfirmware/zmk/commit/d32ffb0a335ece70a9ce3dc3ce014676534ee99b))
* **split:** Use correct Kconfig for bumping TX buffers for discovery ([#3216](https://github.com/zmkfirmware/zmk/issues/3216)) ([9490391](https://github.com/zmkfirmware/zmk/commit/9490391e1e4010c83291d437b7f9a71ace244581)), closes [#3156](https://github.com/zmkfirmware/zmk/issues/3156)
* **studio:** Allow setting UART RPC thread priority ([#3290](https://github.com/zmkfirmware/zmk/issues/3290)) ([e4fb39d](https://github.com/zmkfirmware/zmk/commit/e4fb39d4a6514fe90d44b1570f908bddc5df0ad2))
* **studio:** avoid decoding buffer overflow ([#3185](https://github.com/zmkfirmware/zmk/issues/3185)) ([70ab6b2](https://github.com/zmkfirmware/zmk/commit/70ab6b243a90b556d113fcdd0c8de1ef3dccdc1e))
* **studio:** Correct `memset` usage. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **studio:** Correct usage of thread analyzer API ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **studio:** Properly serialize GATT RPC indications. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **tests:** Fix BLE test to account for Zephyr changes ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **underglow:** Remove use of removed Kconfig WS2812 symbol ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **usb:** Adjust Kconfig settings for USB. ([c06fa48](https://github.com/zmkfirmware/zmk/commit/c06fa48ce59e016105d79c20942d085314502d8d))
* **usb:** Prevent unexpected USB disconnection caused by USB SOF ([#3070](https://github.com/zmkfirmware/zmk/issues/3070)) ([118359c](https://github.com/zmkfirmware/zmk/commit/118359c83efa0758144489fd5e12cc6f5bdbad4c))
### Documentation
* Added documentation note on locking layers ([5138c6f](https://github.com/zmkfirmware/zmk/commit/5138c6fb14783b756c5a3e61581625c700f3555b))
### Code Refactoring
* **core:** Allow layer behaviors to "lock" layers on (https://github.com/zmkfirmware/zmk/pull/2717) ([5138c6f](https://github.com/zmkfirmware/zmk/commit/5138c6fb14783b756c5a3e61581625c700f3555b))
## [0.3.0](https://github.com/zmkfirmware/zmk/compare/v0.2.1...v0.3.0) (2025-08-01) ## [0.3.0](https://github.com/zmkfirmware/zmk/compare/v0.2.1...v0.3.0) (2025-08-01)

View File

@@ -23,7 +23,6 @@ zephyr_syscall_header(${APPLICATION_SOURCE_DIR}/include/drivers/ext_power.h)
# Add your source file to the "app" target. This must come after # Add your source file to the "app" target. This must come after
# find_package(Zephyr) which defines the target. # find_package(Zephyr) which defines the target.
target_include_directories(app PRIVATE include) target_include_directories(app PRIVATE include)
add_subdirectory(src/boot)
target_sources(app PRIVATE src/stdlib.c) target_sources(app PRIVATE src/stdlib.c)
target_sources(app PRIVATE src/activity.c) target_sources(app PRIVATE src/activity.c)
target_sources(app PRIVATE src/behavior.c) target_sources(app PRIVATE src/behavior.c)

View File

@@ -5,17 +5,6 @@ mainmenu "ZMK Firmware"
menu "ZMK" menu "ZMK"
config ZMK_BOARD_COMPAT
bool
help
Hidden symbol used to hint that a board has been specifically
set up with various ZMK requirements in mind, e.g. settings
storage, bootloader integration, etc.
Failure to set this will warn users they may want to verify they
used a ZMK variant of an upstream board, or are using a board
properly migrated to a newer ZMK version.
menu "Basic Keyboard Setup" menu "Basic Keyboard Setup"
config ZMK_KEYBOARD_NAME config ZMK_KEYBOARD_NAME
@@ -42,10 +31,10 @@ config BT_DIS_PNP_VID
config BT_DIS_PNP_PID config BT_DIS_PNP_PID
default 0x615E default 0x615E
config BT_DIS_MODEL_NUMBER_STR config BT_DIS_MODEL
default ZMK_KEYBOARD_NAME default ZMK_KEYBOARD_NAME
config BT_DIS_MANUF_NAME_STR config BT_DIS_MANUF
default "ZMK Project" default "ZMK Project"
# Hardware specific overrides # Hardware specific overrides
@@ -140,9 +129,7 @@ config ZMK_USB_BOOT
bool "USB Boot Protocol Support" bool "USB Boot Protocol Support"
depends on ZMK_USB depends on ZMK_USB
select USB_HID_BOOT_PROTOCOL select USB_HID_BOOT_PROTOCOL
select USB_DEVICE_SOF
config USB_DEVICE_INITIALIZE_AT_BOOT
default n
if ZMK_USB if ZMK_USB
@@ -198,6 +185,10 @@ config BT_SMP_ALLOW_UNAUTH_OVERWRITE
config BT_CTLR_PHY_2M config BT_CTLR_PHY_2M
default n if ZMK_BLE_EXPERIMENTAL_CONN default n if ZMK_BLE_EXPERIMENTAL_CONN
# BT_TINYCRYPT_ECC is required for BT_SMP_SC_PAIR_ONLY when using HCI
config BT_TINYCRYPT_ECC
default y if BT_HCI && !BT_CTLR
config ZMK_BLE_THREAD_STACK_SIZE config ZMK_BLE_THREAD_STACK_SIZE
int "BLE notify thread stack size" int "BLE notify thread stack size"
default 768 default 768
@@ -228,6 +219,9 @@ config BT_GATT_NOTIFY_MULTIPLE
config BT_GATT_AUTO_SEC_REQ config BT_GATT_AUTO_SEC_REQ
default (ZMK_SPLIT_BLE && !ZMK_SPLIT_ROLE_CENTRAL) default (ZMK_SPLIT_BLE && !ZMK_SPLIT_ROLE_CENTRAL)
config BT_DEVICE_APPEARANCE
default 961
config BT_PERIPHERAL_PREF_MIN_INT config BT_PERIPHERAL_PREF_MIN_INT
default 6 default 6
@@ -484,15 +478,13 @@ endmenu
menu "Advanced" menu "Advanced"
rsource "src/boot/Kconfig"
menu "Initialization Priorities" menu "Initialization Priorities"
if USB_DEVICE_STACK if USB_DEVICE_STACK
config ZMK_USB_INIT_PRIORITY config ZMK_USB_INIT_PRIORITY
int "USB Init Priority" int "USB Init Priority"
default 96 default 94
config ZMK_USB_HID_INIT_PRIORITY config ZMK_USB_HID_INIT_PRIORITY
int "USB HID Init Priority" int "USB HID Init Priority"
@@ -661,13 +653,6 @@ endmenu # Advanced
endmenu # ZMK endmenu # ZMK
if SOC_FAMILY_NORDIC_NRF
config NRF_SOC_VALIDATE_HEADERS_DISABLED
default y
endif
config KERNEL_BIN_NAME config KERNEL_BIN_NAME
default "zmk" default "zmk"
@@ -702,6 +687,11 @@ config ZMK_KEYMAP_SENSORS_DEFAULT_TRIGGERS_PER_ROTATION
endif # ZMK_KEYMAP_SENSORS endif # ZMK_KEYMAP_SENSORS
choice CBPRINTF_IMPLEMENTATION
default CBPRINTF_NANO
endchoice
module = ZMK module = ZMK
module-str = zmk module-str = zmk
source "subsys/logging/Kconfig.template.log_config" source "subsys/logging/Kconfig.template.log_config"
@@ -715,6 +705,8 @@ rsource "boards/shields/*/Kconfig.shield"
# Duplicated from Kconfig.zephyr # Duplicated from Kconfig.zephyr
osource "$(KCONFIG_BINARY_DIR)/Kconfig.shield.defconfig" osource "$(KCONFIG_BINARY_DIR)/Kconfig.shield.defconfig"
source "$(BOARD_DIR)/Kconfig.defconfig"
# This loads board and shield Kconfigs found under zmk-config/config/ # This loads board and shield Kconfigs found under zmk-config/config/
osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.defconfig" osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.defconfig"
osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.shield" osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.shield"

View File

@@ -2,12 +2,8 @@
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
config SYSTEM_WORKQUEUE_STACK_SIZE config SYSTEM_WORKQUEUE_STACK_SIZE
default 3072 if ZMK_DISPLAY default 2048 if SOC_RP2040
default 2048 default 2048 if ZMK_BLE
# Basic
config BT_DEVICE_APPEARANCE
default 961
# HID # HID
if ZMK_HID_REPORT_TYPE_HKRO if ZMK_HID_REPORT_TYPE_HKRO
@@ -114,5 +110,4 @@ config ZMK_BATTERY_REPORT_INTERVAL
default 60 default 60
# Imports # Imports
rsource "src/boot/Kconfig.defaults"
rsource "src/split/Kconfig.defaults" rsource "src/split/Kconfig.defaults"

View File

@@ -3,7 +3,7 @@ VERSION_MAJOR = 0
# x-release-please-end # x-release-please-end
# x-release-please-start-minor # x-release-please-start-minor
VERSION_MINOR = 4 VERSION_MINOR = 3
# x-release-please-end # x-release-please-end
# x-release-please-start-patch # x-release-please-start-patch

View File

@@ -0,0 +1,6 @@
CONFIG_ZMK_DISPLAY=y
CONFIG_LV_FONT_UNSCII_8=n
CONFIG_ZMK_USB=y
CONFIG_I2C=y
CONFIG_I2C_DW=y
CONFIG_LV_Z_VDB_SIZE=50

View File

@@ -0,0 +1,7 @@
/*
* Copyright (c) 2023 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
&xiao_serial { status = "disabled"; };

View File

@@ -1,9 +0,0 @@
# Copyright (c) 2026 The ZMK Contributors
# SPDX-License-Identifier: MIT
config BOARD_ADAFRUIT_KB2040
select ZMK_BOARD_COMPAT if BOARD_ADAFRUIT_KB2040_RP2040_ZMK
imply RETAINED_MEM if BOARD_ADAFRUIT_KB2040_RP2040_ZMK
imply RETENTION if BOARD_ADAFRUIT_KB2040_RP2040_ZMK
imply RETENTION_BOOT_MODE if BOARD_ADAFRUIT_KB2040_RP2040_ZMK

View File

@@ -1,23 +0,0 @@
# SPDX-License-Identifier: MIT
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=125000000
# Enable reset by default
CONFIG_RESET=y
# Enable clock control by default
CONFIG_CLOCK_CONTROL=y
# Code partition needed to target the correct flash range
CONFIG_USE_DT_CODE_PARTITION=y
# Output UF2 by default, native bootloader supports it.
CONFIG_BUILD_OUTPUT_UF2=y
# USB HID
CONFIG_ZMK_USB=y
# Bootloader Support
CONFIG_RETAINED_MEM=y
CONFIG_RETENTION=y
CONFIG_RETENTION_BOOT_MODE=y

View File

@@ -1,5 +0,0 @@
board:
extend: adafruit_kb2040
variants:
- name: zmk
qualifier: rp2040

View File

@@ -1,9 +0,0 @@
# Copyright (c) 2026 The ZMK Contributors
# SPDX-License-Identifier: MIT
config BOARD_ADAFRUIT_QT_PY_RP2040
select ZMK_BOARD_COMPAT if BOARD_ADAFRUIT_QT_PY_RP2040_RP2040_ZMK
imply RETAINED_MEM if BOARD_ADAFRUIT_QT_PY_RP2040_RP2040_ZMK
imply RETENTION if BOARD_ADAFRUIT_QT_PY_RP2040_RP2040_ZMK
imply RETENTION_BOOT_MODE if BOARD_ADAFRUIT_QT_PY_RP2040_RP2040_ZMK

View File

@@ -1,10 +0,0 @@
/*
* Copyright (c) 2023 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#include <../boards/adafruit/qt_py_rp2040/adafruit_qt_py_rp2040.dts>
#include <arm/raspberrypi/rp2040-boot-mode-retention.dtsi>
&xiao_serial { status = "disabled"; };

View File

@@ -1,23 +0,0 @@
# SPDX-License-Identifier: MIT
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=125000000
# Enable reset by default
CONFIG_RESET=y
# Enable clock control by default
CONFIG_CLOCK_CONTROL=y
# Code partition needed to target the correct flash range
CONFIG_USE_DT_CODE_PARTITION=y
# Output UF2 by default, native bootloader supports it.
CONFIG_BUILD_OUTPUT_UF2=y
# USB HID
CONFIG_ZMK_USB=y
# Bootloader Support
CONFIG_RETAINED_MEM=y
CONFIG_RETENTION=y
CONFIG_RETENTION_BOOT_MODE=y

View File

@@ -1,5 +0,0 @@
board:
extend: adafruit_qt_py_rp2040
variants:
- name: zmk
qualifier: rp2040

View File

@@ -0,0 +1,4 @@
CONFIG_CONSOLE=n
CONFIG_SERIAL=n
CONFIG_UART_CONSOLE=n
CONFIG_ZMK_USB=y

View File

@@ -4,7 +4,4 @@
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
*/ */
#include <../boards/adafruit/kb2040/adafruit_kb2040.dts>
#include <arm/raspberrypi/rp2040-boot-mode-retention.dtsi>
&pro_micro_serial { status = "disabled"; }; &pro_micro_serial { status = "disabled"; };

View File

@@ -0,0 +1,4 @@
CONFIG_CONSOLE=n
CONFIG_SERIAL=n
CONFIG_UART_CONSOLE=n
CONFIG_ZMK_USB=y

View File

@@ -0,0 +1,7 @@
/*
* Copyright (c) 2023 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
&xiao_serial { status = "disabled"; };

View File

@@ -1,5 +1,5 @@
file_format: "1" file_format: "1"
id: adafruit_kb2040//zmk id: adafruit_kb2040
name: Adafruit KB2040 name: Adafruit KB2040
type: board type: board
arch: arm arch: arm

View File

@@ -1,5 +1,5 @@
file_format: "1" file_format: "1"
id: adafruit_qt_py_rp2040//zmk id: adafruit_qt_py_rp2040
name: Adafruit QT Py RP2040 name: Adafruit QT Py RP2040
type: board type: board
arch: arm arch: arm

View File

@@ -0,0 +1,7 @@
# SPDX-License-Identifier: MIT
config BOARD_ENABLE_DCDC
bool "Enable DCDC mode"
select SOC_DCDC_NRF52X
default y
depends on BOARD_ADV360PRO_LEFT || BOARD_ADV360PRO_RIGHT

View File

@@ -0,0 +1,12 @@
#
# Copyright (c) 2023 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
config BOARD_ADV360PRO_LEFT
bool "adv360pro_left"
depends on SOC_NRF52840_QIAA
config BOARD_ADV360PRO_RIGHT
bool "adv360pro_right"
depends on SOC_NRF52840_QIAA

View File

@@ -7,7 +7,6 @@
/dts-v1/; /dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi> #include <nordic/nrf52840_qiaa.dtsi>
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
#include <dt-bindings/led/led.h> #include <dt-bindings/led/led.h>
#include <dt-bindings/zmk/matrix_transform.h> #include <dt-bindings/zmk/matrix_transform.h>
@@ -72,10 +71,6 @@
}; };
&reg1 {
regulator-initial-mode = <NRF5X_REG_MODE_DCDC>;
};
&pwm0 { &pwm0 {
status = "okay"; status = "okay";
pinctrl-0 = <&pwm0_default>; pinctrl-0 = <&pwm0_default>;

View File

@@ -13,5 +13,5 @@ outputs:
- usb - usb
- ble - ble
siblings: siblings:
- adv360pro_left//zmk - adv360pro_left
- adv360pro_right//zmk - adv360pro_right

View File

@@ -3,6 +3,10 @@
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
# #
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_ADV360PRO_LEFT=y
# Enable MPU # Enable MPU
CONFIG_ARM_MPU=y CONFIG_ARM_MPU=y
@@ -28,6 +32,7 @@ CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_150PPM=y CONFIG_CLOCK_CONTROL_NRF_K32SRC_150PPM=y
#RGB leds config #RGB leds config
CONFIG_WS2812_STRIP=y
CONFIG_ZMK_RGB_UNDERGLOW=y CONFIG_ZMK_RGB_UNDERGLOW=y
CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y
CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n

View File

@@ -3,6 +3,10 @@
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
# #
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_ADV360PRO_RIGHT=y
# Enable MPU # Enable MPU
CONFIG_ARM_MPU=y CONFIG_ARM_MPU=y
@@ -28,6 +32,7 @@ CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_150PPM=y CONFIG_CLOCK_CONTROL_NRF_K32SRC_150PPM=y
#RGB leds config #RGB leds config
CONFIG_WS2812_STRIP=y
CONFIG_ZMK_RGB_UNDERGLOW=y CONFIG_ZMK_RGB_UNDERGLOW=y
CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y
CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n

View File

@@ -0,0 +1,8 @@
# keeb.io BDN9 board configuration
# Copyright (c) 2020 The ZMK Contributors
# SPDX-License-Identifier: MIT
config BOARD_BDN9
bool "BDN9 rev2"
depends on SOC_STM32F072XB

View File

@@ -11,4 +11,8 @@ config BOARD
config ZMK_KEYBOARD_NAME config ZMK_KEYBOARD_NAME
default "BDN9 Rev2" default "BDN9 Rev2"
config ZMK_RGB_UNDERGLOW
select SPI
select WS2812_STRIP
endif # BOARD_BDN9 endif # BOARD_BDN9

View File

@@ -11,7 +11,7 @@
#include <dt-bindings/zmk/matrix_transform.h> #include <dt-bindings/zmk/matrix_transform.h>
#include "bdn9-layouts.dtsi" #include "bdn9_rev2-layouts.dtsi"
&physical_layout0 { &physical_layout0 {
transform = <&matrix_transform0>; transform = <&matrix_transform0>;

View File

@@ -0,0 +1,11 @@
file_format: "1"
id: bdn9_rev2
name: BDN9 Rev2
type: board
arch: arm
features:
- keys
- encoder
outputs:
- usb
url: https://keeb.io/products/bdn9-rev-2-3x3-9-key-macropad-rotary-encoder-and-rgb

View File

@@ -1,6 +1,6 @@
file_format: "1" file_format: "1"
id: bdn9//zmk id: bdn9_rev2
name: BDN9 (Rev2) name: BDN9 Rev2
type: board type: board
arch: arm arch: arm
outputs: outputs:
@@ -9,6 +9,3 @@ features:
- keys - keys
- encoder - encoder
url: https://keeb.io/collections/bdn9-collection/products/bdn9-rev-2-3x3-9-key-macropad-rotary-encoder-and-rgb url: https://keeb.io/collections/bdn9-collection/products/bdn9-rev-2-3x3-9-key-macropad-rotary-encoder-and-rgb
revisions:
- "2.0.0"
default_revision: "2.0.0"

View File

@@ -1,5 +1,7 @@
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
CONFIG_SOC_SERIES_STM32F0X=y
CONFIG_SOC_STM32F072XB=y
# 72MHz system clock # 72MHz system clock
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=72000000 CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=72000000
@@ -12,7 +14,6 @@ CONFIG_PINCTRL=y
# Poll to avoid interrupt overlap issues # Poll to avoid interrupt overlap issues
CONFIG_ZMK_KSCAN_DIRECT_POLLING=y CONFIG_ZMK_KSCAN_DIRECT_POLLING=y
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=1536
CONFIG_ISR_STACK_SIZE=1024 CONFIG_ISR_STACK_SIZE=1024
# clock configuration # clock configuration

View File

@@ -1,5 +1,5 @@
file_format: "1" file_format: "1"
id: blackpill_f401cc//zmk id: blackpill_f401cc
name: BlackPill F401CC name: BlackPill F401CC
type: board type: board
arch: arm arch: arm

View File

@@ -1,5 +1,5 @@
file_format: "1" file_format: "1"
id: blackpill_f401ce//zmk id: blackpill_f401ce
name: BlackPill F401CE name: BlackPill F401CE
type: board type: board
arch: arm arch: arm

View File

@@ -1,5 +1,5 @@
file_format: "1" file_format: "1"
id: blackpill_f411ce//zmk id: blackpill_f411ce
name: BlackPill F411CE name: BlackPill F411CE
type: board type: board
arch: arm arch: arm

View File

@@ -4,5 +4,5 @@ config BOARD_ENABLE_DCDC
bool "Enable DCDC mode" bool "Enable DCDC mode"
select SOC_DCDC_NRF52X select SOC_DCDC_NRF52X
default y default y
depends on BOARD_BLUEMICRO840 depends on BOARD_BLUEMICRO840_V1

View File

@@ -0,0 +1,8 @@
# BlueMicro840 board configuration
# Copyright (c) 2020 Pete Johanson, Derek Schmell
# SPDX-License-Identifier: MIT
config BOARD_BLUEMICRO840_V1
bool "BlueMicro840_V1"
depends on SOC_NRF52840_QIAA

View File

@@ -3,7 +3,10 @@
# Copyright (c) 2020 Pete Johanson, Derek Schmell # Copyright (c) 2020 Pete Johanson, Derek Schmell
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
if BOARD_BLUEMICRO840 if BOARD_BLUEMICRO840_V1
config BOARD
default "bluemicro840_v1"
if USB_DEVICE_STACK if USB_DEVICE_STACK
@@ -15,4 +18,4 @@ endif # USB_DEVICE_STACK
config BT_CTLR config BT_CTLR
default BT default BT
endif # BOARD_BLUEMICRO840 endif # BOARD_BLUEMICRO840_V1

View File

@@ -6,9 +6,8 @@
/dts-v1/; /dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi> #include <nordic/nrf52840_qiaa.dtsi>
#include "arduino_pro_micro_pins.dtsi" #include "arduino_pro_micro_pins.dtsi"
#include "bluemicro840-pinctrl.dtsi" #include "bluemicro840_v1-pinctrl.dtsi"
/ { / {
model = "BlueMicro840_V1"; model = "BlueMicro840_V1";
@@ -18,6 +17,7 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zmk,battery = &vbatt;
}; };
leds { leds {
@@ -26,6 +26,21 @@
gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
}; };
}; };
// Node name must match original "EXT_POWER" label to preserve user settings.
EXT_POWER {
compatible = "zmk,ext-power-generic";
init-delay-ms = <20>;
control-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
};
vbatt: vbatt {
compatible = "zmk,battery-voltage-divider";
io-channels = <&adc 7>;
output-ohms = <2000000>;
full-ohms = <(2000000 + 806000)>;
};
}; };
&adc { &adc {

View File

@@ -1,4 +1,4 @@
identifier: bluemicro840 identifier: bluemicro840_v1
name: BlueMicro840_V1 name: BlueMicro840_V1
type: mcu type: mcu
arch: arm arch: arm

View File

@@ -1,5 +1,5 @@
file_format: "1" file_format: "1"
id: bluemicro840//zmk id: bluemicro840_v1
name: BlueMicro840 v1 name: BlueMicro840 v1
type: board type: board
arch: arm arch: arm

View File

@@ -1,5 +1,9 @@
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_BLUEMICRO840_V1=y
# Enable MPU # Enable MPU
CONFIG_ARM_MPU=y CONFIG_ARM_MPU=y
@@ -17,8 +21,6 @@ CONFIG_SETTINGS_NVS=y
CONFIG_FLASH=y CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y CONFIG_FLASH_MAP=y
CONFIG_CLOCK_CONTROL_NRF=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
CONFIG_ZMK_USB=y CONFIG_ZMK_USB=y
CONFIG_ZMK_BLE=y CONFIG_ZMK_BLE=y

View File

@@ -0,0 +1,9 @@
file_format: "1"
id: boardsource_blok
name: BoardSource blok
type: board
arch: arm
outputs:
- usb
url: https://peg.software/docs/blok
exposes: [pro_micro]

View File

@@ -0,0 +1,7 @@
# SPDX-License-Identifier: MIT
config BOARD_ENABLE_DCDC
bool "Enable DCDC mode"
select SOC_DCDC_NRF52X
default y
depends on (BOARD_BT60_V1_HS || BOARD_BT60_V1)

View File

@@ -0,0 +1,12 @@
# BT60 board configuration
# Copyright (c) 2021 Polarity Works
# SPDX-License-Identifier: MIT
config BOARD_BT60_V1
bool "bt60"
depends on SOC_NRF52840_QIAA
config BOARD_BT60_V1_HS
bool "bt60 hotswap"
depends on SOC_NRF52840_QIAA

View File

@@ -1,10 +1,10 @@
# Copyright (c) 2022 The ZMK Contributors # Copyright (c) 2021 Polarity Works
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
config ZMK_KEYBOARD_NAME if BOARD_BT60_V1_HS || BOARD_BT60_V1
default "BT75" if BOARD_BT75
if BOARD_BT75 config BOARD
default "bt60"
if USB if USB
@@ -19,4 +19,7 @@ endif # USB
config BT_CTLR config BT_CTLR
default BT default BT
endif # BOARD_BT75 config ZMK_KEYBOARD_NAME
default "BT60"
endif # BOARD_BT60

View File

@@ -1,14 +1,17 @@
/* /*
* Copyright (c) 2022 The ZMK Contributors * Copyright (c) 2021 Polarity Works
* *
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
*/ */
/dts-v1/; /dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi> #include <nordic/nrf52840_qiaa.dtsi>
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi> #include <dt-bindings/zmk/matrix_transform.h>
/ { / {
model = "BT60";
compatible = "polarityworks,bt60";
chosen { chosen {
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
@@ -16,9 +19,35 @@
zmk,battery = &vbatt; zmk,battery = &vbatt;
}; };
sensors: sensors {
compatible = "zmk,keymap-sensors";
sensors = <&left_encoder>;
triggers-per-rotation = <20>;
};
left_encoder: encoder_left {
compatible = "alps,ec11";
a-gpios = <&gpio1 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
b-gpios = <&gpio1 3 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
steps = <80>;
status = "okay";
};
leds {
compatible = "gpio-leds";
blue_led: led_0 {
gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
};
};
vbatt: vbatt { vbatt: vbatt {
compatible = "zmk,battery-voltage-divider"; compatible = "zmk,battery-voltage-divider";
io-channels = <&adc 2>; io-channels = <&adc 2>;
output-ohms = <2000000>;
full-ohms = <(2000000 + 806000)>;
}; };
}; };
@@ -42,6 +71,7 @@ zephyr_udc0: &usbd {
status = "okay"; status = "okay";
}; };
&flash0 { &flash0 {
/* /*
* For more information, see: * For more information, see:

View File

@@ -4,7 +4,8 @@
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
*/ */
#include "bt60_1_0_0.dtsi" /dts-v1/;
#include "bt60.dtsi"
#include <layouts/common/60percent/all1u.dtsi> #include <layouts/common/60percent/all1u.dtsi>
#include <layouts/common/60percent/ansi.dtsi> #include <layouts/common/60percent/ansi.dtsi>
#include <layouts/common/60percent/hhkb.dtsi> #include <layouts/common/60percent/hhkb.dtsi>

View File

@@ -20,7 +20,7 @@
#elif defined(HHKB) #elif defined(HHKB)
zmk,physical-layout = &layout_60_hhkb; zmk,physical-layout = &layout_60_hhkb;
#else #else
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60.keymap" #error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60_v1.keymap"
#endif #endif
}; };
@@ -147,7 +147,7 @@
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>; sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
}; };
#else #else
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60.keymap" #error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60_v2.keymap"
#endif #endif
}; };
}; };

View File

@@ -1,5 +1,5 @@
identifier: puchi_ble identifier: bt60_v1
name: puchi_ble name: BT60 V1 Soldered
type: mcu type: mcu
arch: arm arch: arm
toolchain: toolchain:

View File

@@ -0,0 +1,13 @@
file_format: "1"
id: bt60_v1
name: BT60 V1 Soldered
type: board
arch: arm
features:
- keys
- encoder
- studio
outputs:
- usb
- ble
url: https://polarityworks.com

View File

@@ -1,5 +1,9 @@
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_BT60_V1=y
# Enable MPU # Enable MPU
CONFIG_ARM_MPU=y CONFIG_ARM_MPU=y

View File

@@ -4,8 +4,8 @@
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
*/ */
#include "bt60_nrf52840_zmk.dts" /dts-v1/;
#include "bt60_1_0_0.dtsi" #include "bt60.dtsi"
#include <layouts/common/60percent/ansi.dtsi> #include <layouts/common/60percent/ansi.dtsi>
/ { / {

View File

@@ -0,0 +1,15 @@
identifier: bt60_v1_hs
name: BT60 V1 Hotswap
type: mcu
arch: arm
toolchain:
- zephyr
- gnuarmemb
- xtools
supported:
- adc
- usb_device
- ble
- ieee802154
- pwm
- watchdog

View File

@@ -1,5 +1,5 @@
file_format: "1" file_format: "1"
id: bt60_hs//zmk id: bt60_v1_hs
name: BT60 V1 Hotswap name: BT60 V1 Hotswap
type: board type: board
arch: arm arch: arm

View File

@@ -1,5 +1,9 @@
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_BT60_V1_HS=y
# Enable MPU # Enable MPU
CONFIG_ARM_MPU=y CONFIG_ARM_MPU=y

View File

@@ -0,0 +1,8 @@
# Copyright (c) 2022 The ZMK Contributors
# SPDX-License-Identifier: MIT
config BOARD_ENABLE_DCDC
bool "Enable DCDC mode"
select SOC_DCDC_NRF52X
default y
depends on BOARD_BT60_V2 || BOARD_BT65_V1 || BOARD_BT75_V1

View File

@@ -0,0 +1,16 @@
# CKP boards configuration
# Copyright (c) 2022 The ZMK Contributors
# SPDX-License-Identifier: MIT
config BOARD_BT60_V2
bool "bt60_v2"
depends on SOC_NRF52840_QIAA
config BOARD_BT65_V1
bool "bt65_v1"
depends on SOC_NRF52840_QIAA
config BOARD_BT75_V1
bool "bt75_v1"
depends on SOC_NRF52840_QIAA

View File

@@ -0,0 +1,28 @@
# Copyright (c) 2022 The ZMK Contributors
# SPDX-License-Identifier: MIT
config BOARD
default "bt60_v2" if BOARD_BT60_V2
default "bt65_v1" if BOARD_BT65_V1
default "bt75_v1" if BOARD_BT75_V1
config ZMK_KEYBOARD_NAME
default "BT60 V2" if BOARD_BT60_V2
default "BT65" if BOARD_BT65_V1
default "BT75" if BOARD_BT75_V1
if BOARD_BT60_V2 || BOARD_BT65_V1 || BOARD_BT75_V1
if USB
config USB_NRFX
default y
config USB_DEVICE_STACK
default y
endif # USB
config BT_CTLR
default BT
endif # BOARD_BT60_V2 || BOARD_BT65_V1 || BOARD_BT75_V1

View File

@@ -4,7 +4,8 @@
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
*/ */
#include "../common/ckp.dtsi" /dts-v1/;
#include "ckp.dtsi"
#include <layouts/common/60percent/all1u.dtsi> #include <layouts/common/60percent/all1u.dtsi>
#include <layouts/common/60percent/ansi.dtsi> #include <layouts/common/60percent/ansi.dtsi>
#include <layouts/common/60percent/hhkb.dtsi> #include <layouts/common/60percent/hhkb.dtsi>
@@ -13,7 +14,7 @@
/ { / {
model = "BT60_V2"; model = "BT60_V2";
compatible = "polarityworks,bt60"; compatible = "polarityworks,bt60_v2";
chosen { chosen {
zmk,physical-layout = &layout_60_ansi; zmk,physical-layout = &layout_60_ansi;

View File

@@ -20,7 +20,7 @@
#elif defined(HHKB) #elif defined(HHKB)
zmk,physical-layout = &layout_60_hhkb; zmk,physical-layout = &layout_60_hhkb;
#else #else
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60.keymap" #error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60_v2.keymap"
#endif #endif
}; };
@@ -170,7 +170,7 @@
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>; sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
}; };
#else #else
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60.keymap" #error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60_v2.keymap"
#endif #endif
}; };

View File

@@ -1,4 +1,4 @@
identifier: bt60 identifier: bt60_v2
name: BT60 V2 name: BT60 V2
type: mcu type: mcu
arch: arm arch: arm

View File

@@ -1,5 +1,5 @@
file_format: "1" file_format: "1"
id: bt60//zmk id: bt60_v2
name: BT60 V2 name: BT60 V2
type: board type: board
arch: arm arch: arm
@@ -12,7 +12,4 @@ features:
outputs: outputs:
- usb - usb
- ble - ble
revisions:
- 2.0.0
- 1.0.0
url: https://polarityworks.com/btckp url: https://polarityworks.com/btckp

View File

@@ -1,5 +1,9 @@
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_BT60_V2=y
# Enable MPU # Enable MPU
CONFIG_ARM_MPU=y CONFIG_ARM_MPU=y
@@ -28,6 +32,8 @@ CONFIG_ZMK_RGB_UNDERGLOW=y
CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y
CONFIG_ZMK_RGB_UNDERGLOW_ON_START=y CONFIG_ZMK_RGB_UNDERGLOW_ON_START=y
CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=262 CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=262
CONFIG_WS2812_STRIP=y
CONFIG_SPI=y
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y CONFIG_BT_CTLR_TX_PWR_PLUS_8=y

View File

@@ -5,11 +5,7 @@
*/ */
/dts-v1/; /dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi> #include "ckp.dtsi"
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
#include "../common/ckp-base.dtsi"
#include "../common/ckp.dtsi"
#include <layouts/common/65percent/all1u.dtsi> #include <layouts/common/65percent/all1u.dtsi>
#include <layouts/common/65percent/ansi.dtsi> #include <layouts/common/65percent/ansi.dtsi>
#include <layouts/common/65percent/iso.dtsi> #include <layouts/common/65percent/iso.dtsi>
@@ -18,7 +14,7 @@
/ { / {
model = "BT65_V1"; model = "BT65_V1";
compatible = "polarityworks,bt65"; compatible = "polarityworks,bt65_v1";
chosen { chosen {
zmk,physical-layout = &layout_65_ansi; zmk,physical-layout = &layout_65_ansi;

Some files were not shown because too many files have changed in this diff Show More