mirror of
https://github.com/zmkfirmware/zmk.git
synced 2026-03-19 20:45:18 -05:00
Compare commits
36 Commits
dependabot
...
release-pl
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
485dea4497 | ||
|
|
9278505975 | ||
|
|
ff9d326939 | ||
|
|
df2e979d7e | ||
|
|
8feeb52eaf | ||
|
|
714bbe30b0 | ||
|
|
a23aa009d7 | ||
|
|
2a9ac3ba7f | ||
|
|
27afcb11ef | ||
|
|
61f9ae4de2 | ||
|
|
f6c629e895 | ||
|
|
536375e45e | ||
|
|
e108e319c0 | ||
|
|
9490391e1e | ||
|
|
ed0fa157b1 | ||
|
|
39a14154a9 | ||
|
|
5cfc67a334 | ||
|
|
75c9d5f6fd | ||
|
|
e742da8e47 | ||
|
|
ada1542940 | ||
|
|
6690d535e6 | ||
|
|
6e7e0de2b6 | ||
|
|
ac7f75b859 | ||
|
|
354cff9c36 | ||
|
|
ab46f48dde | ||
|
|
24487bd974 | ||
|
|
88db5f34fe | ||
|
|
9fc10ddc22 | ||
|
|
19582174f3 | ||
|
|
70ab6b243a | ||
|
|
f85ec7e7a2 | ||
|
|
43b09e0fae | ||
|
|
abce9deab7 | ||
|
|
36dbf46764 | ||
|
|
cb786cd7d6 | ||
|
|
76bf2e5774 |
4
.github/workflows/ble-test.yml
vendored
4
.github/workflows/ble-test.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Find test directories
|
||||
id: test-dirs
|
||||
run: |
|
||||
@@ -38,7 +38,7 @@ jobs:
|
||||
image: docker.io/zmkfirmware/zmk-build-arm:4.1
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Cache west modules
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
|
||||
43
.github/workflows/build-user-config.yml
vendored
43
.github/workflows/build-user-config.yml
vendored
@@ -30,17 +30,28 @@ jobs:
|
||||
name: Fetch Build Keyboards
|
||||
outputs:
|
||||
build_matrix: ${{ env.build_matrix }}
|
||||
has_valid_build_matrix: ${{ steps.fetch.outputs.has_valid_build_matrix }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Fetch Build Matrix
|
||||
id: fetch
|
||||
run: |
|
||||
echo "build_matrix=$(yq -oj -I0 '${{ inputs.build_matrix_path }}')" >> $GITHUB_ENV
|
||||
yq -oj "${{ inputs.build_matrix_path }}"
|
||||
matrix_content=$(yq -oj -I0 '${{ 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:
|
||||
runs-on: ubuntu-latest
|
||||
if: needs.matrix.outputs.has_valid_build_matrix == 'true'
|
||||
container:
|
||||
image: zmkfirmware/zmk-build-arm:stable
|
||||
needs: matrix
|
||||
@@ -56,7 +67,7 @@ jobs:
|
||||
curl -fsSL https://deb.nodesource.com/setup_22.x | bash && apt install -y nodejs
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Create build directory
|
||||
run: |
|
||||
@@ -147,6 +158,29 @@ jobs:
|
||||
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
|
||||
run: |
|
||||
if [ -f "${{ env.build_dir }}/zephyr/.config" ]
|
||||
@@ -190,6 +224,7 @@ jobs:
|
||||
|
||||
merge:
|
||||
runs-on: ubuntu-latest
|
||||
if: needs.matrix.outputs.has_valid_build_matrix == 'true'
|
||||
needs: build
|
||||
name: Merge Output Artifacts
|
||||
steps:
|
||||
|
||||
13
.github/workflows/build.yml
vendored
13
.github/workflows/build.yml
vendored
@@ -30,7 +30,7 @@ jobs:
|
||||
include: ${{ fromJSON(needs.compile-matrix.outputs.include-list) }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Cache west modules
|
||||
@@ -61,7 +61,7 @@ jobs:
|
||||
with:
|
||||
node-version: "14.x"
|
||||
- name: Install @actions/artifact
|
||||
run: npm install @actions/artifact
|
||||
run: npm install @actions/artifact@5.0.3
|
||||
- name: Build
|
||||
uses: actions/github-script@v7
|
||||
id: boards-list
|
||||
@@ -187,7 +187,7 @@ jobs:
|
||||
core-include: ${{ steps.core-list.outputs.result }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Use Node.js
|
||||
@@ -218,7 +218,7 @@ jobs:
|
||||
boards-include: ${{ steps.boards-list.outputs.result }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
@@ -277,6 +277,7 @@ jobs:
|
||||
);
|
||||
} else {
|
||||
console.error("Board without keys or interconnect");
|
||||
return [];
|
||||
}
|
||||
break;
|
||||
case "shield":
|
||||
@@ -345,7 +346,7 @@ jobs:
|
||||
organized-metadata: ${{ steps.organize-metadata.outputs.result }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Use Node.js
|
||||
@@ -427,7 +428,7 @@ jobs:
|
||||
core-changes: ${{ steps.core-changes.outputs.result }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
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
|
||||
|
||||
4
.github/workflows/doc-checks.yml
vendored
4
.github/workflows/doc-checks.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v5
|
||||
- uses: bahmutov/npm-install@v1
|
||||
with:
|
||||
working-directory: docs
|
||||
@@ -24,7 +24,7 @@ jobs:
|
||||
typecheck:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v5
|
||||
- uses: bahmutov/npm-install@v1
|
||||
with:
|
||||
working-directory: docs
|
||||
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
container:
|
||||
image: docker.io/zmkfirmware/zmk-dev-arm:4.1
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v5
|
||||
- name: Install dependencies
|
||||
run: pip install --break-system-packages -r app/scripts/requirements.txt
|
||||
- name: West init
|
||||
|
||||
2
.github/workflows/pre-commit.yml
vendored
2
.github/workflows/pre-commit.yml
vendored
@@ -8,7 +8,7 @@ jobs:
|
||||
pre-commit:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: 3.x
|
||||
|
||||
2
.github/workflows/release-please.yml
vendored
2
.github/workflows/release-please.yml
vendored
@@ -35,7 +35,7 @@ jobs:
|
||||
ZMK_RELEASE_PLEASE_TOKEN: ${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }}
|
||||
VERSION: v${{ needs.handle-commit.outputs.major }}.${{ needs.handle-commit.outputs.minor }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v5
|
||||
|
||||
- name: Create major.minor branch
|
||||
if: ${{ needs.handle-commit.outputs.patch == '0' }}
|
||||
|
||||
4
.github/workflows/test.yml
vendored
4
.github/workflows/test.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Find test directories
|
||||
id: test-dirs
|
||||
run: |
|
||||
@@ -40,7 +40,7 @@ jobs:
|
||||
image: docker.io/zmkfirmware/zmk-build-arm:4.1
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Cache west modules
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
|
||||
@@ -1 +1 @@
|
||||
{".":"0.3.0"}
|
||||
{".":"0.4.0"}
|
||||
|
||||
94
CHANGELOG.md
94
CHANGELOG.md
@@ -1,5 +1,99 @@
|
||||
# Changelog
|
||||
|
||||
## [0.4.0](https://github.com/zmkfirmware/zmk/compare/v0.3.0...v0.4.0) (2026-03-19)
|
||||
|
||||
|
||||
### ⚠ 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:** 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)
|
||||
|
||||
|
||||
|
||||
11
app/Kconfig
11
app/Kconfig
@@ -5,6 +5,17 @@ mainmenu "ZMK Firmware"
|
||||
|
||||
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"
|
||||
|
||||
config ZMK_KEYBOARD_NAME
|
||||
|
||||
@@ -3,7 +3,7 @@ VERSION_MAJOR = 0
|
||||
# x-release-please-end
|
||||
|
||||
# x-release-please-start-minor
|
||||
VERSION_MINOR = 3
|
||||
VERSION_MINOR = 4
|
||||
# x-release-please-end
|
||||
|
||||
# x-release-please-start-patch
|
||||
|
||||
9
app/boards/adafruit/kb2040/Kconfig.adafruit_kb2040
Normal file
9
app/boards/adafruit/kb2040/Kconfig.adafruit_kb2040
Normal file
@@ -0,0 +1,9 @@
|
||||
# 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
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: adafruit_kb2040
|
||||
id: adafruit_kb2040//zmk
|
||||
name: Adafruit KB2040
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <../boards/adafruit/kb2040/adafruit_kb2040.dts>
|
||||
#include <arm/raspberrypi/rp2040-boot-mode-retention.dtsi>
|
||||
|
||||
&pro_micro_serial { status = "disabled"; };
|
||||
23
app/boards/adafruit/kb2040/adafruit_kb2040_zmk_defconfig
Normal file
23
app/boards/adafruit/kb2040/adafruit_kb2040_zmk_defconfig
Normal file
@@ -0,0 +1,23 @@
|
||||
# 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
|
||||
5
app/boards/adafruit/kb2040/board.yml
Normal file
5
app/boards/adafruit/kb2040/board.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
board:
|
||||
extend: adafruit_kb2040
|
||||
variants:
|
||||
- name: zmk
|
||||
qualifier: rp2040
|
||||
@@ -0,0 +1,9 @@
|
||||
# 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
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: adafruit_qt_py_rp2040
|
||||
id: adafruit_qt_py_rp2040//zmk
|
||||
name: Adafruit QT Py RP2040
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
* 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"; };
|
||||
@@ -0,0 +1,23 @@
|
||||
# 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
|
||||
5
app/boards/adafruit/qt_py_rp2040/board.yml
Normal file
5
app/boards/adafruit/qt_py_rp2040/board.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
board:
|
||||
extend: adafruit_qt_py_rp2040
|
||||
variants:
|
||||
- name: zmk
|
||||
qualifier: rp2040
|
||||
@@ -1,9 +0,0 @@
|
||||
file_format: "1"
|
||||
id: boardsource_blok
|
||||
name: BoardSource blok
|
||||
type: board
|
||||
arch: arm
|
||||
outputs:
|
||||
- usb
|
||||
url: https://peg.software/docs/blok
|
||||
exposes: [pro_micro]
|
||||
9
app/boards/boardsource/blok/Kconfig.boardsource_blok
Normal file
9
app/boards/boardsource/blok/Kconfig.boardsource_blok
Normal file
@@ -0,0 +1,9 @@
|
||||
# Copyright (c) 2026 Pete Johanson
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config BOARD_BOARDSOURCE_BLOK
|
||||
select ZMK_BOARD_COMPAT if BOARD_BOARDSOURCE_BLOK_RP2040_ZMK
|
||||
imply RETAINED_MEM if BOARD_BOARDSOURCE_BLOK_RP2040_ZMK
|
||||
imply RETENTION if BOARD_BOARDSOURCE_BLOK_RP2040_ZMK
|
||||
imply RETENTION_BOOT_MODE if BOARD_BOARDSOURCE_BLOK_RP2040_ZMK
|
||||
|
||||
5
app/boards/boardsource/blok/board.yml
Normal file
5
app/boards/boardsource/blok/board.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
board:
|
||||
extend: boardsource_blok
|
||||
variants:
|
||||
- name: zmk
|
||||
qualifier: rp2040
|
||||
9
app/boards/boardsource/blok/boardsource_blok.zmk.yml
Normal file
9
app/boards/boardsource/blok/boardsource_blok.zmk.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
file_format: "1"
|
||||
id: boardsource_blok//zmk
|
||||
name: Boardsource Blok
|
||||
type: board
|
||||
arch: arm
|
||||
outputs:
|
||||
- usb
|
||||
url: https://boardsource.xyz/products/blok-rp2040-keyboard-controller
|
||||
exposes: [pro_micro]
|
||||
23
app/boards/boardsource/blok/boardsource_blok_zmk.dts
Normal file
23
app/boards/boardsource/blok/boardsource_blok_zmk.dts
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright (c) 2026 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <../boards/boardsource/blok/boardsource_blok.dts>
|
||||
#include <arm/raspberrypi/rp2040-boot-mode-retention.dtsi>
|
||||
|
||||
&pro_micro_serial { status = "disabled"; };
|
||||
|
||||
&code_partition {
|
||||
reg = <0x100 (DT_SIZE_M(16) - 0x100 - DT_SIZE_K(512))>;
|
||||
};
|
||||
|
||||
&flash0 {
|
||||
partitions {
|
||||
storage_partition: partition@f80000 {
|
||||
reg = <0xf80000 DT_SIZE_K(512)>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
30
app/boards/boardsource/blok/boardsource_blok_zmk_defconfig
Normal file
30
app/boards/boardsource/blok/boardsource_blok_zmk_defconfig
Normal file
@@ -0,0 +1,30 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=125000000
|
||||
|
||||
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
|
||||
|
||||
# Settings Support
|
||||
CONFIG_MPU_ALLOW_FLASH_WRITE=y
|
||||
CONFIG_NVS=y
|
||||
CONFIG_SETTINGS_NVS=y
|
||||
CONFIG_FLASH=y
|
||||
CONFIG_FLASH_PAGE_LAYOUT=y
|
||||
CONFIG_FLASH_MAP=y
|
||||
|
||||
# Bootloader Support
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
@@ -1,8 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
@@ -1,9 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2023 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <arm/raspberrypi/rp2040-boot-mode-retention.dtsi>
|
||||
|
||||
&pro_micro_serial { status = "disabled"; };
|
||||
@@ -1,8 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
@@ -1,6 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_UART_INTERRUPT_DRIVEN=n
|
||||
CONFIG_ZMK_USB=y
|
||||
CONFIG_ZMK_KSCAN_MATRIX_POLLING=y
|
||||
@@ -1,6 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_UART_INTERRUPT_DRIVEN=n
|
||||
CONFIG_ZMK_USB=y
|
||||
CONFIG_ZMK_KSCAN_MATRIX_POLLING=y
|
||||
@@ -1,6 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_UART_INTERRUPT_DRIVEN=n
|
||||
CONFIG_ZMK_USB=y
|
||||
CONFIG_ZMK_KSCAN_MATRIX_POLLING=y
|
||||
@@ -1,8 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
@@ -1,32 +0,0 @@
|
||||
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <dt-bindings/zmk/kscan_mock.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zephyr,console = &uart0;
|
||||
zmk,kscan = &kscan;
|
||||
};
|
||||
|
||||
kscan: native_posix_64_kscan_mock {
|
||||
compatible = "zmk,kscan-mock";
|
||||
|
||||
rows = <2>;
|
||||
columns = <2>;
|
||||
exit-after;
|
||||
};
|
||||
|
||||
uart0: uart {
|
||||
status = "okay";
|
||||
compatible = "zephyr,native-posix-uart";
|
||||
/* Dummy current-speed entry to comply with serial
|
||||
* DTS binding
|
||||
*/
|
||||
current-speed = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&sdl_dc {
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
};
|
||||
@@ -1,12 +0,0 @@
|
||||
# Copyright (c) 2025 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
CONFIG_ZMK_BLE=y
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
CONFIG_MPU_ALLOW_FLASH_WRITE=y
|
||||
CONFIG_NVS=y
|
||||
CONFIG_SETTINGS_NVS=y
|
||||
CONFIG_FLASH=y
|
||||
CONFIG_FLASH_PAGE_LAYOUT=y
|
||||
CONFIG_FLASH_MAP=y
|
||||
@@ -1,4 +0,0 @@
|
||||
CONFIG_ZMK_BLE=y
|
||||
CONFIG_LOG=y
|
||||
CONFIG_LOG_BACKEND_SHOW_COLOR=n
|
||||
CONFIG_ZMK_LOG_LEVEL_DBG=y
|
||||
@@ -1,6 +0,0 @@
|
||||
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
|
||||
@@ -1,7 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2023 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
&xiao_serial { status = "disabled"; };
|
||||
@@ -1,16 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_UART_INTERRUPT_DRIVEN=n
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
CONFIG_MPU_ALLOW_FLASH_WRITE=y
|
||||
CONFIG_NVS=y
|
||||
CONFIG_SETTINGS_NVS=y
|
||||
CONFIG_FLASH=y
|
||||
CONFIG_FLASH_PAGE_LAYOUT=y
|
||||
CONFIG_FLASH_MAP=y
|
||||
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
@@ -1,5 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_UART_INTERRUPT_DRIVEN=n
|
||||
CONFIG_ZMK_USB=y
|
||||
@@ -1,15 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
CONFIG_MPU_ALLOW_FLASH_WRITE=y
|
||||
CONFIG_NVS=y
|
||||
CONFIG_SETTINGS_NVS=y
|
||||
CONFIG_FLASH=y
|
||||
CONFIG_FLASH_PAGE_LAYOUT=y
|
||||
CONFIG_FLASH_MAP=y
|
||||
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
@@ -1,15 +0,0 @@
|
||||
CONFIG_CONSOLE=n
|
||||
CONFIG_SERIAL=n
|
||||
CONFIG_UART_CONSOLE=n
|
||||
CONFIG_ZMK_USB=y
|
||||
|
||||
CONFIG_MPU_ALLOW_FLASH_WRITE=y
|
||||
CONFIG_NVS=y
|
||||
CONFIG_SETTINGS_NVS=y
|
||||
CONFIG_FLASH=y
|
||||
CONFIG_FLASH_PAGE_LAYOUT=y
|
||||
CONFIG_FLASH_MAP=y
|
||||
|
||||
CONFIG_RETAINED_MEM=y
|
||||
CONFIG_RETENTION=y
|
||||
CONFIG_RETENTION_BOOT_MODE=y
|
||||
@@ -4,9 +4,10 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config BOARD_NRFMICRO
|
||||
select SOC_NRF52840_QIAA if BOARD_NRFMICRO_NRF52840
|
||||
select SOC_NRF52840_QIAA if BOARD_NRFMICRO_NRF52840_FLIPPED
|
||||
select SOC_NRF52833_QIAA if BOARD_NRFMICRO_NRF52833
|
||||
imply RETAINED_MEM
|
||||
imply RETENTION
|
||||
imply RETENTION_BOOT_MODE
|
||||
select SOC_NRF52840_QIAA if BOARD_NRFMICRO_NRF52840_ZMK
|
||||
select SOC_NRF52840_QIAA if BOARD_NRFMICRO_NRF52840_FLIPPED_ZMK
|
||||
select SOC_NRF52833_QIAA if BOARD_NRFMICRO_NRF52833_ZMK
|
||||
select ZMK_BOARD_COMPAT if BOARD_NRFMICRO_NRF52840_ZMK || BOARD_NRFMICRO_NRF52840_FLIPPED_ZMK || BOARD_NRFMICRO_NRF52833_ZMK
|
||||
imply RETAINED_MEM if BOARD_NRFMICRO_NRF52840_ZMK || BOARD_NRFMICRO_NRF52840_FLIPPED_ZMK || BOARD_NRFMICRO_NRF52833_ZMK
|
||||
imply RETENTION if BOARD_NRFMICRO_NRF52840_ZMK || BOARD_NRFMICRO_NRF52840_FLIPPED_ZMK || BOARD_NRFMICRO_NRF52833_ZMK
|
||||
imply RETENTION_BOOT_MODE if BOARD_NRFMICRO_NRF52840_ZMK || BOARD_NRFMICRO_NRF52840_FLIPPED_ZMK || BOARD_NRFMICRO_NRF52833_ZMK
|
||||
|
||||
@@ -1,14 +1,9 @@
|
||||
board:
|
||||
name: nrfmicro
|
||||
vendor: joric
|
||||
socs:
|
||||
- name: nrf52840
|
||||
variants:
|
||||
- name: flipped
|
||||
- name: nrf52833
|
||||
revision:
|
||||
format: major.minor.patch
|
||||
default: 1.3.0
|
||||
revisions:
|
||||
- name: 1.3.0
|
||||
- name: 1.1.0
|
||||
extend: nrfmicro
|
||||
variants:
|
||||
- name: zmk
|
||||
qualifier: nrf52840
|
||||
- name: flipped_zmk
|
||||
qualifier: nrf52840
|
||||
- name: zmk
|
||||
qualifier: nrf52833
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: nrfmicro/nrf52833
|
||||
id: nrfmicro/nrf52833/zmk
|
||||
name: nRFMicro (nRF52833)
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
29
app/boards/joric/nrfmicro/nrfmicro_nrf52833_zmk.dts
Normal file
29
app/boards/joric/nrfmicro/nrfmicro_nrf52833_zmk.dts
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright (c) 2026 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <../boards/joric/nrfmicro/nrfmicro_nrf52833.dts>
|
||||
#include <common/nordic/nrf52833_uf2_boot_mode.dtsi>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
|
||||
// Node name must match original "EXT_POWER" label to preserve user settings.
|
||||
EXT_POWER {
|
||||
compatible = "zmk,ext-power-generic";
|
||||
control-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
|
||||
init-delay-ms = <50>;
|
||||
};
|
||||
|
||||
vbatt: vbatt {
|
||||
compatible = "zmk,battery-voltage-divider";
|
||||
io-channels = <&adc 2>;
|
||||
output-ohms = <2000000>;
|
||||
full-ohms = <(2000000 + 820000)>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: nrfmicro/nrf52840
|
||||
id: nrfmicro/nrf52840/zmk
|
||||
name: nRFMicro (nRF52840) 1.1/1.2/1.3
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: nrfmicro/nrf52840/flipped
|
||||
id: nrfmicro/nrf52840/flipped_zmk
|
||||
name: nRFMicro nRF52840 (flipped)
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
17
app/boards/joric/nrfmicro/nrfmicro_nrf52840_flipped_zmk.dts
Normal file
17
app/boards/joric/nrfmicro/nrfmicro_nrf52840_flipped_zmk.dts
Normal file
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
* Copyright (c) 2026 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <../boards/joric/nrfmicro/nrfmicro_nrf52840_flipped.dts>
|
||||
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
|
||||
|
||||
/ {
|
||||
// Node name must match original "EXT_POWER" label to preserve user settings.
|
||||
EXT_POWER {
|
||||
compatible = "zmk,ext-power-generic";
|
||||
control-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
|
||||
init-delay-ms = <50>;
|
||||
};
|
||||
};
|
||||
29
app/boards/joric/nrfmicro/nrfmicro_nrf52840_zmk.dts
Normal file
29
app/boards/joric/nrfmicro/nrfmicro_nrf52840_zmk.dts
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright (c) 2026 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <../boards/joric/nrfmicro/nrfmicro_nrf52840.dts>
|
||||
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
|
||||
|
||||
/ {
|
||||
|
||||
chosen {
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
|
||||
// Node name must match original "EXT_POWER" label to preserve user settings.
|
||||
EXT_POWER {
|
||||
compatible = "zmk,ext-power-generic";
|
||||
control-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
|
||||
init-delay-ms = <50>;
|
||||
};
|
||||
|
||||
vbatt: vbatt {
|
||||
compatible = "zmk,battery-voltage-divider";
|
||||
io-channels = <&adc 2>;
|
||||
output-ohms = <2000000>;
|
||||
full-ohms = <(2000000 + 820000)>;
|
||||
};
|
||||
};
|
||||
@@ -1,8 +1,9 @@
|
||||
# Copyright (c) 2020 Pete Johanson, Derek Schmell
|
||||
# Copyright (c) 2026 Pete Johanson, Derek Schmell
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_BLUEMICRO840
|
||||
select SOC_NRF52840_QIAA
|
||||
imply RETAINED_MEM
|
||||
imply RETENTION
|
||||
imply RETENTION_BOOT_MODE
|
||||
select ZMK_BOARD_COMPAT if BOARD_BLUEMICRO840_NRF52840_ZMK
|
||||
imply RETAINED_MEM if BOARD_BLUEMICRO840_NRF52840_ZMK
|
||||
imply RETENTION if BOARD_BLUEMICRO840_NRF52840_ZMK
|
||||
imply RETENTION_BOOT_MODE if BOARD_BLUEMICRO840_NRF52840_ZMK
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: bluemicro840
|
||||
id: bluemicro840//zmk
|
||||
name: BlueMicro840 v1
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright (c) 2026 Pete Johanson, Derek Schmell
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <../boards/jpconstantineau/bluemicro840/bluemicro840.dts>
|
||||
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
|
||||
// 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)>;
|
||||
};
|
||||
|
||||
};
|
||||
@@ -1,5 +1,5 @@
|
||||
board:
|
||||
name: bluemicro840
|
||||
vendor: jpconstantineau
|
||||
socs:
|
||||
- name: nrf52840
|
||||
extend: bluemicro840
|
||||
variants:
|
||||
- name: zmk
|
||||
qualifier: nrf52840
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
config BOARD_TOFU65
|
||||
select SOC_RP2040
|
||||
select ZMK_BOARD_COMPAT
|
||||
imply RETAINED_MEM
|
||||
imply RETENTION
|
||||
imply RETENTION_BOOT_MODE
|
||||
|
||||
@@ -3,3 +3,5 @@ board:
|
||||
vendor: kbdfans
|
||||
socs:
|
||||
- name: rp2040
|
||||
variants:
|
||||
- name: zmk
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: tofu65
|
||||
id: tofu65//zmk
|
||||
name: KBDfans Tofu65 2.0
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -3,3 +3,4 @@
|
||||
|
||||
config BOARD_BDN9
|
||||
select SOC_STM32F072XB
|
||||
select ZMK_BOARD_COMPAT
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: bdn9
|
||||
id: bdn9//zmk
|
||||
name: BDN9 (Rev2)
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
@@ -3,6 +3,8 @@ board:
|
||||
vendor: keebio
|
||||
socs:
|
||||
- name: stm32f072xb
|
||||
variants:
|
||||
- name: zmk
|
||||
revision:
|
||||
format: major.minor.patch
|
||||
default: 2.0.0
|
||||
|
||||
@@ -3,9 +3,6 @@
|
||||
|
||||
if BOARD_PUCHI_BLE
|
||||
|
||||
config BOARD
|
||||
default "puchi_ble"
|
||||
|
||||
if USB_DEVICE_STACK
|
||||
|
||||
config USB_NRFX
|
||||
@@ -13,7 +10,4 @@ config USB_NRFX
|
||||
|
||||
endif # USB_DEVICE_STACK
|
||||
|
||||
config BT_CTLR
|
||||
default BT
|
||||
|
||||
endif # BOARD_PUCHI_BLE
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
config BOARD_PUCHI_BLE
|
||||
select SOC_NRF52840_QIAA
|
||||
imply RETAINED_MEM
|
||||
imply RETENTION
|
||||
imply RETENTION_BOOT_MODE
|
||||
select ZMK_BOARD_COMPAT if BOARD_PUCHI_BLE_NRF52840_ZMK
|
||||
imply RETAINED_MEM if BOARD_PUCHI_BLE_NRF52840_ZMK
|
||||
imply RETENTION if BOARD_PUCHI_BLE_NRF52840_ZMK
|
||||
imply RETENTION_BOOT_MODE if BOARD_PUCHI_BLE_NRF52840_ZMK
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
board:
|
||||
name: puchi_ble
|
||||
vendor: keycapsss
|
||||
socs:
|
||||
- name: nrf52840
|
||||
extend: puchi_ble
|
||||
variants:
|
||||
- name: zmk
|
||||
qualifier: nrf52840
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
file_format: "1"
|
||||
id: puchi_ble
|
||||
id: puchi_ble//zmk
|
||||
name: Puchi-BLE V1
|
||||
type: board
|
||||
arch: arm
|
||||
|
||||
29
app/boards/keycapsss/puchi_ble/puchi_ble_nrf52840_zmk.dts
Normal file
29
app/boards/keycapsss/puchi_ble/puchi_ble_nrf52840_zmk.dts
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright (c) 2026 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <../boards/keycapsss/puchi_ble/puchi_ble.dts>
|
||||
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
|
||||
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
|
||||
// Node name must match original "EXT_POWER" label to preserve user settings.
|
||||
EXT_POWER {
|
||||
compatible = "zmk,ext-power-generic";
|
||||
control-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
vbatt: vbatt {
|
||||
compatible = "zmk,battery-voltage-divider";
|
||||
io-channels = <&adc 2>;
|
||||
output-ohms = <2000000>;
|
||||
full-ohms = <(2000000 + 820000)>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
config BOARD_ADV360PRO_LEFT
|
||||
select SOC_NRF52840_QIAA
|
||||
select ZMK_BOARD_COMPAT
|
||||
imply RETAINED_MEM
|
||||
imply RETENTION
|
||||
imply RETENTION_BOOT_MODE
|
||||
imply RETENTION_BOOT_MODE
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
config BOARD_ADV360PRO_RIGHT
|
||||
select SOC_NRF52840_QIAA
|
||||
select ZMK_BOARD_COMPAT
|
||||
imply RETAINED_MEM
|
||||
imply RETENTION
|
||||
imply RETENTION_BOOT_MODE
|
||||
imply RETENTION_BOOT_MODE
|
||||
|
||||
@@ -13,5 +13,5 @@ outputs:
|
||||
- usb
|
||||
- ble
|
||||
siblings:
|
||||
- adv360pro_left
|
||||
- adv360pro_right
|
||||
- adv360pro_left//zmk
|
||||
- adv360pro_right//zmk
|
||||
|
||||
@@ -3,7 +3,11 @@ boards:
|
||||
vendor: kinesis
|
||||
socs:
|
||||
- name: nrf52840
|
||||
variants:
|
||||
- name: zmk
|
||||
- name: adv360pro_right
|
||||
vendor: kinesis
|
||||
socs:
|
||||
- name: nrf52840
|
||||
variants:
|
||||
- name: zmk
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
config BOARD_CORNEISH_ZEN_LEFT
|
||||
select SOC_NRF52840_QIAA
|
||||
select ZMK_BOARD_COMPAT
|
||||
imply RETAINED_MEM
|
||||
imply RETENTION
|
||||
imply RETENTION_BOOT_MODE
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
config BOARD_CORNEISH_ZEN_RIGHT
|
||||
select SOC_NRF52840_QIAA
|
||||
select ZMK_BOARD_COMPAT
|
||||
imply RETAINED_MEM
|
||||
imply RETENTION
|
||||
imply RETENTION_BOOT_MODE
|
||||
|
||||
@@ -3,6 +3,8 @@ boards:
|
||||
vendor: lowprokb
|
||||
socs:
|
||||
- name: nrf52840
|
||||
variants:
|
||||
- name: zmk
|
||||
revision:
|
||||
format: major.minor.patch
|
||||
default: 2.0.0
|
||||
@@ -14,6 +16,8 @@ boards:
|
||||
vendor: lowprokb
|
||||
socs:
|
||||
- name: nrf52840
|
||||
variants:
|
||||
- name: zmk
|
||||
revision:
|
||||
format: major.minor.patch
|
||||
default: 2.0.0
|
||||
|
||||
@@ -15,5 +15,5 @@ revisions:
|
||||
- 2.0.0
|
||||
- 1.0.0
|
||||
siblings:
|
||||
- corneish_zen_left
|
||||
- corneish_zen_right
|
||||
- corneish_zen_left//zmk
|
||||
- corneish_zen_right//zmk
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user