mirror of
https://github.com/zmkfirmware/zmk.git
synced 2026-03-19 20:45:18 -05:00
Compare commits
149 Commits
v0.1
...
dependabot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d7dddad51a | ||
|
|
4ec69cb7e6 | ||
|
|
61de01abb0 | ||
|
|
c44343509a | ||
|
|
540bf2c32b | ||
|
|
df3db57c4c | ||
|
|
197d104fc9 | ||
|
|
522971f41d | ||
|
|
d28f73bcfa | ||
|
|
d5ba120d79 | ||
|
|
8d06a9b713 | ||
|
|
9a8fdd66ea | ||
|
|
0b5a103c18 | ||
|
|
f09e551929 | ||
|
|
ee69b9e3c7 | ||
|
|
5144de677d | ||
|
|
5225952f96 | ||
|
|
9fcce45cb5 | ||
|
|
62007e500b | ||
|
|
ccf20a1f5c | ||
|
|
c7fae18ae1 | ||
|
|
61da930ed5 | ||
|
|
3609ac6fc8 | ||
|
|
45700887ba | ||
|
|
a8a392807e | ||
|
|
f3233c1b60 | ||
|
|
919bce7962 | ||
|
|
cc19ff7c5b | ||
|
|
90363719a2 | ||
|
|
e57bf5af37 | ||
|
|
9aaf87c6d2 | ||
|
|
edf5c0814f | ||
|
|
6c266b7123 | ||
|
|
c25e927a2f | ||
|
|
c86f0d6ff4 | ||
|
|
af967667b0 | ||
|
|
2ae5185419 | ||
|
|
1530ae36c2 | ||
|
|
1bac680c4f | ||
|
|
d09087f4dc | ||
|
|
6d7bbc8670 | ||
|
|
8059e671b2 | ||
|
|
61325ee82c | ||
|
|
342d838913 | ||
|
|
7292df02d4 | ||
|
|
fe91cc6625 | ||
|
|
cef7af4408 | ||
|
|
9e905d6593 | ||
|
|
e93cd31a58 | ||
|
|
6b44d33db2 | ||
|
|
462d48b78e | ||
|
|
eb99b4ede0 | ||
|
|
239baa4875 | ||
|
|
9da5d3ba82 | ||
|
|
f568b25e56 | ||
|
|
cb00077273 | ||
|
|
461f5c832f | ||
|
|
879cff7595 | ||
|
|
ad6a181d7e | ||
|
|
f1b944b1ef | ||
|
|
4235c8b491 | ||
|
|
e3030bfcc8 | ||
|
|
00ff486931 | ||
|
|
c4ee8ab86b | ||
|
|
d9576c5534 | ||
|
|
c6738ce2e5 | ||
|
|
2a7ab8ed0a | ||
|
|
2c0e7daced | ||
|
|
84772ebf14 | ||
|
|
7823a43f62 | ||
|
|
90bca78300 | ||
|
|
a34839f001 | ||
|
|
6f85f48b19 | ||
|
|
9aadc3e5ab | ||
|
|
1c76bcb0a1 | ||
|
|
d733fbafa5 | ||
|
|
49f86f7ed0 | ||
|
|
5bb39ec3ea | ||
|
|
147c340c6e | ||
|
|
5ba7e260f4 | ||
|
|
bffbccc748 | ||
|
|
b366df8b17 | ||
|
|
4da89bd997 | ||
|
|
5d9920406c | ||
|
|
f5a838b4bd | ||
|
|
eb170c930f | ||
|
|
241ff39556 | ||
|
|
f20e6ea759 | ||
|
|
fadafc7759 | ||
|
|
1e3e62c13d | ||
|
|
21f54e7238 | ||
|
|
7186528f77 | ||
|
|
9406d39d14 | ||
|
|
82216be635 | ||
|
|
ea267b0f35 | ||
|
|
2fe55c4c41 | ||
|
|
d2eb6de7ad | ||
|
|
209085da73 | ||
|
|
18d0d2f476 | ||
|
|
8575fc8a9d | ||
|
|
9d234cbb10 | ||
|
|
e8ec9b65f8 | ||
|
|
d0d313409b | ||
|
|
5926269ea5 | ||
|
|
eeb8a00778 | ||
|
|
aa3e5dd70f | ||
|
|
627e6dbec9 | ||
|
|
424e53210e | ||
|
|
4b4a8a35f3 | ||
|
|
0f7c11248a | ||
|
|
8e065d55b9 | ||
|
|
425256bc0d | ||
|
|
72b00b3f58 | ||
|
|
e4885d5d4c | ||
|
|
4f72e7cb25 | ||
|
|
4882a62c40 | ||
|
|
40e9e5c5fa | ||
|
|
40ea92d201 | ||
|
|
db2fc2bffd | ||
|
|
e4f1454e0b | ||
|
|
c367d8f636 | ||
|
|
6941abc2af | ||
|
|
700e9b264f | ||
|
|
8dddb1d9d7 | ||
|
|
022603ec16 | ||
|
|
b93bf6d3fd | ||
|
|
d0ee30bfaa | ||
|
|
3377ed02a8 | ||
|
|
36508c27fd | ||
|
|
e6343f44ce | ||
|
|
bc6bb90414 | ||
|
|
05abd677c5 | ||
|
|
f0a77b888a | ||
|
|
85aba16eec | ||
|
|
3f6841c95f | ||
|
|
2f172f63c2 | ||
|
|
bb486619a1 | ||
|
|
cb867f92db | ||
|
|
d0016b34f8 | ||
|
|
ec6b770947 | ||
|
|
4ef231f4bb | ||
|
|
7013158a67 | ||
|
|
a8f5ab67b5 | ||
|
|
84baf929c9 | ||
|
|
6b40bfda53 | ||
|
|
7e8c542c94 | ||
|
|
0820991901 | ||
|
|
b26058b6c7 | ||
|
|
40925d48e6 |
1
.github/pull_request_template.md
vendored
1
.github/pull_request_template.md
vendored
@@ -6,3 +6,4 @@
|
||||
- [ ] Additional tests are included, if changing behaviors/core code that is testable.
|
||||
- [ ] Proper Copyright + License headers added to applicable files (Generally, we stick to "The ZMK Contributors" for copyrights to help avoid churn when files get edited)
|
||||
- [ ] [Pre-commit](https://zmk.dev/docs/development/local-toolchain/pre-commit) used to check formatting of files, commit messages, etc.
|
||||
- [ ] Includes any necessary [documentation changes](https://zmk.dev/docs/development/contributing/documentation).
|
||||
|
||||
2
.github/workflows/ble-test.yml
vendored
2
.github/workflows/ble-test.yml
vendored
@@ -61,7 +61,7 @@ jobs:
|
||||
- name: Enable babblesim group filter
|
||||
run: west config manifest.group-filter -- +babblesim
|
||||
- name: Update modules (west update)
|
||||
run: west update
|
||||
run: west update --fetch-opt=--filter=tree:0
|
||||
- name: Export Zephyr CMake package (west zephyr-export)
|
||||
run: west zephyr-export
|
||||
- name: Build BabbleSim components
|
||||
|
||||
9
.github/workflows/build-user-config.yml
vendored
9
.github/workflows/build-user-config.yml
vendored
@@ -34,13 +34,10 @@ jobs:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install yaml2json
|
||||
run: python3 -m pip install remarshal
|
||||
|
||||
- name: Fetch Build Matrix
|
||||
run: |
|
||||
echo "build_matrix=$(yaml2json '${{ inputs.build_matrix_path }}' | jq -c .)" >> $GITHUB_ENV
|
||||
yaml2json "${{ inputs.build_matrix_path }}" | jq
|
||||
echo "build_matrix=$(yq -oj -I0 '${{ inputs.build_matrix_path }}')" >> $GITHUB_ENV
|
||||
yq -oj "${{ inputs.build_matrix_path }}"
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -117,7 +114,7 @@ jobs:
|
||||
|
||||
- name: West Update
|
||||
working-directory: ${{ env.base_dir }}
|
||||
run: west update
|
||||
run: west update --fetch-opt=--filter=tree:0
|
||||
|
||||
- name: West Zephyr export
|
||||
working-directory: ${{ env.base_dir }}
|
||||
|
||||
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@@ -53,7 +53,7 @@ jobs:
|
||||
- name: Initialize workspace (west init)
|
||||
run: west init -l app
|
||||
- name: Update modules (west update)
|
||||
run: west update
|
||||
run: west update --fetch-opt=--filter=tree:0
|
||||
- name: Export Zephyr CMake package (west zephyr-export)
|
||||
run: west zephyr-export
|
||||
- name: Use Node.js
|
||||
@@ -430,7 +430,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
- uses: tj-actions/changed-files@v45
|
||||
- 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
|
||||
id: changed-files
|
||||
with:
|
||||
json: true
|
||||
|
||||
66
.github/workflows/release-please.yml
vendored
66
.github/workflows/release-please.yml
vendored
@@ -11,28 +11,70 @@ permissions:
|
||||
name: release-please
|
||||
|
||||
jobs:
|
||||
release-please:
|
||||
handle-commit:
|
||||
name: Handle new commit
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
release_created: ${{ steps.release.outputs.release_created }}
|
||||
major: ${{ steps.release.outputs.major }}
|
||||
minor: ${{ steps.release.outputs.minor }}
|
||||
patch: ${{ steps.release.outputs.patch }}
|
||||
steps:
|
||||
- uses: googleapis/release-please-action@v4
|
||||
id: release
|
||||
with:
|
||||
token: ${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }}
|
||||
target-branch: ${{ github.ref_name }}
|
||||
|
||||
release-new-version:
|
||||
name: Release new version
|
||||
needs: handle-commit
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ needs.handle-commit.outputs.release_created }}
|
||||
env:
|
||||
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
|
||||
if: ${{ steps.release.outputs.release_created }}
|
||||
- name: create major, minor branch
|
||||
if: ${{ steps.release.outputs.release_created && steps.release.outputs.patch == '0' }}
|
||||
|
||||
- name: Create major.minor branch
|
||||
if: ${{ needs.handle-commit.outputs.patch == '0' }}
|
||||
run: |
|
||||
git remote add gh-token-branch "https://x-access-token:${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }}@github.com/${{ github.repository }}.git"
|
||||
git checkout -b v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}-branch
|
||||
git push gh-token-branch v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}-branch
|
||||
git remote add gh-token-branch "https://x-access-token:$ZMK_RELEASE_PLEASE_TOKEN@github.com/${{ github.repository }}.git"
|
||||
git checkout -b $VERSION-branch
|
||||
git push gh-token-branch $VERSION-branch
|
||||
|
||||
- name: tag major and minor versions
|
||||
if: ${{ steps.release.outputs.release_created }}
|
||||
run: |
|
||||
git config user.name github-actions[bot]
|
||||
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
||||
git remote add gh-token "https://x-access-token:${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }}@github.com/${{ github.repository }}.git"
|
||||
git tag -d v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true
|
||||
git tag -a v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} -m "Release v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}"
|
||||
git push --force gh-token v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}
|
||||
git remote add gh-token "https://x-access-token:$ZMK_RELEASE_PLEASE_TOKEN@github.com/${{ github.repository }}.git"
|
||||
git tag -d $VERSION || true
|
||||
git tag -a $VERSION -m "Release $VERSION"
|
||||
git push --force gh-token $VERSION
|
||||
|
||||
bump-user-config-template-version:
|
||||
name: Bump user config template version
|
||||
needs: handle-commit
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ needs.handle-commit.outputs.release_created }}
|
||||
env:
|
||||
ZMK_RELEASE_PLEASE_TOKEN: ${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }}
|
||||
VERSION: v${{ needs.handle-commit.outputs.major }}.${{ needs.handle-commit.outputs.minor }}
|
||||
steps:
|
||||
- name: Bump user config template
|
||||
run: |
|
||||
if [ -z "$VERSION" ]; then
|
||||
echo "VERSION is not set, exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
git clone "https://x-access-token:$ZMK_RELEASE_PLEASE_TOKEN@github.com/zmkfirmware/unified-zmk-config-template.git"
|
||||
cd unified-zmk-config-template
|
||||
git config user.name github-actions[bot]
|
||||
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
||||
sed -i 's/^\(\s*\)revision: .*/\1revision: '"$VERSION"'/' config/west.yml
|
||||
sed -i 's|uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@.*|uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@'"$VERSION"'|' .github/workflows/build.yml
|
||||
git add .
|
||||
git commit -m "Version bump to $VERSION"
|
||||
git push origin main
|
||||
|
||||
28
.github/workflows/stale.yml
vendored
Normal file
28
.github/workflows/stale.yml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
name: "Mark and close stale PRs in the repo"
|
||||
on:
|
||||
schedule:
|
||||
- cron: "00 14 * * *" # runs daily at 14:00 https://crontab.guru/#00_14_*_*_*
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/stale@v10.1.0
|
||||
with:
|
||||
days-before-pr-stale: 300 # ~10 months
|
||||
stale-pr-label: "stale"
|
||||
stale-pr-message: >
|
||||
This PR has been automatically marked as stale because it has not
|
||||
had activity in 10 months. It will be closed in 14 days if no
|
||||
further activity occurs. Feel free to give a status update or
|
||||
re-open when it has been rebased and is ready for review (again).
|
||||
Thanks!
|
||||
days-before-pr-close: 14
|
||||
close-pr-message: >
|
||||
This PR was closed because it had no activity for over 10 months.
|
||||
Feel free to give a status update or re-open when it has been
|
||||
rebased and is ready for review (again).
|
||||
days-before-issue-stale: 1000 # ~3 years
|
||||
days-before-issue-close: -1
|
||||
ascending: true # Process older PRs first
|
||||
operations-per-run: 30 # Default value, listed here again to make it explicit
|
||||
4
.github/workflows/test.yml
vendored
4
.github/workflows/test.yml
vendored
@@ -4,12 +4,14 @@ on:
|
||||
push:
|
||||
paths:
|
||||
- ".github/workflows/test.yml"
|
||||
- "app/run-test.sh"
|
||||
- "app/tests/**"
|
||||
- "app/src/**"
|
||||
- "app/include/**"
|
||||
pull_request:
|
||||
paths:
|
||||
- ".github/workflows/test.yml"
|
||||
- "app/run-test.sh"
|
||||
- "app/tests/**"
|
||||
- "app/src/**"
|
||||
- "app/include/**"
|
||||
@@ -59,7 +61,7 @@ jobs:
|
||||
- name: Initialize workspace (west init)
|
||||
run: west init -l app
|
||||
- name: Update modules (west update)
|
||||
run: west update
|
||||
run: west update --fetch-opt=--filter=tree:0
|
||||
- name: Export Zephyr CMake package (west zephyr-export)
|
||||
run: west zephyr-export
|
||||
- name: Test ${{ matrix.test }}
|
||||
|
||||
@@ -12,8 +12,8 @@ repos:
|
||||
types_or: [c++, c]
|
||||
args:
|
||||
- -i
|
||||
- repo: https://github.com/pre-commit/mirrors-prettier
|
||||
rev: v2.7.1
|
||||
- repo: https://github.com/rbubley/mirrors-prettier
|
||||
rev: 787fb9f542b140ba0b2aced38e6a3e68021647a3
|
||||
hooks:
|
||||
- id: prettier
|
||||
exclude: |
|
||||
@@ -22,9 +22,6 @@ repos:
|
||||
CHANGELOG.md|
|
||||
.release-please-manifest.json
|
||||
)$
|
||||
# Workaround for https://github.com/pre-commit/mirrors-prettier/issues/29
|
||||
additional_dependencies:
|
||||
- prettier@2.8.7
|
||||
- repo: https://github.com/jorisroovers/gitlint
|
||||
rev: v0.19.1
|
||||
hooks:
|
||||
|
||||
@@ -1 +1 @@
|
||||
{".":"0.1.0"}
|
||||
{".":"0.3.0"}
|
||||
|
||||
1
.vscode/extensions.json
vendored
1
.vscode/extensions.json
vendored
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"esbenp.prettier-vscode",
|
||||
"ms-python.black-formatter",
|
||||
"ms-python.python",
|
||||
"ms-vscode.cpptools",
|
||||
"plorefice.devicetree",
|
||||
|
||||
4
.vscode/settings.json
vendored
4
.vscode/settings.json
vendored
@@ -3,7 +3,7 @@
|
||||
"*.overlay": "dts",
|
||||
"*.keymap": "dts"
|
||||
},
|
||||
"python.formatting.provider": "black",
|
||||
"python.analysis.include": ["app/scripts", "zephyr/scripts"],
|
||||
"[c]": {
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
@@ -13,7 +13,7 @@
|
||||
},
|
||||
"[python]": {
|
||||
"editor.formatOnSave": true,
|
||||
"editor.defaultFormatter": "ms-python.python"
|
||||
"editor.defaultFormatter": "ms-python.black-formatter"
|
||||
},
|
||||
"[css][json][jsonc][html][markdown][yaml]": {
|
||||
"editor.formatOnSave": true,
|
||||
|
||||
94
CHANGELOG.md
94
CHANGELOG.md
@@ -1,5 +1,99 @@
|
||||
# Changelog
|
||||
|
||||
## [0.3.0](https://github.com/zmkfirmware/zmk/compare/v0.2.1...v0.3.0) (2025-08-01)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **ble:** Add function to get profile address by index ([#2992](https://github.com/zmkfirmware/zmk/issues/2992)) ([9e905d6](https://github.com/zmkfirmware/zmk/commit/9e905d65936348824588dc3f424755353ac61186))
|
||||
* **ci:** Add stale GitHub Action to automatically close stale PRs ([#2924](https://github.com/zmkfirmware/zmk/issues/2924)) ([6d7bbc8](https://github.com/zmkfirmware/zmk/commit/6d7bbc8670d175fd63e8c834feb41f80e7b52e74))
|
||||
* **display:** nice!view individual profile status ([#2265](https://github.com/zmkfirmware/zmk/issues/2265)) ([d09087f](https://github.com/zmkfirmware/zmk/commit/d09087f4dc280b8fdb1d32d63b03cc10162b89ce))
|
||||
* Full-Duplex Wired Split ([#2766](https://github.com/zmkfirmware/zmk/issues/2766)) ([147c340](https://github.com/zmkfirmware/zmk/commit/147c340c6e8d377304acfdd64dc86cf83ebdfef2))
|
||||
* **metadata:** Add metadata to the mouse_key_press behavior ([#2950](https://github.com/zmkfirmware/zmk/issues/2950)) ([239baa4](https://github.com/zmkfirmware/zmk/commit/239baa487509ace108d36f0e5c627d61a3d95f53))
|
||||
* **pointing:** Allow peripheral input processing to stop propagation ([#2844](https://github.com/zmkfirmware/zmk/issues/2844)) ([462d48b](https://github.com/zmkfirmware/zmk/commit/462d48b78edac8bedb75666699ea4fa446d2152c))
|
||||
* **shield:** Add underglow for reviung5 ([#2191](https://github.com/zmkfirmware/zmk/issues/2191)) ([ad6a181](https://github.com/zmkfirmware/zmk/commit/ad6a181d7ec34fb6e31134f6bb991a9b2d0b8f78))
|
||||
* **shields:** Add a physical layout for a_dux ([#3000](https://github.com/zmkfirmware/zmk/issues/3000)) ([7292df0](https://github.com/zmkfirmware/zmk/commit/7292df02d4b05d783f432f8658de22d940909fe4))
|
||||
* **shields:** Add physical layouts for tester_xiao and tester_pro_micro ([#2852](https://github.com/zmkfirmware/zmk/issues/2852)) ([eb170c9](https://github.com/zmkfirmware/zmk/commit/eb170c930f56e3fb3df0b813d987abfd1dc31b9a))
|
||||
* **shields:** Add tester_pro_micro layouts ([eb170c9](https://github.com/zmkfirmware/zmk/commit/eb170c930f56e3fb3df0b813d987abfd1dc31b9a))
|
||||
* **shields:** Add tester_xiao layouts ([eb170c9](https://github.com/zmkfirmware/zmk/commit/eb170c930f56e3fb3df0b813d987abfd1dc31b9a))
|
||||
* **split:** Add full-duplex wired split support ([147c340](https://github.com/zmkfirmware/zmk/commit/147c340c6e8d377304acfdd64dc86cf83ebdfef2))
|
||||
* **split:** Runtime selection of split transport ([6b44d33](https://github.com/zmkfirmware/zmk/commit/6b44d33db2f4bad7d98e475e6f7968493b05af73))
|
||||
* **split:** Runtime selection of split transport ([#2886](https://github.com/zmkfirmware/zmk/issues/2886)) ([6b44d33](https://github.com/zmkfirmware/zmk/commit/6b44d33db2f4bad7d98e475e6f7968493b05af73))
|
||||
* **split:** Suspend/resume wired UART devices. ([6b44d33](https://github.com/zmkfirmware/zmk/commit/6b44d33db2f4bad7d98e475e6f7968493b05af73))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **behaviors:** Correct macro release state for parametrized ([1bac680](https://github.com/zmkfirmware/zmk/commit/1bac680c4fb4f07e43c01754b6f1e72dab455e50))
|
||||
* **behaviors:** Correct macro release state for parametrized macros ([#2942](https://github.com/zmkfirmware/zmk/issues/2942)) ([1bac680](https://github.com/zmkfirmware/zmk/commit/1bac680c4fb4f07e43c01754b6f1e72dab455e50))
|
||||
* **ble,hid:** Fix smooth scrolling over BLE ([#2998](https://github.com/zmkfirmware/zmk/issues/2998)) ([342d838](https://github.com/zmkfirmware/zmk/commit/342d83891301b1be53233a12c7723bb99cbe5ff6)), closes [#2957](https://github.com/zmkfirmware/zmk/issues/2957)
|
||||
* **boards:** Disable high voltage DC-DC by default ([#2995](https://github.com/zmkfirmware/zmk/issues/2995)) ([8059e67](https://github.com/zmkfirmware/zmk/commit/8059e671b24a261939401afb5a65c4fa756adc2d)), closes [#2990](https://github.com/zmkfirmware/zmk/issues/2990)
|
||||
* changed shebang to make scripts more platform independent ([#2893](https://github.com/zmkfirmware/zmk/issues/2893)) ([84772eb](https://github.com/zmkfirmware/zmk/commit/84772ebf14e5a7c67ba573a61f0a50048802c799))
|
||||
* **ci:** pin tj-actions/changed-files due to compromise ([#2874](https://github.com/zmkfirmware/zmk/issues/2874)) ([4da89bd](https://github.com/zmkfirmware/zmk/commit/4da89bd99716bf6c1d7d788f3cdaec4cee7403e9))
|
||||
* **combos:** Properly clean up all old candidates. ([#2928](https://github.com/zmkfirmware/zmk/issues/2928)) ([e3030bf](https://github.com/zmkfirmware/zmk/commit/e3030bfcc87b7f511b0ebe993fb1f1f06215982e))
|
||||
* **combos:** Restore prompts for two deprecated Kconfigs ([#2926](https://github.com/zmkfirmware/zmk/issues/2926)) ([00ff486](https://github.com/zmkfirmware/zmk/commit/00ff48693113ed74a3345aa1ac81fdea302b3a09))
|
||||
* **core:** Correctly sync BAS battery level ([#2977](https://github.com/zmkfirmware/zmk/issues/2977)) ([af96766](https://github.com/zmkfirmware/zmk/commit/af967667b0e139a963178e63028c7be341cade9e))
|
||||
* **display:** Make stock battery widget depend on the right symbol ([#2953](https://github.com/zmkfirmware/zmk/issues/2953)) ([9da5d3b](https://github.com/zmkfirmware/zmk/commit/9da5d3ba82b38b74ad798a82a838d84c52220bbe))
|
||||
* **docs:** Fix soft off waker configuration example ([#2960](https://github.com/zmkfirmware/zmk/issues/2960)) ([eb99b4e](https://github.com/zmkfirmware/zmk/commit/eb99b4ede06bc01674ce16217ebbad40bc11ec50))
|
||||
* **docs:** remove title as alt text ([#2922](https://github.com/zmkfirmware/zmk/issues/2922)) ([d9576c5](https://github.com/zmkfirmware/zmk/commit/d9576c55346acfc8eed36709aaae28f91e0d06ad))
|
||||
* Fix build with Studio and USB but not UART ([#2996](https://github.com/zmkfirmware/zmk/issues/2996)) ([cef7af4](https://github.com/zmkfirmware/zmk/commit/cef7af4408cc44c20fab93a0b2e20b3429d0a98e))
|
||||
* **hid:** Fix scroll value truncation ([#2865](https://github.com/zmkfirmware/zmk/issues/2865)) ([2c0e7da](https://github.com/zmkfirmware/zmk/commit/2c0e7daced1421c34a9d417b7d3e9bccbf0ebd7f)), closes [#2864](https://github.com/zmkfirmware/zmk/issues/2864)
|
||||
* **pointing:** Avoids mutex leak for default layer toggle event ([#2934](https://github.com/zmkfirmware/zmk/issues/2934)) ([461f5c8](https://github.com/zmkfirmware/zmk/commit/461f5c832fb8854d87dca54d113d306323697219))
|
||||
* Properly override stack size on RP2040 ([147c340](https://github.com/zmkfirmware/zmk/commit/147c340c6e8d377304acfdd64dc86cf83ebdfef2))
|
||||
* **split:** add source to battery event ([#2901](https://github.com/zmkfirmware/zmk/issues/2901)) ([6f85f48](https://github.com/zmkfirmware/zmk/commit/6f85f48b19afae04f98e9abacb36ce1425b61f78))
|
||||
* **split:** Compile and run properly in wired polling mode. ([#3012](https://github.com/zmkfirmware/zmk/issues/3012)) ([2ae5185](https://github.com/zmkfirmware/zmk/commit/2ae51854192aed92af95536f79547e2928cd1bf5))
|
||||
* **split:** Conditionally build all split code ([#2884](https://github.com/zmkfirmware/zmk/issues/2884)) ([5bb39ec](https://github.com/zmkfirmware/zmk/commit/5bb39ec3eae23055593350cb3689a8240028181e))
|
||||
* **split:** Enable wired split by default if DTS is set ([#3010](https://github.com/zmkfirmware/zmk/issues/3010)) ([1530ae3](https://github.com/zmkfirmware/zmk/commit/1530ae36c22e3e2285e895737c74de5d960a5ae4))
|
||||
* **split:** Minor wired split fixes. ([6b44d33](https://github.com/zmkfirmware/zmk/commit/6b44d33db2f4bad7d98e475e6f7968493b05af73))
|
||||
* Unconditionally define HID payloads to avoid error. ([6b44d33](https://github.com/zmkfirmware/zmk/commit/6b44d33db2f4bad7d98e475e6f7968493b05af73))
|
||||
|
||||
## [0.2.1](https://github.com/zmkfirmware/zmk/compare/v0.2.0...v0.2.1) (2025-03-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **behaviors:** Proper comma separated device list ([#2850](https://github.com/zmkfirmware/zmk/issues/2850)) ([f20e6ea](https://github.com/zmkfirmware/zmk/commit/f20e6ea7594b49eef1e3acc017529073a0409962))
|
||||
|
||||
## [0.2.0](https://github.com/zmkfirmware/zmk/compare/v0.1.0...v0.2.0) (2025-03-01)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* Added `toggle-mode`, allowing toggle-on and toggle-off ([#2555](https://github.com/zmkfirmware/zmk/issues/2555)) ([4ef231f](https://github.com/zmkfirmware/zmk/commit/4ef231f4bba87151acfbd1cf3babd83b69813e45))
|
||||
* added toggle mode to key and layer toggles ([4ef231f](https://github.com/zmkfirmware/zmk/commit/4ef231f4bba87151acfbd1cf3babd83b69813e45))
|
||||
* **boards:** Update for mikoto board definition ([#1946](https://github.com/zmkfirmware/zmk/issues/1946)) ([b26058b](https://github.com/zmkfirmware/zmk/commit/b26058b6c7c83f8d1f095d2f9c6c3998b391a61b))
|
||||
* **core:** Make physical layout key rotation optional ([#2770](https://github.com/zmkfirmware/zmk/issues/2770)) ([c367d8f](https://github.com/zmkfirmware/zmk/commit/c367d8f636f0842b414c2b58df6101761cdd676d))
|
||||
* **display:** Add ability to set display on/off pin. ([#2814](https://github.com/zmkfirmware/zmk/issues/2814)) ([627e6db](https://github.com/zmkfirmware/zmk/commit/627e6dbec99211b3d7cce55904fb1c824ed87bf3))
|
||||
* **display:** Add config for display update period ([#2819](https://github.com/zmkfirmware/zmk/issues/2819)) ([aa3e5dd](https://github.com/zmkfirmware/zmk/commit/aa3e5dd70fdd1b364fa9ad26f14425be613d180c))
|
||||
* input processor behavior invocation ([#2714](https://github.com/zmkfirmware/zmk/issues/2714)) ([cb867f9](https://github.com/zmkfirmware/zmk/commit/cb867f92dbe4e32675c2137fc6aa914a44ecc8dc))
|
||||
* **Kconfig:** Allow overriding ZMK Kconfig defaults ([#2537](https://github.com/zmkfirmware/zmk/issues/2537)) ([40925d4](https://github.com/zmkfirmware/zmk/commit/40925d48e67b3eeaeb3e848a2287ed628de9f674))
|
||||
* **mouse:** Add mouse move and scroll support ([#2477](https://github.com/zmkfirmware/zmk/issues/2477)) ([6b40bfd](https://github.com/zmkfirmware/zmk/commit/6b40bfda53571f7a960ccc448aa87f29da7496ac))
|
||||
* **pointing:** Add behavior input processor ([cb867f9](https://github.com/zmkfirmware/zmk/commit/cb867f92dbe4e32675c2137fc6aa914a44ecc8dc))
|
||||
* **pointing:** Add pre-defined scroll scaler ([0f7c112](https://github.com/zmkfirmware/zmk/commit/0f7c11248a1ddb7c6559064c2a1e7a3c446d5d55))
|
||||
* **pointing:** Add pre-defined scroll scaler and mouse scroll tests ([#2759](https://github.com/zmkfirmware/zmk/issues/2759)) ([0f7c112](https://github.com/zmkfirmware/zmk/commit/0f7c11248a1ddb7c6559064c2a1e7a3c446d5d55))
|
||||
* **shields:** Add physical layout for Lotus58 ([#2753](https://github.com/zmkfirmware/zmk/issues/2753)) ([424e532](https://github.com/zmkfirmware/zmk/commit/424e53210ea16c2287abaf770ebf45be432d841a))
|
||||
* **studio:** Add ortho_4x10 grid layout ([#2651](https://github.com/zmkfirmware/zmk/issues/2651)) ([7e8c542](https://github.com/zmkfirmware/zmk/commit/7e8c542c94908ac011ec7272a5f8ab10d2102632))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* allow kscan-composite to wake up device. ([#2682](https://github.com/zmkfirmware/zmk/issues/2682)) ([a8f5ab6](https://github.com/zmkfirmware/zmk/commit/a8f5ab67b5d449a2624e2de7ddfb264da778ea6c))
|
||||
* **behaviors:** Make multiple sticky keys work on same key position ([7186528](https://github.com/zmkfirmware/zmk/commit/7186528f77bf077173927c1c8506b4d434e5c371))
|
||||
* **behaviors:** Make multiple sticky keys work on same key position ([#2758](https://github.com/zmkfirmware/zmk/issues/2758)) ([7186528](https://github.com/zmkfirmware/zmk/commit/7186528f77bf077173927c1c8506b4d434e5c371))
|
||||
* **ble:** enforce maximum length for dynamic device name ([#2784](https://github.com/zmkfirmware/zmk/issues/2784)) ([ea267b0](https://github.com/zmkfirmware/zmk/commit/ea267b0f35f862b882ac568dde6365c3a0c85099))
|
||||
* **combos:** Properly report combos len with emply block ([#2739](https://github.com/zmkfirmware/zmk/issues/2739)) ([f0a77b8](https://github.com/zmkfirmware/zmk/commit/f0a77b888ac482a863386ced08e04660ddacb026))
|
||||
* **display:** Only default mono theme when 1bpp ([#2804](https://github.com/zmkfirmware/zmk/issues/2804)) ([425256b](https://github.com/zmkfirmware/zmk/commit/425256bc0de7ed08802533b170abba78ee90f546))
|
||||
* **display:** POSIX lvgl fixes ([#2812](https://github.com/zmkfirmware/zmk/issues/2812)) ([4b4a8a3](https://github.com/zmkfirmware/zmk/commit/4b4a8a35f3f90f1af75cdf5d9c26b47d4b8dcabb))
|
||||
* **drivers:** Proper static/const for data/config ([#2769](https://github.com/zmkfirmware/zmk/issues/2769)) ([6941abc](https://github.com/zmkfirmware/zmk/commit/6941abc2afab16502cff9c5149d8dc0fcd5112c9))
|
||||
* Fix warnings in nanopb encoding code ([#2643](https://github.com/zmkfirmware/zmk/issues/2643)) ([7013158](https://github.com/zmkfirmware/zmk/commit/7013158a6715d94b34e8c471ce25bb5005f3bb49))
|
||||
* Kconfig refactor now works correctly with external modules ([#2711](https://github.com/zmkfirmware/zmk/issues/2711)) ([bb48661](https://github.com/zmkfirmware/zmk/commit/bb486619a183f6df7fbb4620c80164555a22da0b))
|
||||
* **Kconfig:** Added a name to EC11's trigger mode choice ([40925d4](https://github.com/zmkfirmware/zmk/commit/40925d48e67b3eeaeb3e848a2287ed628de9f674))
|
||||
* **kscan:** Remove warning when keyboard is built without CONFIG_PM_DEVICE ([#2808](https://github.com/zmkfirmware/zmk/issues/2808)) ([8e065d5](https://github.com/zmkfirmware/zmk/commit/8e065d55b916481ef06ce37cddedb84cf1d15d99))
|
||||
* **pointing:** Complete header rename missed in refactor ([#2702](https://github.com/zmkfirmware/zmk/issues/2702)) ([84baf92](https://github.com/zmkfirmware/zmk/commit/84baf929c9bb95f255d4bafd0e57f2ec47455fca))
|
||||
* **pointing:** Temp layer threading protection. ([#2729](https://github.com/zmkfirmware/zmk/issues/2729)) ([1e3e62c](https://github.com/zmkfirmware/zmk/commit/1e3e62c13d0666d98831ee302ae2fb17e68196c9))
|
||||
* **studio:** Allow adding layers after a layer move ([#2748](https://github.com/zmkfirmware/zmk/issues/2748)) ([36508c2](https://github.com/zmkfirmware/zmk/commit/36508c27fddfb84d912e0122e313ad3904ceb946))
|
||||
* **studio:** Properly return complete keymap from RPC ([#2696](https://github.com/zmkfirmware/zmk/issues/2696)) ([0820991](https://github.com/zmkfirmware/zmk/commit/0820991901a95ab7a0eb1f1cc608a631d514e26c))
|
||||
|
||||
## 0.1.0 (2024-11-29)
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
module.exports = {
|
||||
endOfLine: "auto",
|
||||
trailingComma: "es5",
|
||||
};
|
||||
|
||||
@@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.13.1)
|
||||
|
||||
set(CONFIG_APPLICATION_DEFINED_SYSCALL true)
|
||||
|
||||
set(ZEPHYR_BOARD_ALIASES "boards/aliases.cmake")
|
||||
set(ZEPHYR_EXTRA_MODULES "${ZMK_EXTRA_MODULES};${CMAKE_CURRENT_SOURCE_DIR}/module;${CMAKE_CURRENT_SOURCE_DIR}/keymap-module")
|
||||
|
||||
# Find Zephyr. This also loads Zephyr's build system.
|
||||
@@ -16,6 +17,7 @@ if(CONFIG_ZMK_BEHAVIOR_LOCAL_IDS)
|
||||
endif()
|
||||
|
||||
zephyr_syscall_header(${APPLICATION_SOURCE_DIR}/include/drivers/behavior.h)
|
||||
zephyr_syscall_header(${APPLICATION_SOURCE_DIR}/include/drivers/input_processor.h)
|
||||
zephyr_syscall_header(${APPLICATION_SOURCE_DIR}/include/drivers/ext_power.h)
|
||||
|
||||
# Add your source file to the "app" target. This must come after
|
||||
@@ -36,15 +38,14 @@ target_sources_ifdef(CONFIG_ZMK_GPIO_KEY_WAKEUP_TRIGGER app PRIVATE src/gpio_key
|
||||
target_sources(app PRIVATE src/events/activity_state_changed.c)
|
||||
target_sources(app PRIVATE src/events/position_state_changed.c)
|
||||
target_sources(app PRIVATE src/events/sensor_event.c)
|
||||
target_sources(app PRIVATE src/events/mouse_button_state_changed.c)
|
||||
target_sources_ifdef(CONFIG_ZMK_WPM app PRIVATE src/events/wpm_state_changed.c)
|
||||
target_sources_ifdef(CONFIG_USB_DEVICE_STACK app PRIVATE src/events/usb_conn_state_changed.c)
|
||||
target_sources(app PRIVATE src/behaviors/behavior_reset.c)
|
||||
target_sources_ifdef(CONFIG_ZMK_EXT_POWER app PRIVATE src/behaviors/behavior_ext_power.c)
|
||||
target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_SOFT_OFF app PRIVATE src/behaviors/behavior_soft_off.c)
|
||||
add_subdirectory_ifdef(CONFIG_ZMK_POINTING src/pointing/)
|
||||
if ((NOT CONFIG_ZMK_SPLIT) OR CONFIG_ZMK_SPLIT_ROLE_CENTRAL)
|
||||
target_sources(app PRIVATE src/hid.c)
|
||||
target_sources_ifdef(CONFIG_ZMK_MOUSE app PRIVATE src/mouse.c)
|
||||
target_sources(app PRIVATE src/behaviors/behavior_key_press.c)
|
||||
target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_KEY_TOGGLE app PRIVATE src/behaviors/behavior_key_toggle.c)
|
||||
target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_HOLD_TAP app PRIVATE src/behaviors/behavior_hold_tap.c)
|
||||
@@ -64,8 +65,9 @@ if ((NOT CONFIG_ZMK_SPLIT) OR CONFIG_ZMK_SPLIT_ROLE_CENTRAL)
|
||||
target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_SENSOR_ROTATE_COMMON app PRIVATE src/behaviors/behavior_sensor_rotate_common.c)
|
||||
target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_MOUSE_KEY_PRESS app PRIVATE src/behaviors/behavior_mouse_key_press.c)
|
||||
target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_STUDIO_UNLOCK app PRIVATE src/behaviors/behavior_studio_unlock.c)
|
||||
target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_INPUT_TWO_AXIS app PRIVATE src/behaviors/behavior_input_two_axis.c)
|
||||
target_sources(app PRIVATE src/combo.c)
|
||||
target_sources(app PRIVATE src/behaviors/behavior_tap_dance.c)
|
||||
target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_TAP_DANCE app PRIVATE src/behaviors/behavior_tap_dance.c)
|
||||
target_sources(app PRIVATE src/behavior_queue.c)
|
||||
target_sources(app PRIVATE src/conditional_layer.c)
|
||||
target_sources(app PRIVATE src/endpoints.c)
|
||||
@@ -94,7 +96,7 @@ target_sources_ifdef(CONFIG_ZMK_BATTERY_REPORTING app PRIVATE src/battery.c)
|
||||
target_sources_ifdef(CONFIG_ZMK_HID_INDICATORS app PRIVATE src/events/hid_indicators_changed.c)
|
||||
|
||||
target_sources_ifdef(CONFIG_ZMK_SPLIT app PRIVATE src/events/split_peripheral_status_changed.c)
|
||||
add_subdirectory(src/split)
|
||||
add_subdirectory_ifdef(CONFIG_ZMK_SPLIT src/split)
|
||||
|
||||
target_sources_ifdef(CONFIG_USB_DEVICE_STACK app PRIVATE src/usb.c)
|
||||
target_sources_ifdef(CONFIG_ZMK_USB app PRIVATE src/usb_hid.c)
|
||||
|
||||
152
app/Kconfig
152
app/Kconfig
@@ -46,7 +46,7 @@ config NRF_STORE_REBOOT_TYPE_GPREGRET
|
||||
bool
|
||||
default y
|
||||
|
||||
endif
|
||||
endif # SOC_SERIES_NRF52X
|
||||
|
||||
menu "HID"
|
||||
|
||||
@@ -81,14 +81,11 @@ if ZMK_HID_REPORT_TYPE_HKRO
|
||||
|
||||
config ZMK_HID_KEYBOARD_REPORT_SIZE
|
||||
int "# Keyboard Keys Reportable"
|
||||
default 6
|
||||
|
||||
endif
|
||||
endif # ZMK_HID_REPORT_TYPE_HKRO
|
||||
|
||||
config ZMK_HID_CONSUMER_REPORT_SIZE
|
||||
int "# Consumer Keys Reportable"
|
||||
default 6
|
||||
|
||||
|
||||
choice ZMK_HID_CONSUMER_REPORT_USAGES
|
||||
prompt "HID Report Type"
|
||||
@@ -142,8 +139,7 @@ config USB_NUMOF_EP_WRITE_RETRIES
|
||||
config USB_HID_POLL_INTERVAL_MS
|
||||
default 1
|
||||
|
||||
#ZMK_USB
|
||||
endif
|
||||
endif # ZMK_USB
|
||||
|
||||
menuconfig ZMK_BLE
|
||||
bool "BLE (HID over GATT)"
|
||||
@@ -163,17 +159,14 @@ if ZMK_BLE
|
||||
config ZMK_BLE_EXPERIMENTAL_CONN
|
||||
bool "Experimental BLE connection changes"
|
||||
help
|
||||
Enables a combination of settings that are planned to be default in future versions of ZMK
|
||||
to improve connection stability. This includes changes to timing on BLE pairing initiation,
|
||||
restores use of the updated/new LLCP implementation, and disables 2M PHY support.
|
||||
Enables settings that are planned to be default in future versions of ZMK
|
||||
to improve connection stability.
|
||||
|
||||
config ZMK_BLE_EXPERIMENTAL_SEC
|
||||
bool "Experimental BLE security changes"
|
||||
imply BT_SMP_ALLOW_UNAUTH_OVERWRITE
|
||||
help
|
||||
Enables a combination of settings that are planned to be officially supported in the future.
|
||||
This includes enabling BT Secure Connection passkey entry, and allows overwrite of keys from
|
||||
previously paired hosts.
|
||||
Enables security settings that are planned to be officially supported in the future.
|
||||
|
||||
config ZMK_BLE_EXPERIMENTAL_FEATURES
|
||||
bool "Experimental BLE connection and security settings/features"
|
||||
@@ -196,10 +189,6 @@ config BT_CTLR_PHY_2M
|
||||
config BT_TINYCRYPT_ECC
|
||||
default y if BT_HCI && !BT_CTLR
|
||||
|
||||
config SYSTEM_WORKQUEUE_STACK_SIZE
|
||||
default 4096 if SOC_RP2040
|
||||
default 2048
|
||||
|
||||
config ZMK_BLE_THREAD_STACK_SIZE
|
||||
int "BLE notify thread stack size"
|
||||
default 768
|
||||
@@ -245,19 +234,20 @@ config BT_PERIPHERAL_PREF_LATENCY
|
||||
config BT_PERIPHERAL_PREF_TIMEOUT
|
||||
default 400
|
||||
|
||||
#ZMK_BLE
|
||||
endif
|
||||
# The device name should be 16 characters or less so it fits within the
|
||||
# advertising data.
|
||||
config BT_DEVICE_NAME_MAX
|
||||
default 16
|
||||
|
||||
#Output Types
|
||||
endmenu
|
||||
endif # ZMK_BLE
|
||||
|
||||
# HID
|
||||
endmenu
|
||||
endmenu # Output Types
|
||||
|
||||
endmenu # HID
|
||||
|
||||
rsource "src/split/Kconfig"
|
||||
|
||||
#Basic Keyboard Setup
|
||||
endmenu
|
||||
endmenu # Basic Keyboard Setup
|
||||
|
||||
menu "Keymaps"
|
||||
|
||||
@@ -275,7 +265,7 @@ config ZMK_KEYMAP_LAYER_NAME_MAX_LEN
|
||||
int "Max Layer Name Length"
|
||||
default 20
|
||||
|
||||
endif
|
||||
endif # ZMK_KEYMAP_SETTINGS_STORAGE
|
||||
|
||||
endmenu # Keymaps
|
||||
|
||||
@@ -292,67 +282,51 @@ menuconfig ZMK_RGB_UNDERGLOW
|
||||
|
||||
if ZMK_RGB_UNDERGLOW
|
||||
|
||||
# This default value cuts down on tons of excess .conf files, if you're using GPIO, manually disable this
|
||||
config SPI
|
||||
default y
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_EXT_POWER
|
||||
bool "RGB underglow toggling also controls external power"
|
||||
default y
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_BRT_MIN
|
||||
int "RGB underglow minimum brightness in percent"
|
||||
range 0 100
|
||||
default 0
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_BRT_MAX
|
||||
int "RGB underglow maximum brightness in percent"
|
||||
range ZMK_RGB_UNDERGLOW_BRT_MIN 100
|
||||
default 100
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_HUE_STEP
|
||||
int "RGB underglow hue step in degrees"
|
||||
range 0 359
|
||||
default 10
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_SAT_STEP
|
||||
int "RGB underglow saturation step in percent"
|
||||
range 0 100
|
||||
default 10
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_BRT_STEP
|
||||
int "RGB underglow brightness step in percent"
|
||||
range 0 100
|
||||
default 10
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_HUE_START
|
||||
int "RGB underglow start hue value in degrees"
|
||||
range 0 359
|
||||
default 0
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_SAT_START
|
||||
int "RGB underglow start saturations value in percent"
|
||||
range 0 100
|
||||
default 100
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_BRT_START
|
||||
int "RGB underglow start brightness value in percent"
|
||||
range ZMK_RGB_UNDERGLOW_BRT_MIN ZMK_RGB_UNDERGLOW_BRT_MAX
|
||||
default ZMK_RGB_UNDERGLOW_BRT_MAX
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_SPD_START
|
||||
int "RGB underglow start animation speed value"
|
||||
range 1 5
|
||||
default 3
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_EFF_START
|
||||
int "RGB underglow start effect int value related to the effect enum list"
|
||||
range 0 3
|
||||
default 0
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_ON_START
|
||||
bool "RGB underglow starts on by default"
|
||||
default y
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE
|
||||
bool "Turn off RGB underglow when keyboard goes into idle state"
|
||||
@@ -361,8 +335,7 @@ config ZMK_RGB_UNDERGLOW_AUTO_OFF_USB
|
||||
bool "Turn off RGB underglow when USB is disconnected"
|
||||
depends on USB_DEVICE_STACK
|
||||
|
||||
#ZMK_RGB_UNDERGLOW
|
||||
endif
|
||||
endif # ZMK_RGB_UNDERGLOW
|
||||
|
||||
menuconfig ZMK_BACKLIGHT
|
||||
bool "LED backlight"
|
||||
@@ -373,16 +346,13 @@ if ZMK_BACKLIGHT
|
||||
config ZMK_BACKLIGHT_BRT_STEP
|
||||
int "Brightness step in percent"
|
||||
range 1 100
|
||||
default 20
|
||||
|
||||
config ZMK_BACKLIGHT_BRT_START
|
||||
int "Default brightness in percent"
|
||||
range 1 100
|
||||
default 40
|
||||
|
||||
config ZMK_BACKLIGHT_ON_START
|
||||
bool "Default backlight state"
|
||||
default y
|
||||
|
||||
config ZMK_BACKLIGHT_AUTO_OFF_IDLE
|
||||
bool "Turn off backlight when keyboard goes into idle state"
|
||||
@@ -390,19 +360,11 @@ config ZMK_BACKLIGHT_AUTO_OFF_IDLE
|
||||
config ZMK_BACKLIGHT_AUTO_OFF_USB
|
||||
bool "Turn off backlight when USB is disconnected"
|
||||
|
||||
#ZMK_BACKLIGHT
|
||||
endif
|
||||
endif # ZMK_BACKLIGHT
|
||||
|
||||
#Display/LED Options
|
||||
endmenu
|
||||
endmenu # Display/LED Options
|
||||
|
||||
menu "Mouse Options"
|
||||
|
||||
config ZMK_MOUSE
|
||||
bool "Enable ZMK mouse emulation"
|
||||
|
||||
#Mouse Options
|
||||
endmenu
|
||||
rsource "src/pointing/Kconfig"
|
||||
|
||||
menu "Power Management"
|
||||
|
||||
@@ -424,7 +386,8 @@ config ZMK_BATTERY_REPORTING_FETCH_MODE_LITHIUM_VOLTAGE
|
||||
bool "Lithium Voltage"
|
||||
|
||||
endchoice
|
||||
endif
|
||||
|
||||
endif # ZMK_BATTERY_REPORTING
|
||||
|
||||
config ZMK_IDLE_TIMEOUT
|
||||
int "Milliseconds of inactivity before entering idle state (OLED shutoff, etc)"
|
||||
@@ -446,12 +409,10 @@ config ZMK_IDLE_SLEEP_TIMEOUT
|
||||
int "Milliseconds of inactivity before entering deep sleep"
|
||||
default 900000
|
||||
|
||||
#ZMK_SLEEP
|
||||
endif
|
||||
endif # ZMK_SLEEP
|
||||
|
||||
config ZMK_EXT_POWER
|
||||
bool "Enable support to control external power output"
|
||||
default y
|
||||
|
||||
config ZMK_PM
|
||||
bool
|
||||
@@ -473,7 +434,7 @@ config ZMK_GPIO_KEY_WAKEUP_TRIGGER
|
||||
default y
|
||||
depends on DT_HAS_ZMK_GPIO_KEY_WAKEUP_TRIGGER_ENABLED && ZMK_PM_SOFT_OFF
|
||||
|
||||
#Power Management
|
||||
# Power Management
|
||||
endmenu
|
||||
|
||||
menu "Combo options"
|
||||
@@ -483,14 +444,18 @@ config ZMK_COMBO_MAX_PRESSED_COMBOS
|
||||
default 4
|
||||
|
||||
config ZMK_COMBO_MAX_COMBOS_PER_KEY
|
||||
int "Maximum number of combos per key"
|
||||
default 5
|
||||
int "Deprecated: Max combos per key"
|
||||
default 0
|
||||
help
|
||||
Deprecated: Storage for combos is now determined automatically
|
||||
|
||||
config ZMK_COMBO_MAX_KEYS_PER_COMBO
|
||||
int "Maximum number of keys per combo"
|
||||
default 4
|
||||
int "Deprecated: Max keys per combo"
|
||||
default 0
|
||||
help
|
||||
Deprecated: This is now auto-calculated based on `key-positions` in devicetree
|
||||
|
||||
#Combo options
|
||||
# Combo options
|
||||
endmenu
|
||||
|
||||
menu "Behavior Options"
|
||||
@@ -525,8 +490,7 @@ config ZMK_USB_HID_INIT_PRIORITY
|
||||
int "USB HID Init Priority"
|
||||
default 95
|
||||
|
||||
#USB
|
||||
endif
|
||||
endif # USB
|
||||
|
||||
if ZMK_BLE || ZMK_SPLIT_BLE
|
||||
|
||||
@@ -534,11 +498,13 @@ config ZMK_BLE_INIT_PRIORITY
|
||||
int "BLE Init Priority"
|
||||
default 50
|
||||
|
||||
#ZMK_BLE || ZMK_SPLIT_BLE
|
||||
endif
|
||||
endif # ZMK_BLE || ZMK_SPLIT_BLE
|
||||
|
||||
#Initialization Priorities
|
||||
endmenu
|
||||
endmenu # Initialization Priorities
|
||||
|
||||
config ZMK_PHYSICAL_LAYOUT_KEY_ROTATION
|
||||
bool "Support rotation of keys in physical layouts"
|
||||
default y
|
||||
|
||||
menuconfig ZMK_KSCAN
|
||||
bool "ZMK KScan Integration"
|
||||
@@ -612,8 +578,7 @@ config USB_CDC_ACM_RINGBUF_SIZE
|
||||
config LOG_PROCESS_THREAD_STARTUP_DELAY_MS
|
||||
default 1000
|
||||
|
||||
#ZMK_USB_LOGGING
|
||||
endif
|
||||
endif # ZMK_USB_LOGGING
|
||||
|
||||
config ZMK_RTT_LOGGING
|
||||
bool "Enable RTT logging to help debug"
|
||||
@@ -629,8 +594,7 @@ if ZMK_RTT_LOGGING
|
||||
config SEGGER_RTT_BUFFER_SIZE_UP
|
||||
default 8192
|
||||
|
||||
#ZMK_RTT_LOGGING
|
||||
endif
|
||||
endif # ZMK_RTT_LOGGING
|
||||
|
||||
if ZMK_USB_LOGGING || ZMK_RTT_LOGGING
|
||||
|
||||
@@ -640,11 +604,9 @@ config LOG_BUFFER_SIZE
|
||||
config LOG_PROCESS_THREAD_SLEEP_MS
|
||||
default 100
|
||||
|
||||
#ZMK_USB_LOGGING || ZMK_RTT_LOGGING
|
||||
endif
|
||||
endif # ZMK_USB_LOGGING || ZMK_RTT_LOGGING
|
||||
|
||||
#Logging
|
||||
endmenu
|
||||
endmenu # Logging
|
||||
|
||||
if SETTINGS
|
||||
|
||||
@@ -660,21 +622,17 @@ config ZMK_SETTINGS_RESET_ON_START_INIT_PRIORITY
|
||||
Initialization priority for the settings reset on start. Must be lower priority/
|
||||
higher value than FLASH_INIT_PRIORITY if using the NVS/Flash settings backend.
|
||||
|
||||
|
||||
endif
|
||||
|
||||
endif # ZMK_SETTINGS_RESET_ON_START
|
||||
|
||||
config ZMK_SETTINGS_SAVE_DEBOUNCE
|
||||
int "Milliseconds to debounce settings saves"
|
||||
default 60000
|
||||
|
||||
#SETTINGS
|
||||
endif
|
||||
endif # SETTINGS
|
||||
|
||||
config ZMK_BATTERY_REPORT_INTERVAL
|
||||
depends on ZMK_BATTERY_REPORTING
|
||||
int "Battery level report interval in seconds"
|
||||
default 60
|
||||
|
||||
config ZMK_LOW_PRIORITY_WORK_QUEUE
|
||||
bool "Work queue for low priority items"
|
||||
@@ -689,13 +647,11 @@ config ZMK_LOW_PRIORITY_THREAD_PRIORITY
|
||||
int "Low priority thread priority"
|
||||
default 10
|
||||
|
||||
endif
|
||||
endif # ZMK_LOW_PRIORITY_WORK_QUEUE
|
||||
|
||||
#Advanced
|
||||
endmenu
|
||||
endmenu # Advanced
|
||||
|
||||
#ZMK
|
||||
endmenu
|
||||
endmenu # ZMK
|
||||
|
||||
config KERNEL_BIN_NAME
|
||||
default "zmk"
|
||||
@@ -740,12 +696,22 @@ module = ZMK
|
||||
module-str = zmk
|
||||
source "subsys/logging/Kconfig.template.log_config"
|
||||
|
||||
# This loads ZMK's internal board and shield Kconfigs
|
||||
rsource "boards/Kconfig"
|
||||
rsource "boards/shields/*/Kconfig.defconfig"
|
||||
rsource "boards/shields/*/Kconfig.shield"
|
||||
|
||||
# This loads custom shields defconfigs (from BOARD_ROOT)
|
||||
# Duplicated from Kconfig.zephyr
|
||||
osource "$(KCONFIG_BINARY_DIR)/Kconfig.shield.defconfig"
|
||||
|
||||
source "$(BOARD_DIR)/Kconfig.defconfig"
|
||||
|
||||
# This loads board and shield Kconfigs found under zmk-config/config/
|
||||
osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.defconfig"
|
||||
osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.shield"
|
||||
|
||||
# This loads ZMK's sensible defaults
|
||||
rsource "Kconfig.defaults"
|
||||
|
||||
source "Kconfig.zephyr"
|
||||
|
||||
@@ -51,13 +51,11 @@ if ZMK_BEHAVIOR_HOLD_TAP
|
||||
|
||||
config ZMK_BEHAVIOR_HOLD_TAP_MAX_HELD
|
||||
int "Hold Tap Max Held"
|
||||
default 10
|
||||
help
|
||||
Max number of simultaneously held hold-taps
|
||||
|
||||
config ZMK_BEHAVIOR_HOLD_TAP_MAX_CAPTURED_EVENTS
|
||||
int "Hold Tap Max Captured Events"
|
||||
default 40
|
||||
help
|
||||
Max number of captured system events while waiting to resolve hold taps
|
||||
|
||||
@@ -71,8 +69,7 @@ config ZMK_BEHAVIOR_KEY_TOGGLE
|
||||
config ZMK_BEHAVIOR_MOUSE_KEY_PRESS
|
||||
bool
|
||||
default y
|
||||
depends on DT_HAS_ZMK_BEHAVIOR_MOUSE_KEY_PRESS_ENABLED
|
||||
imply ZMK_MOUSE
|
||||
depends on DT_HAS_ZMK_BEHAVIOR_MOUSE_KEY_PRESS_ENABLED && ZMK_POINTING
|
||||
|
||||
config ZMK_BEHAVIOR_STICKY_KEY
|
||||
bool
|
||||
@@ -83,7 +80,6 @@ if ZMK_BEHAVIOR_STICKY_KEY
|
||||
|
||||
config ZMK_BEHAVIOR_STICKY_KEY_MAX_HELD
|
||||
int "Sticky Key Max Held"
|
||||
default 10
|
||||
help
|
||||
Max number of simultaneously held sticky keys
|
||||
|
||||
@@ -94,6 +90,26 @@ config ZMK_BEHAVIOR_SOFT_OFF
|
||||
default y
|
||||
depends on DT_HAS_ZMK_BEHAVIOR_SOFT_OFF_ENABLED && ZMK_PM_SOFT_OFF
|
||||
|
||||
|
||||
config ZMK_BEHAVIOR_TAP_DANCE
|
||||
bool
|
||||
default y
|
||||
depends on DT_HAS_ZMK_BEHAVIOR_TAP_DANCE_ENABLED
|
||||
|
||||
if ZMK_BEHAVIOR_TAP_DANCE
|
||||
|
||||
config ZMK_BEHAVIOR_TAP_DANCE_MAX_HELD
|
||||
int "Tap-Dance Max Held"
|
||||
help
|
||||
Max number of simultaneously held taps-dances
|
||||
|
||||
endif
|
||||
|
||||
config ZMK_BEHAVIOR_INPUT_TWO_AXIS
|
||||
bool
|
||||
default y
|
||||
depends on DT_HAS_ZMK_BEHAVIOR_INPUT_TWO_AXIS_ENABLED && ZMK_POINTING
|
||||
|
||||
config ZMK_BEHAVIOR_SENSOR_ROTATE_COMMON
|
||||
bool
|
||||
|
||||
|
||||
113
app/Kconfig.defaults
Normal file
113
app/Kconfig.defaults
Normal file
@@ -0,0 +1,113 @@
|
||||
# Copyright (c) 2024 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config SYSTEM_WORKQUEUE_STACK_SIZE
|
||||
default 2048 if SOC_RP2040
|
||||
default 2048 if ZMK_BLE
|
||||
|
||||
# HID
|
||||
if ZMK_HID_REPORT_TYPE_HKRO
|
||||
|
||||
config ZMK_HID_KEYBOARD_REPORT_SIZE
|
||||
default 6
|
||||
|
||||
endif
|
||||
|
||||
config ZMK_HID_CONSUMER_REPORT_SIZE
|
||||
default 6
|
||||
|
||||
# Behaviors
|
||||
|
||||
if ZMK_BEHAVIOR_HOLD_TAP
|
||||
|
||||
config ZMK_BEHAVIOR_HOLD_TAP_MAX_HELD
|
||||
default 10
|
||||
|
||||
config ZMK_BEHAVIOR_HOLD_TAP_MAX_CAPTURED_EVENTS
|
||||
default 40
|
||||
|
||||
endif
|
||||
|
||||
if ZMK_BEHAVIOR_STICKY_KEY
|
||||
|
||||
config ZMK_BEHAVIOR_STICKY_KEY_MAX_HELD
|
||||
default 10
|
||||
|
||||
endif
|
||||
|
||||
if ZMK_BEHAVIOR_TAP_DANCE
|
||||
|
||||
config ZMK_BEHAVIOR_TAP_DANCE_MAX_HELD
|
||||
default 10
|
||||
|
||||
endif
|
||||
|
||||
# Underglow
|
||||
if ZMK_RGB_UNDERGLOW
|
||||
|
||||
# This default value cuts down on tons of excess .conf files, if you're using GPIO, manually disable this
|
||||
config SPI
|
||||
default y
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_EXT_POWER
|
||||
default y
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_BRT_MIN
|
||||
default 0
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_BRT_MAX
|
||||
default 100
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_HUE_STEP
|
||||
default 10
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_SAT_STEP
|
||||
default 10
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_BRT_STEP
|
||||
default 10
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_HUE_START
|
||||
default 0
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_SAT_START
|
||||
default 100
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_BRT_START
|
||||
default ZMK_RGB_UNDERGLOW_BRT_MAX
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_SPD_START
|
||||
default 3
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_EFF_START
|
||||
default 0
|
||||
|
||||
config ZMK_RGB_UNDERGLOW_ON_START
|
||||
default y
|
||||
|
||||
endif # ZMK_RGB_UNDERGLOW
|
||||
|
||||
# Backlight
|
||||
if ZMK_BACKLIGHT
|
||||
|
||||
config ZMK_BACKLIGHT_BRT_STEP
|
||||
default 20
|
||||
|
||||
config ZMK_BACKLIGHT_BRT_START
|
||||
default 40
|
||||
|
||||
config ZMK_BACKLIGHT_ON_START
|
||||
default y
|
||||
|
||||
endif # ZMK_BACKLIGHT
|
||||
|
||||
# Ext_power
|
||||
config ZMK_EXT_POWER
|
||||
default y
|
||||
|
||||
# Battery
|
||||
config ZMK_BATTERY_REPORT_INTERVAL
|
||||
default 60
|
||||
|
||||
# Imports
|
||||
rsource "src/split/Kconfig.defaults"
|
||||
@@ -3,7 +3,7 @@ VERSION_MAJOR = 0
|
||||
# x-release-please-end
|
||||
|
||||
# x-release-please-start-minor
|
||||
VERSION_MINOR = 1
|
||||
VERSION_MINOR = 3
|
||||
# x-release-please-end
|
||||
|
||||
# x-release-please-start-patch
|
||||
|
||||
2
app/boards/aliases.cmake
Normal file
2
app/boards/aliases.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
# defines board aliases for shorter names (or for renaming boards)
|
||||
set(mikoto_520_BOARD_ALIAS "mikoto")
|
||||
@@ -6,7 +6,7 @@ if BOARD_GLOVE80_LH
|
||||
config BOARD
|
||||
default "glove80 lh"
|
||||
|
||||
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||
config ZMK_SPLIT_ROLE_CENTRAL
|
||||
default y
|
||||
|
||||
endif # BOARD_GLOVE80_LH
|
||||
|
||||
@@ -2,17 +2,17 @@ config BOARD_ENABLE_DCDC
|
||||
bool "Enable DCDC mode"
|
||||
select SOC_DCDC_NRF52X
|
||||
default y
|
||||
depends on (BOARD_MIKOTO_520)
|
||||
depends on (BOARD_MIKOTO)
|
||||
|
||||
config BOARD_ENABLE_DCDC_HV
|
||||
bool "High voltage DCDC converter"
|
||||
select SOC_DCDC_NRF52X_HV
|
||||
default y
|
||||
depends on (BOARD_MIKOTO_520)
|
||||
default n
|
||||
depends on (BOARD_MIKOTO)
|
||||
|
||||
choice BOARD_MIKOTO_CHARGER_CURRENT
|
||||
prompt "Charge current to supply to attached batteries"
|
||||
depends on (BOARD_MIKOTO_520)
|
||||
depends on (BOARD_MIKOTO)
|
||||
|
||||
config BOARD_MIKOTO_CHARGER_CURRENT_40MA
|
||||
bool "40mA charge current, for battery capacity 40mAh or higher"
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
# Copyright (c) 2020 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config BOARD_MIKOTO_520
|
||||
bool "mikoto_520"
|
||||
config BOARD_MIKOTO
|
||||
bool "mikoto"
|
||||
depends on SOC_NRF52840_QIAA
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# Copyright (c) 2020 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
if BOARD_MIKOTO_520
|
||||
if BOARD_MIKOTO
|
||||
|
||||
config BOARD
|
||||
default "mikoto"
|
||||
@@ -25,4 +25,4 @@ choice BOARD_MIKOTO_CHARGER_CURRENT
|
||||
default BOARD_MIKOTO_CHARGER_CURRENT_100MA
|
||||
endchoice
|
||||
|
||||
endif # BOARD_MIKOTO_520
|
||||
endif # BOARD_MIKOTO
|
||||
|
||||
59
app/boards/arm/mikoto/arduino_pro_micro_pins_v6.dtsi
Normal file
59
app/boards/arm/mikoto/arduino_pro_micro_pins_v6.dtsi
Normal file
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
|
||||
/ {
|
||||
pro_micro: connector {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 4 0> /* D0 */
|
||||
, <1 0 &gpio0 8 0> /* D1 */
|
||||
, <2 0 &gpio0 17 0> /* D2 */
|
||||
, <3 0 &gpio0 20 0> /* D3 */
|
||||
, <4 0 &gpio0 22 0> /* D4/A6 */
|
||||
, <5 0 &gpio0 24 0> /* D5 */
|
||||
, <6 0 &gpio1 8 0> /* D6/A7 */
|
||||
, <7 0 &gpio1 2 0> /* D7 */
|
||||
, <8 0 &gpio1 4 0> /* D8/A8 */
|
||||
, <9 0 &gpio1 6 0> /* D9/A9 */
|
||||
, <10 0 &gpio0 9 0> /* D10/A10 */
|
||||
, <16 0 &gpio0 10 0> /* D16 */
|
||||
, <14 0 &gpio1 13 0> /* D14 */
|
||||
, <15 0 &gpio0 2 0> /* D15 */
|
||||
, <18 0 &gpio0 29 0> /* D18/A0 */
|
||||
, <19 0 &gpio0 31 0> /* D19/A1 */
|
||||
, <20 0 &gpio0 25 0> /* D20/A2 */
|
||||
, <21 0 &gpio0 11 0> /* D21/A3 */
|
||||
;
|
||||
};
|
||||
|
||||
pro_micro_a: connector_a {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 29 0> /* D18/A0 */
|
||||
, <1 0 &gpio0 31 0> /* D19/A1 */
|
||||
, <2 0 &gpio0 25 0> /* D20/A2 */
|
||||
, <3 0 &gpio0 11 0> /* D21/A3 */
|
||||
, <6 0 &gpio0 22 0> /* D4/A6 */
|
||||
, <7 0 &gpio1 8 0> /* D6/A7 */
|
||||
, <8 0 &gpio1 4 0> /* D8/A8 */
|
||||
, <9 0 &gpio1 6 0> /* D9/A9 */
|
||||
, <10 0 &gpio0 9 0> /* D10/A10 */
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
pro_micro_d: &pro_micro {};
|
||||
pro_micro_i2c: &i2c0 {};
|
||||
pro_micro_spi: &spi0 {};
|
||||
pro_micro_serial: &uart0 {};
|
||||
@@ -6,8 +6,6 @@
|
||||
|
||||
/dts-v1/;
|
||||
#include <nordic/nrf52840_qiaa.dtsi>
|
||||
#include "arduino_pro_micro_pins.dtsi"
|
||||
#include "mikoto_520-pinctrl.dtsi"
|
||||
|
||||
/ {
|
||||
model = "mikoto";
|
||||
@@ -1,5 +1,5 @@
|
||||
identifier: mikoto_520
|
||||
name: mikoto_520
|
||||
identifier: mikoto
|
||||
name: mikoto
|
||||
type: mcu
|
||||
arch: arm
|
||||
toolchain:
|
||||
@@ -1,6 +1,6 @@
|
||||
file_format: "1"
|
||||
id: mikoto_520
|
||||
name: Mikoto 5.20
|
||||
id: mikoto
|
||||
name: Mikoto
|
||||
type: board
|
||||
arch: arm
|
||||
outputs:
|
||||
@@ -8,3 +8,9 @@ outputs:
|
||||
- ble
|
||||
url: https://github.com/zhiayang/mikoto
|
||||
exposes: [pro_micro]
|
||||
revisions:
|
||||
- "5.20"
|
||||
- "6.1"
|
||||
- "6.3"
|
||||
- "7.2"
|
||||
default_revision: "5.20"
|
||||
8
app/boards/arm/mikoto/mikoto_5_20_0.overlay
Normal file
8
app/boards/arm/mikoto/mikoto_5_20_0.overlay
Normal file
@@ -0,0 +1,8 @@
|
||||
/*
|
||||
* Copyright (c) 2023 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "mikoto-pinctrl.dtsi"
|
||||
#include "arduino_pro_micro_pins_v5.dtsi"
|
||||
8
app/boards/arm/mikoto/mikoto_6_1_0.overlay
Normal file
8
app/boards/arm/mikoto/mikoto_6_1_0.overlay
Normal file
@@ -0,0 +1,8 @@
|
||||
/*
|
||||
* Copyright (c) 2023 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "mikoto-pinctrl.dtsi"
|
||||
#include "arduino_pro_micro_pins_v6.dtsi"
|
||||
2
app/boards/arm/mikoto/mikoto_7_2_0.conf
Normal file
2
app/boards/arm/mikoto/mikoto_7_2_0.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
CONFIG_I2C=y
|
||||
CONFIG_ZMK_MAX17048=y
|
||||
47
app/boards/arm/mikoto/mikoto_7_2_0.overlay
Normal file
47
app/boards/arm/mikoto/mikoto_7_2_0.overlay
Normal file
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Copyright (c) 2023 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "mikoto-pinctrl.dtsi"
|
||||
#include "arduino_pro_micro_pins_v6.dtsi"
|
||||
|
||||
&pinctrl {
|
||||
i2c1_default: i2c1_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(TWIM_SDA, 0, 23)>,
|
||||
<NRF_PSEL(TWIM_SCL, 0, 19)>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
i2c1_sleep: i2c1_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(TWIM_SDA, 0, 23)>,
|
||||
<NRF_PSEL(TWIM_SCL, 0, 19)>;
|
||||
low-power-enable;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
compatible = "nordic,nrf-twi";
|
||||
pinctrl-0 = <&i2c1_default>;
|
||||
pinctrl-1 = <&i2c1_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
builtin_fuel_gauge: max17048@36 {
|
||||
compatible = "zmk,maxim-max17048";
|
||||
status = "okay";
|
||||
reg = <0x36>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,battery = &builtin_fuel_gauge;
|
||||
};
|
||||
};
|
||||
@@ -2,11 +2,10 @@
|
||||
|
||||
CONFIG_SOC_SERIES_NRF52X=y
|
||||
CONFIG_SOC_NRF52840_QIAA=y
|
||||
CONFIG_BOARD_MIKOTO_520=y
|
||||
CONFIG_BOARD_MIKOTO=y
|
||||
|
||||
# Enable MPU
|
||||
CONFIG_ARM_MPU=y
|
||||
|
||||
CONFIG_PINCTRL=y
|
||||
|
||||
# enable GPIO
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
static int pinmux_mikoto_init(void) {
|
||||
|
||||
#if CONFIG_BOARD_MIKOTO_520
|
||||
#if CONFIG_BOARD_MIKOTO
|
||||
const struct device *p0 = DEVICE_DT_GET(DT_NODELABEL(gpio0));
|
||||
const struct device *p1 = DEVICE_DT_GET(DT_NODELABEL(gpio1));
|
||||
#if CONFIG_BOARD_MIKOTO_CHARGER_CURRENT_40MA
|
||||
|
||||
7
app/boards/arm/mikoto/revision.cmake
Normal file
7
app/boards/arm/mikoto/revision.cmake
Normal file
@@ -0,0 +1,7 @@
|
||||
board_check_revision(FORMAT MAJOR.MINOR.PATCH
|
||||
DEFAULT_REVISION 5.20.0
|
||||
VALID_REVISIONS
|
||||
5.20.0 # first public release
|
||||
6.1.0 6.3.0 # incompatible pinout change from v5+
|
||||
7.2.0 # addition of MAX17048; compatible pinout with v6+
|
||||
)
|
||||
@@ -9,5 +9,5 @@ config BOARD_ENABLE_DCDC
|
||||
config BOARD_ENABLE_DCDC_HV
|
||||
bool "High voltage DCDC converter"
|
||||
select SOC_DCDC_NRF52X_HV
|
||||
default y
|
||||
default n
|
||||
depends on (BOARD_NICE_NANO_V2)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
file_format: "1"
|
||||
id: seeeduino_xiao
|
||||
name: Seeeduino XIAO
|
||||
name: Seeed Studio XIAO SAMD21
|
||||
type: board
|
||||
arch: arm
|
||||
outputs:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
file_format: "1"
|
||||
id: seeeduino_xiao_ble
|
||||
name: Seeeduino XIAO BLE
|
||||
name: Seeed Studio XIAO nRF52840
|
||||
type: board
|
||||
arch: arm
|
||||
outputs:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
file_format: "1"
|
||||
id: seeeduino_xiao_rp2040
|
||||
name: Seeeduino XIAO RP2040
|
||||
name: Seeed Studio XIAO RP2040
|
||||
type: board
|
||||
arch: arm
|
||||
outputs:
|
||||
|
||||
@@ -5,9 +5,9 @@ type: interconnect
|
||||
url: https://wiki.seeedstudio.com/Seeeduino-XIAO/
|
||||
manufacturer: Seeed
|
||||
description: |
|
||||
The Seeed(uino) XIAO is a popular smaller format micro-controller, that has gained popularity as an alternative
|
||||
The Seeed Studio XIAO is a popular smaller format micro-controller, that has gained popularity as an alternative
|
||||
to the SparkFun Pro Micro. Since its creation, several pin compatible controllers, such
|
||||
as the Seeeduino XIAO BLE, Adafruit QT Py and Adafruit QT Py RP2040, have become available.
|
||||
as the Seeed Studio XIAO nRF52840 (also known as XIAO BLE), Adafruit QT Py and Adafruit QT Py RP2040, have become available.
|
||||
node_labels:
|
||||
gpio: xiao_d
|
||||
i2c: xiao_i2c
|
||||
|
||||
12
app/boards/nrf52840dongle_nrf52840.conf
Normal file
12
app/boards/nrf52840dongle_nrf52840.conf
Normal file
@@ -0,0 +1,12 @@
|
||||
# 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
|
||||
@@ -3,3 +3,10 @@ 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
|
||||
15
app/boards/rpi_pico.overlay
Normal file
15
app/boards/rpi_pico.overlay
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
&uart0 { status = "disabled"; };
|
||||
|
||||
&code_partition {
|
||||
reg = <0x100 (DT_SIZE_M(2) - 0x100 - DT_SIZE_K(512))>;
|
||||
};
|
||||
|
||||
&flash0 {
|
||||
partitions {
|
||||
storage_partition: partition@180000 {
|
||||
reg = <0x180000 DT_SIZE_K(512)>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
50
app/boards/shields/a_dux/a_dux-layouts.dtsi
Normal file
50
app/boards/shields/a_dux/a_dux-layouts.dtsi
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright (c) 2025 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
#include <physical_layouts.dtsi>
|
||||
|
||||
/ {
|
||||
physical_layout0: physical_layout_0 {
|
||||
compatible = "zmk,physical-layout";
|
||||
display-name = "Default";
|
||||
|
||||
keys // w h x y rot rx ry
|
||||
= <&key_physical_attrs 100 100 0 133 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 31 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 28 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 42 0 0 0>
|
||||
, <&key_physical_attrs 100 100 800 42 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 28 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 31 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 133 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 233 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 131 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 128 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 142 0 0 0>
|
||||
, <&key_physical_attrs 100 100 800 142 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 128 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 131 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 233 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 333 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 231 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 228 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 242 0 0 0>
|
||||
, <&key_physical_attrs 100 100 800 242 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 228 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 231 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 333 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 375 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 400 0 0 0>
|
||||
, <&key_physical_attrs 100 100 700 400 0 0 0>
|
||||
, <&key_physical_attrs 100 100 800 375 0 0 0>
|
||||
;
|
||||
};
|
||||
};
|
||||
@@ -5,12 +5,18 @@
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
#include "a_dux-layouts.dtsi"
|
||||
|
||||
&physical_layout0 {
|
||||
transform = <&default_transform>;
|
||||
};
|
||||
|
||||
|
||||
/ {
|
||||
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
zmk,physical-layout = &physical_layout0;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
@@ -49,5 +55,4 @@
|
||||
<&pro_micro 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
// This is a sample keymap intended to be replaced with your own
|
||||
base_layer {
|
||||
display-name = "Base Layer";
|
||||
bindings = <
|
||||
&kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P
|
||||
&kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp ESC &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp MINUS
|
||||
&kp TAB &kp A &kp S &kp D &kp F &kp G &kp BSPC &kp H &kp J &kp K &kp L &kp SEMI &kp RSHFT
|
||||
@@ -29,6 +30,7 @@
|
||||
>;
|
||||
};
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
bindings = <
|
||||
&trans &none &none &none &none &none &none &kp EQUAL &kp PLUS &kp STAR &kp PRCNT &trans
|
||||
&trans &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &trans &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &trans
|
||||
@@ -38,6 +40,7 @@
|
||||
>;
|
||||
};
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
bindings = <
|
||||
&trans &kp BSLH &kp EXCL &kp AMPS &kp PIPE &none &none &kp EQUAL &kp PLUS &kp STAR &kp PRCNT &trans
|
||||
&trans &kp HASH &kp GRAVE &kp DQT &kp SQT &kp TILDE &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp DLLR &trans
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// | Esc | Vol Up | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del |
|
||||
// | Home | Vol Dn | ` | 1 | 2 | 3 | 4 | 5 | 6 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bk Spc |
|
||||
// | End | Tab | Tab | Q | W | E | R | T | Y | T | Y | U | I | O | P | [ | ] | \ |
|
||||
@@ -36,6 +37,7 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// | | | | | | | | | | | | | | | | | | |
|
||||
// | | | | | | | | | | | | | | | | | | |
|
||||
// | | | | | | | | | | | | | | | | | | |
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
|
||||
bindings = <
|
||||
&tog 1 &kp C_PREV &kp C_PP &kp C_NEXT
|
||||
@@ -23,6 +24,7 @@
|
||||
};
|
||||
|
||||
num_layer {
|
||||
display-name = "Num Layer";
|
||||
bindings = <
|
||||
&trans &kp N7 &kp N8 &kp N9
|
||||
&trans &kp N4 &kp N5 &kp N6
|
||||
@@ -31,6 +33,7 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
bindings = <
|
||||
&bt BT_CLR &none &sys_reset &bootloader
|
||||
&trans &bt BT_SEL 3 &bt BT_SEL 4 &none
|
||||
@@ -39,6 +42,7 @@
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
bindings = <
|
||||
&kp 0x68 &kp 0x69 &kp 0x6A &kp 0x6B
|
||||
&kp 0x6C &kp 0x6D &kp 0x6E &kp 0x6F
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// ------------------------------------------------------------------------------------------
|
||||
// | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BSPC |
|
||||
// | TAB | Q | W | E | R | T | Y | U | I | O | P | \ |
|
||||
@@ -33,6 +34,7 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// -------------------------------------------------------------------------------------------
|
||||
// | ESC | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
// | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | DEL |
|
||||
@@ -49,6 +51,7 @@
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
// ------------------------------------------------------------------------------------------
|
||||
// | ESC | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
// | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | DEL |
|
||||
@@ -65,6 +68,7 @@
|
||||
};
|
||||
|
||||
adjust_layer {
|
||||
display-name = "Adjust Layer";
|
||||
// ------------------------------------------------------------------------------------------
|
||||
// |tog(4)| F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
// | | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |LALT(PRTSN)|
|
||||
@@ -81,6 +85,7 @@
|
||||
};
|
||||
|
||||
flock_layer {
|
||||
display-name = "Flock Layer";
|
||||
// ----------------------------------------------------------------------------------------------
|
||||
// |tog(4) | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | |
|
||||
// |out tog|BT_SEL 0|BT_SEL 1|BT_SEL 2|BT_SEL 3|BT_SEL 4|BT_PRV|BT_NXT|BT_CLR| | | |
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
|
||||
bindings = <
|
||||
&kp ESC &kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS &kp EQUAL &kp BSPC
|
||||
@@ -26,6 +27,7 @@
|
||||
};
|
||||
|
||||
function_layer {
|
||||
display-name = "Function Layer";
|
||||
|
||||
bindings = <
|
||||
&bootloader &out OUT_TOG &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &trans
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
MAIN_layer {
|
||||
display-name = "Main Layer";
|
||||
bindings = <
|
||||
&kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O
|
||||
&kp Q &kp A &kp S &kp D < SYM F &kp G &kp H < SYM J &kp K &kp L &kp SQT &kp P
|
||||
@@ -84,6 +85,7 @@
|
||||
};
|
||||
|
||||
SYM_layer {
|
||||
display-name = "Sym Layer";
|
||||
bindings = <
|
||||
&kp N7 &kp N8 &kp N9 &kp STAR &kp DLLR &kp LBRC &kp RBRC &kp HASH
|
||||
&kp AMPS &kp EXCL &kp N1 &kp N2 &kp N3 &kp EQUAL &kp LT &kp LPAR &kp RPAR &kp GT &kp PIPE &none
|
||||
@@ -93,6 +95,7 @@
|
||||
};
|
||||
|
||||
NAV_layer {
|
||||
display-name = "Nav Layer";
|
||||
bindings = <
|
||||
&kp C_VOL_DN &kp C_VOL_UP &kp C_NEXT &kp C_PP &none &kp F7 &kp F8 &kp F9
|
||||
&kp C_PREV &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp LC(TAB) &kp PSCRN &kp F1 &kp F2 &kp F3 &kp F10 &kp F12
|
||||
@@ -102,6 +105,7 @@
|
||||
};
|
||||
|
||||
BT_layer {
|
||||
display-name = "BT Layer";
|
||||
bindings = <
|
||||
&none &none &none &none &none &none &none &none
|
||||
&none &none &none &none &none &none &none &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &none
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp N9 &kp N8
|
||||
&kp N7 &kp N6
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp ESC &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSPC
|
||||
&kp TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
||||
@@ -26,6 +27,7 @@
|
||||
};
|
||||
|
||||
num_mods {
|
||||
display-name = "Num Mods";
|
||||
bindings = <
|
||||
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp DEL
|
||||
&kp TAB &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp MINUS &kp PG_UP &kp LBKT &kp RBKT &kp BSLH
|
||||
@@ -35,6 +37,7 @@
|
||||
};
|
||||
|
||||
bt_control {
|
||||
display-name = "Bt Control";
|
||||
bindings = <
|
||||
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | BSPC |
|
||||
// | CTRL | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
@@ -26,6 +27,7 @@
|
||||
>;
|
||||
};
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | TAB | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BSPC |
|
||||
// | BTCLR| BT1 | BT2 | BT3 | BT4 | BT5 | | LFT | DWN | UP | RGT | | |
|
||||
@@ -40,6 +42,7 @@
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | TAB | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BSPC |
|
||||
// | CTRL | | | | | | | - | = | [ | ] | \ | ` |
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
|
||||
//│ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │
|
||||
@@ -50,6 +51,7 @@
|
||||
};
|
||||
|
||||
right_layer {
|
||||
display-name = "Right Layer";
|
||||
bindings = <
|
||||
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
|
||||
//│ INSERT │ 1 │ 2 │ 3 │ │ │ HOME │ PAGE DN │ PAGE UP │ END │ : │
|
||||
@@ -67,6 +69,7 @@
|
||||
};
|
||||
|
||||
left_layer {
|
||||
display-name = "Left Layer";
|
||||
bindings = <
|
||||
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
|
||||
//│ │ [ │ { │ } │ │ │ ^ │ ( │ ) │ ] │ ~ │
|
||||
@@ -84,6 +87,7 @@
|
||||
};
|
||||
|
||||
tri_layer {
|
||||
display-name = "Tri Layer";
|
||||
bindings = <
|
||||
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
|
||||
//│ RESET │ │ │ │PROFILE 0 │ │ │ │ │ │ RESET │
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | TAB | Q | W | E | R | T | Y | U | I | O | P | BSPC |
|
||||
// | ESC | A | S | D | F | G | H | J | K | L | ; | ' |
|
||||
@@ -29,6 +30,7 @@
|
||||
};
|
||||
|
||||
lower {
|
||||
display-name = "Lower";
|
||||
bindings = <
|
||||
&kp LS(GRAVE) &kp LS(N1) &kp LS(N2) &kp LS(N3) &kp LS(N4) &kp LS(N5) &kp LS(N6) &kp LS(N7) &kp LS(N8) &kp LS(N9) &kp LS(N0) &kp DEL
|
||||
&kp DEL &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE
|
||||
@@ -40,6 +42,7 @@
|
||||
};
|
||||
|
||||
raise {
|
||||
display-name = "Raise";
|
||||
bindings = <
|
||||
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BSPC
|
||||
&kp DEL &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH
|
||||
@@ -51,6 +54,7 @@
|
||||
};
|
||||
|
||||
control {
|
||||
display-name = "Control";
|
||||
bindings = <
|
||||
&sys_reset &bootloader &bt BT_CLR &bt BT_PRV &bt BT_NXT &trans &trans &trans &trans &trans &trans &trans
|
||||
&bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default {
|
||||
display-name = "Default";
|
||||
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
// Q | W | E | R | T | | Y | U | I | O | P |
|
||||
// A | S | D | F | G | | H | J | K | L | ; |
|
||||
@@ -27,6 +28,7 @@
|
||||
>;
|
||||
};
|
||||
numbers {
|
||||
display-name = "Numbers";
|
||||
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
// 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
|
||||
// TAB | BT_PRV | BT_NXT | VOL-| VOL+| | < | v | ∧ | > | ' |
|
||||
@@ -40,6 +42,7 @@
|
||||
>;
|
||||
};
|
||||
symbols {
|
||||
display-name = "Symbols";
|
||||
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
// ESC | F1 | F2 | F3 | F4 | | OUT_USB | OUT_BLE | | = | - |
|
||||
// CAPS| F5 | F6 | F7 | F8 | | [ | ] | | ` | \ |
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
< ADJT ESC &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp DEL
|
||||
&mt LCTRL TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
||||
@@ -27,6 +28,7 @@
|
||||
};
|
||||
|
||||
lower {
|
||||
display-name = "Lower";
|
||||
bindings = <
|
||||
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp C_PLAY_PAUSE
|
||||
&trans &trans &trans &trans &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans &trans
|
||||
@@ -35,6 +37,7 @@
|
||||
>;
|
||||
};
|
||||
raise {
|
||||
display-name = "Raise";
|
||||
bindings = <
|
||||
&kp TILDE &trans &trans &trans &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp C_PLAY_PAUSE
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp BSLH
|
||||
@@ -44,6 +47,7 @@
|
||||
};
|
||||
|
||||
adjust {
|
||||
display-name = "Adjust";
|
||||
bindings = <
|
||||
&trans &bt BT_NXT &bt BT_PRV &trans &trans &bt BT_CLR &trans &trans &trans &trans &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
/* QWERTY
|
||||
* .----------------------------------------------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | [ | | ] | 6 | 7 | 8 | 9 | 0 | PScr |
|
||||
@@ -40,6 +41,7 @@
|
||||
>;
|
||||
};
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
/* .----------------------------------------------------------------------------------------------------------------------.
|
||||
* | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
|
||||
* |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
|
||||
@@ -61,6 +63,7 @@
|
||||
>;
|
||||
};
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
/* .----------------------------------------------------------------------------------------------------------------------.
|
||||
* | | BT 0 | BT 1 | BT 2 | BT 3 | | BTCL | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6
|
||||
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp N7
|
||||
@@ -34,6 +35,7 @@
|
||||
};
|
||||
|
||||
arrow_layer {
|
||||
display-name = "Arrow Layer";
|
||||
bindings = <
|
||||
&bt BT_SEL 0 &bt BT_SEL 1 &trans &trans &trans &out OUT_USB &out OUT_BLE
|
||||
&trans &trans &kp UP &trans &rgb_ug RGB_TOG &rgb_ug RGB_HUI &rgb_ug RGB_HUD
|
||||
@@ -44,6 +46,7 @@
|
||||
};
|
||||
|
||||
function_layer {
|
||||
display-name = "Function Layer";
|
||||
bindings = <
|
||||
&trans &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6
|
||||
&trans &kp P &kp O &kp I &kp U &kp Y &kp F7
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6
|
||||
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp N7
|
||||
@@ -34,6 +35,7 @@
|
||||
};
|
||||
|
||||
arrow_layer {
|
||||
display-name = "Arrow Layer";
|
||||
bindings = <
|
||||
&bt BT_SEL 0 &bt BT_SEL 1 &trans &trans &trans &out OUT_USB &out OUT_BLE
|
||||
&trans &trans &kp UP &trans &rgb_ug RGB_TOG &rgb_ug RGB_HUI &rgb_ug RGB_HUD
|
||||
@@ -44,6 +46,7 @@
|
||||
};
|
||||
|
||||
function_layer {
|
||||
display-name = "Function Layer";
|
||||
bindings = <
|
||||
&trans &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6
|
||||
&trans &kp P &kp O &kp I &kp U &kp Y &kp F7
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
// ------------------------------------------- -----------------------------------------------
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp ESC &kp Q &kp W &kp E &kp R &kp T /**/ &kp Y &kp U &kp I &kp O &kp P &none &kp BACKSPACE
|
||||
&kp TAB &kp A &kp S &kp D &kp F &kp G /**/ &kp H &kp J &kp K &kp L &kp SQT &kp ENTER
|
||||
@@ -37,6 +38,7 @@
|
||||
// ------------------------------------------- -----------------------------------------------
|
||||
|
||||
symbols_layer {
|
||||
display-name = "Symbols Layer";
|
||||
bindings = <
|
||||
&kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 /**/ &kp N7 &kp N8 &kp N9 &kp N0 &kp PSCRN &none &kp DEL
|
||||
&kp GRAVE &none &kp LEFT &kp UP &kp RIGHT &kp C_VOL_UP /**/ &kp LBKT &kp RBKT &kp MINUS &kp EQUAL &kp SEMI &kp BACKSLASH
|
||||
@@ -53,6 +55,7 @@
|
||||
// ------------------------------------------- -----------------------------------------------
|
||||
|
||||
fn_layer {
|
||||
display-name = "Fn Layer";
|
||||
bindings = <
|
||||
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 /**/ &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &none &kp F12
|
||||
&kp CAPS &none &kp HOME &kp PG_UP &kp END &none /**/ &none &none &none &none &none &none
|
||||
|
||||
@@ -25,6 +25,7 @@ As such, those are in use within the default layer at this time.*/
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------
|
||||
// | GRAVE | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | DEL |
|
||||
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | BSPC |
|
||||
@@ -40,6 +41,7 @@ As such, those are in use within the default layer at this time.*/
|
||||
>;
|
||||
};
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------
|
||||
// | | | | | | | | | | | | | |
|
||||
// | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
|
||||
@@ -55,6 +57,7 @@ As such, those are in use within the default layer at this time.*/
|
||||
>;
|
||||
};
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------
|
||||
// | | | | | | | | | | | | | |
|
||||
// | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | DEL |
|
||||
@@ -70,6 +73,7 @@ As such, those are in use within the default layer at this time.*/
|
||||
>;
|
||||
};
|
||||
adjust_layer {
|
||||
display-name = "Adjust Layer";
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------
|
||||
// | ` | ! | @ | # | $ | % | | ^ | & | * | ( | ) | EP TOG |
|
||||
// | BT CLR | BT SEL0 | BT SEL1 | BT SEL2 | BGT SEL3 | BT SEL4 | | RGB EFF+ | RGB HUE+ | RGB SAT+ | RGB SPD+ | RGB BRI+ | RGB TOG |
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp Q &kp W &kp E &kp R &kp T &kp H &kp U &kp I &kp O &kp P
|
||||
&hm LGUI A &hm LALT S &hm LCTRL D &hm LSHFT F &kp G &kp N &hm RSHFT J &hm RCTRL K &hm LALT L &hm RGUI SQT
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
|
||||
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | - |
|
||||
@@ -29,6 +30,7 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// | BTCLR | BT1 | BT2 | BT3 | BT4 | BT5 | | | | | | | |
|
||||
// | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
@@ -45,6 +47,7 @@
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// | | | | | | | | | | | | | |
|
||||
// | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS
|
||||
&kp LGUI &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp LBKT &mt RGUI RBKT
|
||||
@@ -23,6 +24,7 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
bindings = <
|
||||
&kp GRAVE &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp EQUAL
|
||||
&kp F11 &kp TAB &bt BT_CLR &kp HOME &sys_reset &kp PG_UP &kp C_VOL_UP &kp C_VOL_UP &kp PG_UP &studio_unlock &kp HOME &kp INS &kp DEL &kp F12
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
|
||||
bindings = <
|
||||
&trans &kp EQUAL &kp KP_SLASH &kp KP_MULTIPLY &kp KP_MINUS
|
||||
@@ -26,6 +27,7 @@
|
||||
};
|
||||
|
||||
num_layer {
|
||||
display-name = "Num Layer";
|
||||
bindings = <
|
||||
&trans &bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2
|
||||
&trans &kp HOME &trans &kp PAGE_UP &trans
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------
|
||||
// | ESC | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
// | TAB | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
@@ -28,6 +29,7 @@
|
||||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>;
|
||||
};
|
||||
function_layer {
|
||||
display-name = "Function Layer";
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------
|
||||
// | | |BT_CLR|BTSEL0|BTSEL1|BTSEL2| | | | | | | |
|
||||
// | | | |BTSEL3|BTSEL4| | | | | | | | |
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------
|
||||
// | ESC | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
// | TAB | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
@@ -28,6 +29,7 @@
|
||||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>;
|
||||
};
|
||||
function_layer {
|
||||
display-name = "Function Layer";
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------
|
||||
// | | |BT_CLR|BTSEL0|BTSEL1|BTSEL2| | | | | | | |
|
||||
// | | | |BTSEL3|BTSEL4| | | | | | | | |
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------
|
||||
// | ESC | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
// | TAB | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
@@ -36,6 +37,7 @@
|
||||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>;
|
||||
};
|
||||
function_layer {
|
||||
display-name = "Function Layer";
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------
|
||||
// | | |BT_CLR|BTSEL0|BTSEL1|BTSEL2| | | | | | | |
|
||||
// | | | |BTSEL3|BTSEL4| | | | | | | | |
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
|
||||
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | - |
|
||||
@@ -32,6 +33,7 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// | BTCLR | BT1 | BT2 | BT3 | BT4 | BT5 | | | | | | | |
|
||||
// | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
@@ -50,6 +52,7 @@
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// | | | | | | | | | | | | | |
|
||||
// | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||
|
||||
71
app/boards/shields/lotus58/lotus58-layouts.dtsi
Normal file
71
app/boards/shields/lotus58/lotus58-layouts.dtsi
Normal file
@@ -0,0 +1,71 @@
|
||||
#include <physical_layouts.dtsi>
|
||||
|
||||
/ {
|
||||
physical_layout0: physical_layout_0 {
|
||||
compatible = "zmk,physical-layout";
|
||||
display-name = "Default";
|
||||
|
||||
keys // w h x y rot rx ry
|
||||
= <&key_physical_attrs 100 100 0 50 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 37 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 12 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 12 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 25 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1050 25 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1150 12 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1250 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1350 12 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1450 37 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1550 50 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 150 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 137 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 112 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 112 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 125 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1050 125 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1150 112 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1250 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1350 112 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1450 137 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1550 150 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 250 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 237 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 212 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 212 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 225 0 0 0>
|
||||
, <&key_physical_attrs 100 100 625 75 0 0 0>
|
||||
, <&key_physical_attrs 100 100 925 75 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1050 225 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1150 212 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1250 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1350 212 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1450 237 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1550 250 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 350 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 337 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 312 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 300 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 312 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 325 0 0 0>
|
||||
, <&key_physical_attrs 100 100 625 275 0 0 0>
|
||||
, <&key_physical_attrs 100 100 925 275 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1050 325 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1150 312 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1250 300 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1350 312 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1450 337 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1550 350 0 0 0>
|
||||
, <&key_physical_attrs 100 100 250 412 0 0 0>
|
||||
, <&key_physical_attrs 100 100 350 415 0 0 0>
|
||||
, <&key_physical_attrs 100 100 450 425 0 0 0>
|
||||
, <&key_physical_attrs 100 150 575 400 3000 625 475>
|
||||
, <&key_physical_attrs 100 150 975 400 (-3000) 1025 475>
|
||||
, <&key_physical_attrs 100 100 1100 425 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 415 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1300 415 0 0 0>
|
||||
;
|
||||
};
|
||||
};
|
||||
@@ -6,17 +6,19 @@
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
#include "lotus58-layouts.dtsi"
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zephyr,display = &oled;
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
zmk,physical-layout = &physical_layout0;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <16>;
|
||||
rows = <4>;
|
||||
rows = <5>;
|
||||
// | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 | | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 |
|
||||
// | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 | | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 |
|
||||
// | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 | SW30 | | SW30 | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 |
|
||||
@@ -68,6 +70,10 @@ RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(4,5) RC(4,6) RC(3,6) RC(3,7
|
||||
};
|
||||
};
|
||||
|
||||
&physical_layout0 {
|
||||
transform = <&default_transform>;
|
||||
};
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// 0| ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = | 11
|
||||
// 12| TAB | Q | W | E | R | T | | Y | U | I | O | P | [ | 23
|
||||
@@ -63,6 +64,7 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// | ` | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
// | | ! | HOME| ^ | END | % | | VOL^ | PGUP | INS | ^ | PSCR | - |
|
||||
@@ -81,6 +83,7 @@
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// |BTCLR| BT1 | BT2 | BT3 | BT4 | BT5 | |OUTTOG|OUTUSB| OUTBT | | RESET | FLASH |
|
||||
// | | INS | PSCR | GUI | RESET | | | PGUP | | ^ | | | |
|
||||
|
||||
@@ -9,6 +9,7 @@ features:
|
||||
- keys
|
||||
- display
|
||||
- encoder
|
||||
- studio
|
||||
siblings:
|
||||
- lotus58_left
|
||||
- lotus58_right
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// ------------------------------------------------------------------------------------------
|
||||
// | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BSPC |
|
||||
// | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
|
||||
@@ -30,6 +31,7 @@
|
||||
};
|
||||
|
||||
fn_layer {
|
||||
display-name = "Fn Layer";
|
||||
bindings = <
|
||||
&kp GRAVE &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &bootloader
|
||||
&trans &bt BT_CLR &none &none &none &none &none &none &none &none &none &none &none &sys_reset
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | Q | W | E | R | T | | Y | U | I | O | P |
|
||||
// | A | S | D | F | G | | H | J | K | L | ; |
|
||||
@@ -26,6 +27,7 @@
|
||||
>;
|
||||
};
|
||||
nav_layer {
|
||||
display-name = "Nav Layer";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// |BTCLR| | ESC | ~ | | | TAB | HOME | UP | END | DEL |
|
||||
// | BT1 | GUI | ALT | CTRL | NUM | | / | LEFT | DOWN | RGT | BSPC |
|
||||
@@ -40,6 +42,7 @@
|
||||
};
|
||||
|
||||
sym_layer {
|
||||
display-name = "Sym Layer";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
|
||||
// | | | | | | | - | = | { | } | "|" |
|
||||
@@ -56,6 +59,7 @@
|
||||
// This layer is unreachable until "tri layer state" is sorted out.
|
||||
// Leaving it here for completeness.
|
||||
num_layer {
|
||||
display-name = "Num Layer";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | | | | | | | A | 7 | 8 | 9 | D |
|
||||
// | | | | | | | B | 4 | 5 | 6 | E |
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// ----------------------------------------------------------------------------------------------------------
|
||||
// | ESC | 1 | 2 | 3 | 4 | 5 |-------|-------| 6 | 7 | 8 | 9 | 0 | BSPC |
|
||||
// | TAB | Q | W | E | R | T |-------|-------| Y | U | I | O | P | \ |
|
||||
@@ -33,6 +34,7 @@
|
||||
};
|
||||
|
||||
lower {
|
||||
display-name = "Lower";
|
||||
// ----------------------------------------------------------------------------------------------------------
|
||||
// | ESC | F2 | F3 | F4 | F5 | F6 |-------|-------| F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
// | ~ | ! | @ | # | $ | % |-------|-------| ^ | & | * | ( | ) | DEL |
|
||||
@@ -49,6 +51,7 @@
|
||||
};
|
||||
|
||||
raise {
|
||||
display-name = "Raise";
|
||||
// ----------------------------------------------------------------------------------------------------------
|
||||
// | ESC | F2 | F3 | F4 | F5 | F6 |-------|-------| F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
// | ~ | 1 | 2 | 3 | 4 | 5 |-------|-------| 6 | 7 | 8 | 9 | 0 | DEL |
|
||||
@@ -65,6 +68,7 @@
|
||||
};
|
||||
|
||||
adjust {
|
||||
display-name = "Adjust";
|
||||
// ----------------------------------------------------------------------------------------------------------
|
||||
// |tog(4)| F2 | F3 | F4 | F5 | F6 |------|------| F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
// | | NA | NA | NA | NA | NA |------|------| NA | NA | NA | NA | NA |LALT(PRTSN)|
|
||||
@@ -81,6 +85,7 @@
|
||||
};
|
||||
|
||||
flock {
|
||||
display-name = "Flock";
|
||||
// ----------------------------------------------------------------------------------------------------------
|
||||
// |tog(4) | F2 | F3 | F4 | F5 | F6 |-------|-------| F7 | F8 | F9 | F10 | F11 | |
|
||||
// |out tog|BT_SEL 0|BT_SEL 1|BT_SEL 2|BT_SEL 3|BT_SEL 4|-------|-------|BT_PRV|BT_NXT|BT_CLR| | | |
|
||||
|
||||
@@ -4,9 +4,21 @@ The nice!view is a low-power, high refresh rate display meant to replace I2C OLE
|
||||
|
||||
This shield requires that an `&nice_view_spi` labeled SPI bus is provided with _at least_ MOSI, SCK, and CS pins defined.
|
||||
|
||||
## Custom widget
|
||||
|
||||
The nice!view shield includes a custom vertical widget.
|
||||
|
||||
Profile indicators show the status of the first five BLE profiles using numbers from 1 to 5.
|
||||
The number corresponding to the currently selected profile is drawn in a filled disk
|
||||
and the circle outline around each profile number correspond to the following states:
|
||||
|
||||
- solid outline: connected
|
||||
- dashed outline: not connected
|
||||
- no outline: not bound
|
||||
|
||||
## Disable custom widget
|
||||
|
||||
The nice!view shield includes a custom vertical widget. To use the built-in ZMK one, add the following item to your `.conf` file:
|
||||
To use the built-in ZMK widget instead of the custom nice!view one, add the following item to your `.conf` file:
|
||||
|
||||
```
|
||||
CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2023 The ZMK Contributors
|
||||
* Copyright (c) 2025 The ZMK Contributors
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
@@ -33,6 +33,8 @@ struct output_status_state {
|
||||
int active_profile_index;
|
||||
bool active_profile_connected;
|
||||
bool active_profile_bonded;
|
||||
bool profiles_connected[NICEVIEW_PROFILE_COUNT];
|
||||
bool profiles_bonded[NICEVIEW_PROFILE_COUNT];
|
||||
};
|
||||
|
||||
struct layer_status_state {
|
||||
@@ -142,15 +144,24 @@ static void draw_middle(lv_obj_t *widget, lv_color_t cbuf[], const struct status
|
||||
lv_canvas_draw_rect(canvas, 0, 0, CANVAS_SIZE, CANVAS_SIZE, &rect_black_dsc);
|
||||
|
||||
// Draw circles
|
||||
int circle_offsets[5][2] = {
|
||||
int circle_offsets[NICEVIEW_PROFILE_COUNT][2] = {
|
||||
{13, 13}, {55, 13}, {34, 34}, {13, 55}, {55, 55},
|
||||
};
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
for (int i = 0; i < NICEVIEW_PROFILE_COUNT; i++) {
|
||||
bool selected = i == state->active_profile_index;
|
||||
|
||||
if (state->profiles_connected[i]) {
|
||||
lv_canvas_draw_arc(canvas, circle_offsets[i][0], circle_offsets[i][1], 13, 0, 360,
|
||||
&arc_dsc);
|
||||
} else if (state->profiles_bonded[i]) {
|
||||
const int segments = 8;
|
||||
const int gap = 20;
|
||||
for (int j = 0; j < segments; ++j)
|
||||
lv_canvas_draw_arc(canvas, circle_offsets[i][0], circle_offsets[i][1], 13,
|
||||
360. / segments * j + gap / 2.0,
|
||||
360. / segments * (j + 1) - gap / 2.0, &arc_dsc);
|
||||
}
|
||||
|
||||
if (selected) {
|
||||
lv_canvas_draw_arc(canvas, circle_offsets[i][0], circle_offsets[i][1], 9, 0, 359,
|
||||
@@ -234,6 +245,10 @@ static void set_output_status(struct zmk_widget_status *widget,
|
||||
widget->state.active_profile_index = state->active_profile_index;
|
||||
widget->state.active_profile_connected = state->active_profile_connected;
|
||||
widget->state.active_profile_bonded = state->active_profile_bonded;
|
||||
for (int i = 0; i < NICEVIEW_PROFILE_COUNT; ++i) {
|
||||
widget->state.profiles_connected[i] = state->profiles_connected[i];
|
||||
widget->state.profiles_bonded[i] = state->profiles_bonded[i];
|
||||
}
|
||||
|
||||
draw_top(widget->obj, widget->cbuf, &widget->state);
|
||||
draw_middle(widget->obj, widget->cbuf2, &widget->state);
|
||||
@@ -245,12 +260,17 @@ static void output_status_update_cb(struct output_status_state state) {
|
||||
}
|
||||
|
||||
static struct output_status_state output_status_get_state(const zmk_event_t *_eh) {
|
||||
return (struct output_status_state){
|
||||
struct output_status_state state = {
|
||||
.selected_endpoint = zmk_endpoints_selected(),
|
||||
.active_profile_index = zmk_ble_active_profile_index(),
|
||||
.active_profile_connected = zmk_ble_active_profile_is_connected(),
|
||||
.active_profile_bonded = !zmk_ble_active_profile_is_open(),
|
||||
};
|
||||
for (int i = 0; i < MIN(NICEVIEW_PROFILE_COUNT, ZMK_BLE_PROFILE_COUNT); ++i) {
|
||||
state.profiles_connected[i] = zmk_ble_profile_is_connected(i);
|
||||
state.profiles_bonded[i] = !zmk_ble_profile_is_open(i);
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
ZMK_DISPLAY_WIDGET_LISTENER(widget_output_status, struct output_status_state,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2023 The ZMK Contributors
|
||||
* Copyright (c) 2025 The ZMK Contributors
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
@@ -8,6 +8,8 @@
|
||||
#include <lvgl.h>
|
||||
#include <zmk/endpoints.h>
|
||||
|
||||
#define NICEVIEW_PROFILE_COUNT 5
|
||||
|
||||
#define CANVAS_SIZE 68
|
||||
|
||||
#define LVGL_BACKGROUND \
|
||||
@@ -23,6 +25,8 @@ struct status_state {
|
||||
int active_profile_index;
|
||||
bool active_profile_connected;
|
||||
bool active_profile_bonded;
|
||||
bool profiles_connected[NICEVIEW_PROFILE_COUNT];
|
||||
bool profiles_bonded[NICEVIEW_PROFILE_COUNT];
|
||||
uint8_t layer_index;
|
||||
const char *layer_label;
|
||||
uint8_t wpm[10];
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
MAIN_layer {
|
||||
display-name = "Main Layer";
|
||||
bindings = <
|
||||
&kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O
|
||||
&kp Q &kp A &kp S &kp D < SYM F &kp G &kp H < SYM J &kp K &kp L &kp SQT &kp P
|
||||
@@ -84,6 +85,7 @@
|
||||
};
|
||||
|
||||
SYM_layer {
|
||||
display-name = "Sym Layer";
|
||||
bindings = <
|
||||
&kp N7 &kp N8 &kp N9 &kp STAR &kp DLLR &kp LBRC &kp RBRC &kp HASH
|
||||
&kp AMPS &kp EXCL &kp N1 &kp N2 &kp N3 &kp EQUAL &kp LT &kp LPAR &kp RPAR &kp GT &kp PIPE &none
|
||||
@@ -93,6 +95,7 @@
|
||||
};
|
||||
|
||||
NAV_layer {
|
||||
display-name = "Nav Layer";
|
||||
bindings = <
|
||||
&kp C_VOL_DN &kp C_VOL_UP &kp C_NEXT &kp C_PP &none &kp F7 &kp F8 &kp F9
|
||||
&kp C_PREV &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp LC(TAB) &kp PSCRN &kp F1 &kp F2 &kp F3 &kp F10 &kp F12
|
||||
@@ -102,6 +105,7 @@
|
||||
};
|
||||
|
||||
BT_layer {
|
||||
display-name = "BT Layer";
|
||||
bindings = <
|
||||
&none &none &none &none &none &none &none &none
|
||||
&none &none &none &none &none &none &none &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &none
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp ESC &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSPC
|
||||
&kp TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SQT &kp SEMI
|
||||
@@ -28,6 +29,7 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
bindings = <
|
||||
&kp TILDE &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp STAR &kp LPAR &kp RPAR &kp BSPC
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &kp UNDER &kp PLUS &trans &trans
|
||||
@@ -37,6 +39,7 @@
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
bindings = <
|
||||
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BSPC
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &trans &kp BSLH
|
||||
@@ -46,6 +49,7 @@
|
||||
};
|
||||
|
||||
function_layer {
|
||||
display-name = "Function Layer";
|
||||
bindings = <
|
||||
&bootloader &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &kp MINUS &kp F11 &kp F12 &trans
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P
|
||||
&hm LGUI A &hm LALT S &hm LCTRL D &hm LSHFT F &kp G &kp H &hm RSHFT J &hm RCTRL K &hm RALT L &hm RGUI RET
|
||||
@@ -37,6 +38,7 @@
|
||||
>;
|
||||
};
|
||||
num_sym {
|
||||
display-name = "Num Sym";
|
||||
bindings = <
|
||||
&kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &kp EQUAL &kp MINUS
|
||||
@@ -46,6 +48,7 @@
|
||||
};
|
||||
|
||||
nav {
|
||||
display-name = "Nav";
|
||||
bindings = <
|
||||
&bt BT_CLR &bt BT_NXT &bt BT_PRV &none &none &none &none &kp UP &none &kp BSPC
|
||||
&trans &trans &trans &trans &none &none &kp LEFT &kp DOWN &kp RIGHT &none
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
// ------------------------------------------- ------------------------------------------------------
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 /**/ &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS &kp EQUAL &kp BSPC &kp GRAVE
|
||||
&kp TAB &kp Q &kp W &kp E &kp R &kp T /**/ &kp Y &kp U &kp I &kp O &kp P &kp LBKT &kp RBKT &kp BSLH &kp HOME
|
||||
@@ -39,6 +40,7 @@
|
||||
// ------------------------------------------- ------------------------------------------------------
|
||||
|
||||
fn_layer {
|
||||
display-name = "Fn Layer";
|
||||
bindings = <
|
||||
&bt BT_CLR &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 /**/ &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &trans &bt BT_CLR
|
||||
&trans &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &trans &trans /**/ &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
|
||||
87
app/boards/shields/redox/redox-layouts.dtsi
Normal file
87
app/boards/shields/redox/redox-layouts.dtsi
Normal file
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
* Copyright (c) 2025 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <physical_layouts.dtsi>
|
||||
|
||||
/ {
|
||||
redox_physical_layout: redox_physical_layout {
|
||||
compatible = "zmk,physical-layout";
|
||||
display-name = "Default";
|
||||
|
||||
keys // w h x y rot rx ry
|
||||
= <&key_physical_attrs 100 100 0 35 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 35 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 15 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 15 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 35 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 35 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 15 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1300 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1400 15 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1500 35 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1600 35 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 135 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 135 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 115 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 115 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 135 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 85 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 85 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 135 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 115 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1300 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1400 115 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1500 135 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1600 135 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 235 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 235 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 215 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 215 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 235 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 205 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 205 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 235 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 215 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1300 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1400 215 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1500 235 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1600 235 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 335 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 335 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 315 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 300 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 315 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 335 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 335 3000 550 435>
|
||||
, <&key_physical_attrs 100 100 700 335 3000 550 435>
|
||||
, <&key_physical_attrs 100 100 900 335 (-3000) 1150 435>
|
||||
, <&key_physical_attrs 100 100 1000 335 (-3000) 1150 435>
|
||||
, <&key_physical_attrs 100 100 1100 335 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 315 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1300 300 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1400 315 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1500 335 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1600 335 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 435 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 435 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 415 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 400 0 0 0>
|
||||
, <&key_physical_attrs 100 100 450 435 1000 450 435>
|
||||
, <&key_physical_attrs 100 100 600 435 3000 550 435>
|
||||
, <&key_physical_attrs 100 100 700 435 3000 550 435>
|
||||
, <&key_physical_attrs 100 100 900 435 (-3000) 1150 435>
|
||||
, <&key_physical_attrs 100 100 1000 435 (-3000) 1150 435>
|
||||
, <&key_physical_attrs 100 100 1150 435 (-1000) 1250 435>
|
||||
, <&key_physical_attrs 100 100 1300 400 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1400 415 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1500 435 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1600 435 0 0 0>
|
||||
;
|
||||
};
|
||||
};
|
||||
@@ -5,11 +5,17 @@
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
#include "redox-layouts.dtsi"
|
||||
|
||||
|
||||
&redox_physical_layout {
|
||||
transform = <&default_transform>;
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
zmk,physical-layout = &redox_physical_layout;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
compatible = "zmk,keymap" ;
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// --------------------------------------------------------------------------------------------------------------------------------
|
||||
// | ESC | 1 | 2 | 3 | 4 | 5 | --- | 6 | 7 | 8 | 9 | 0 | BSPC |
|
||||
// | TAB | Q | W | E | R | T | ( | --- | ) | Y | U | I | O | P | - |
|
||||
@@ -32,6 +33,7 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// --------------------------------------------------------------------------------------------------------------------------
|
||||
// | ESC | 1 | 2 | 3 | 4 | 5 | --- | 6 | 7 | 8 | 9 | 0 | DEL |
|
||||
// | ESC | 1 | 2 | 3 | 4 | 5 | ( | --- | ) | 6 | 7 | 8 | 9 | 0 | DEL |
|
||||
@@ -48,6 +50,7 @@
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
// ----------------------------------------------------------------------------------------------------------------------------
|
||||
// | ESC | 1 | 2 | 3 | 4 | 5 | --- | 6 | 7 | 8 | 9 | 0 | DEL |
|
||||
// | ESC | ! | @ | # | $ | % | ( | --- | ) | ^ | & | * | ( | ) | DEL |
|
||||
@@ -64,6 +67,7 @@
|
||||
};
|
||||
|
||||
adjust_layer {
|
||||
display-name = "Adjust Layer";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | F1 | F2 | F3 | F4 | F5 | F6 | --- | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
// | TAB | | | | | | BOOTL | --- | ) | BT1 | BT2 | BT3 | BT4 | BT5 | OUTPUT TGL |
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// -------------------------------------------------------------------------------------
|
||||
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | BSPC |
|
||||
// | CTRL | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
@@ -28,6 +29,7 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// ------------------------------------------------------------------------------------
|
||||
// | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | DEL |
|
||||
// | | _ | + | { | } | "|" | | LFT | DWN | UP | RGT | ` | ~ |
|
||||
@@ -42,6 +44,7 @@
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
// ----------------------------------------------------------------------------
|
||||
// | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | DEL |
|
||||
// | | - | = | [ | ] | \ | | F1 | F2 | F3 | F4 | F5 | F6 |
|
||||
@@ -56,6 +59,7 @@
|
||||
};
|
||||
|
||||
adjust_layer {
|
||||
display-name = "Adjust Layer";
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// | RGB BRI+ | RGB SAT+ | RGB HUE+ | RGB ANI+ | | RGB TOG | | BT1 | BT2 | BT3 | BT4 | BT5 | BT CLR |
|
||||
// | RGB BRI- | RGB SAT- | RGB HUE- | RGB ANI- | | | | | | | | | |
|
||||
|
||||
52
app/boards/shields/reviung5/boards/nice_nano_v2.overlay
Normal file
52
app/boards/shields/reviung5/boards/nice_nano_v2.overlay
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Copyright (c) 2024 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <4>;
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
@@ -1,3 +1,7 @@
|
||||
# Encoder support. Uncomment to enable.
|
||||
# Uncomment the following two lines to add support for encoders
|
||||
# CONFIG_EC11=y
|
||||
# CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y
|
||||
|
||||
# Uncomment the following two lines to enable RGB underglow
|
||||
# CONFIG_ZMK_RGB_UNDERGLOW=y
|
||||
# CONFIG_WS2812_STRIP=y
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2022 The ZMK Contributors
|
||||
* Copyright (c) 2024 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
@@ -8,20 +8,31 @@
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <dt-bindings/zmk/bt.h>
|
||||
#include <dt-bindings/zmk/outputs.h>
|
||||
#include <dt-bindings/zmk/rgb.h>
|
||||
|
||||
#define BASE 0
|
||||
#define BLE 1
|
||||
#define RGB 2
|
||||
|
||||
/ {
|
||||
|
||||
behaviors {
|
||||
rgb_encoder: rgb_encoder {
|
||||
compatible = "zmk,behavior-sensor-rotate";
|
||||
#sensor-binding-cells = <0>;
|
||||
bindings = <&rgb_ug RGB_BRI>, <&rgb_ug RGB_BRD>;
|
||||
};
|
||||
};
|
||||
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
base_layer {
|
||||
display-name = "BASE";
|
||||
bindings = <
|
||||
// ╭─────────────┬──────────────┬──────────────────┬─────────────┬─────────────╮
|
||||
&mo BLE &kp C_PREVIOUS &kp C_PLAY_PAUSE &kp C_NEXT &kp C_MUTE
|
||||
// ╰─────────────┴──────────────┴──────────────────┴─────────────┴─────────────╯
|
||||
// ╭─────────┬────────────────┬──────────────────┬────────────┬────────────────╮
|
||||
&mo BLE &kp C_PREVIOUS &kp C_PLAY_PAUSE &kp C_NEXT < RGB C_MUTE
|
||||
// ╰─────────┴────────────────┴──────────────────┴────────────┴────────────────╯
|
||||
>;
|
||||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
|
||||
};
|
||||
@@ -29,10 +40,20 @@
|
||||
ble_layer {
|
||||
display-name = "BLE";
|
||||
bindings = <
|
||||
// ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮
|
||||
// ╭────────┬──────────────┬────────────┬────────────┬────────────╮
|
||||
&trans &out OUT_TOG &bt BT_PRV &bt BT_NXT &bt BT_CLR
|
||||
// ╰─────────────┴─────────────┴─────────────┴─────────────┴─────────────╯
|
||||
// ╰────────┴──────────────┴────────────┴────────────┴────────────╯
|
||||
>;
|
||||
};
|
||||
|
||||
rgb_layer {
|
||||
display-name = "RGB";
|
||||
bindings = <
|
||||
// ╭──────────────────┬─────────────────┬─────────────────┬──────────────────────────────────┬────────╮
|
||||
&rgb_ug RGB_TOG &rgb_ug RGB_EFR &rgb_ug RGB_EFF &rgb_ug RGB_COLOR_HSB(307,89,98) &trans
|
||||
// ╰──────────────────┴─────────────────┴─────────────────┴──────────────────────────────────┴────────╯
|
||||
>;
|
||||
sensor-bindings = <&rgb_encoder>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -7,3 +7,4 @@ requires: [pro_micro]
|
||||
features:
|
||||
- keys
|
||||
- encoder
|
||||
- underglow
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// | | | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | DEL |
|
||||
// | TAB | Q | W | E | R | T | Y | U | I | O | P | BSPC |
|
||||
@@ -39,6 +40,7 @@
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// --------------------------------------------------------------------------------------------
|
||||
// | | | | F9 | F10 | F11 | F12 | INS | PAU | SCR | PSCR | |
|
||||
// | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
|
||||
@@ -56,6 +58,7 @@
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
// --------------------------------------------------------------------------------------
|
||||
// | | | | F9 | F10 | F11 | F12 | MUTE | VOL+ | VOL- | PLAY | |
|
||||
// | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
|
||||
@@ -73,6 +76,7 @@
|
||||
};
|
||||
|
||||
adjust_layer {
|
||||
display-name = "Adjust Layer";
|
||||
// ------------------------------------------------------------------------------------------------------------------------
|
||||
// | | | BT CLR | BT1 | BT2 | BT3 | BT4 | BT5 | | | | BT CLR |
|
||||
// | RGB BRI+ | RGB SAT+ | RGB HUE+ | RGB ANI+ | | RGB TOG | | | | | | |
|
||||
@@ -90,6 +94,7 @@
|
||||
};
|
||||
|
||||
nav_layer {
|
||||
display-name = "Nav Layer";
|
||||
// ------------------------------------------------------------------------------------------------------------------------
|
||||
// | | | ESC | | | | | | | | | DEL |
|
||||
// | TAB | | UP | | | | | | | | | BSPC |
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// -------------------
|
||||
// | 7 | 8 | 9 |
|
||||
// | 4 | 5 | 6 |
|
||||
@@ -28,6 +29,7 @@
|
||||
};
|
||||
|
||||
nav_layer {
|
||||
display-name = "Nav Layer";
|
||||
// -----------------------
|
||||
// | BTNXT | HOME | PGUP |
|
||||
// | BTPRV | END | PGDN |
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
// --------------------------
|
||||
// | 7 | 8 | 9 |
|
||||
// | 4 | 5 | 6 |
|
||||
@@ -30,6 +31,7 @@
|
||||
};
|
||||
|
||||
nav_layer {
|
||||
display-name = "Nav Layer";
|
||||
// --------------------------
|
||||
// | BT_CLR | HOME | PGUP |
|
||||
// | _ | END | PGDN |
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user