mirror of
https://github.com/zmkfirmware/zmk.git
synced 2026-03-19 20:45:18 -05:00
Compare commits
86 Commits
v0.2.1
...
dependabot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
259c40b5d0 | ||
|
|
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 |
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 }}
|
||||
|
||||
12
.github/workflows/build.yml
vendored
12
.github/workflows/build.yml
vendored
@@ -53,11 +53,11 @@ 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
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: "14.x"
|
||||
- name: Install @actions/artifact
|
||||
@@ -191,7 +191,7 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: "14.x"
|
||||
- name: Install js-yaml
|
||||
@@ -220,7 +220,7 @@ jobs:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: "14.x"
|
||||
- name: Install js-yaml
|
||||
@@ -349,7 +349,7 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: "14.x"
|
||||
- name: Install js-yaml
|
||||
@@ -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@v9.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
|
||||
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
@@ -61,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.2.1"}
|
||||
{".":"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,
|
||||
|
||||
47
CHANGELOG.md
47
CHANGELOG.md
@@ -1,5 +1,52 @@
|
||||
# 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)
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
module.exports = {
|
||||
endOfLine: "auto",
|
||||
trailingComma: "es5",
|
||||
};
|
||||
|
||||
@@ -96,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)
|
||||
|
||||
16
app/Kconfig
16
app/Kconfig
@@ -189,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
|
||||
@@ -448,12 +444,16 @@ 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
|
||||
endmenu
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
# 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
|
||||
|
||||
|
||||
@@ -3,11 +3,11 @@ VERSION_MAJOR = 0
|
||||
# x-release-please-end
|
||||
|
||||
# x-release-please-start-minor
|
||||
VERSION_MINOR = 2
|
||||
VERSION_MINOR = 3
|
||||
# x-release-please-end
|
||||
|
||||
# x-release-please-start-patch
|
||||
PATCHLEVEL = 1
|
||||
PATCHLEVEL = 0
|
||||
# x-release-please-end
|
||||
|
||||
VERSION_TWEAK = 0
|
||||
@@ -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
|
||||
|
||||
@@ -7,7 +7,7 @@ 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_MIKOTO)
|
||||
|
||||
choice BOARD_MIKOTO_CHARGER_CURRENT
|
||||
|
||||
@@ -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 | |
|
||||
|
||||
@@ -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 | | ^ | | | |
|
||||
|
||||
@@ -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;
|
||||
|
||||
lv_canvas_draw_arc(canvas, circle_offsets[i][0], circle_offsets[i][1], 13, 0, 360,
|
||||
&arc_dsc);
|
||||
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
|
||||
// ╰─────────────┴─────────────┴─────────────┴─────────────┴─────────────╯
|
||||
// ╭────────┬──────────────┬────────────┬────────────┬────────────╮
|
||||
&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 |
|
||||
|
||||
@@ -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 @@ 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 |
|
||||
@@ -48,6 +49,7 @@ As such, those are in use within the default layer at this time.*/
|
||||
>;
|
||||
};
|
||||
lower_layer {
|
||||
display-name = "Lower Layer";
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------
|
||||
// | | | | | | | | | | | | | |
|
||||
// | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
|
||||
@@ -63,6 +65,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 |
|
||||
@@ -78,6 +81,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 |
|
||||
|
||||
@@ -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 | |
|
||||
|
||||
@@ -22,6 +22,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 | - |
|
||||
@@ -40,6 +41,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 |
|
||||
@@ -58,6 +60,7 @@
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
display-name = "Raise Layer";
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// | | | | | | | | | | | | | |
|
||||
// | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||
|
||||
@@ -63,6 +63,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
|
||||
&kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SQT
|
||||
@@ -72,6 +73,7 @@
|
||||
};
|
||||
|
||||
left_layer {
|
||||
display-name = "Left Layer";
|
||||
bindings = <
|
||||
&kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0
|
||||
&kp TAB &kp LC(S) &kp DQT &kp PIPE2 &kp HASH &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp DEL
|
||||
@@ -81,6 +83,7 @@
|
||||
};
|
||||
|
||||
right_layer {
|
||||
display-name = "Right Layer";
|
||||
bindings = <
|
||||
&kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp KP_MULTIPLY &kp LPAR &kp RPAR
|
||||
&kp HASH &kp QMARK &kp FSLH &kp COLON &kp SEMI &kp MINUS &kp KP_EQUAL &kp LBRC &kp RBRC &kp BSPC
|
||||
@@ -90,6 +93,7 @@
|
||||
};
|
||||
|
||||
tri_layer {
|
||||
display-name = "Tri Layer";
|
||||
bindings = <
|
||||
&kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &trans &trans &trans &trans &trans
|
||||
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &trans &kp PG_UP &kp K_VOL_UP &kp K_MUTE &trans
|
||||
|
||||
@@ -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 | \ |
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Copyright (c) 2025 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <physical_layouts.dtsi>
|
||||
|
||||
/ {
|
||||
tester_position_map {
|
||||
compatible = "zmk,physical-layout-position-map";
|
||||
complete;
|
||||
|
||||
pinout_map: pinout_positions {
|
||||
physical-layout = <&physical_layout0>;
|
||||
positions = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17>;
|
||||
};
|
||||
inline_map: single_row_positions {
|
||||
physical-layout = <&physical_layout1>;
|
||||
positions = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17>;
|
||||
};
|
||||
};
|
||||
|
||||
physical_layout0: physical_layout_0 {
|
||||
compatible = "zmk,physical-layout";
|
||||
display-name = "Pro Micro Pinout";
|
||||
|
||||
// Map key positions to the Pro Micro pinout. The coordinate
|
||||
// deltas jump around a little because some of the Pro Micro
|
||||
// pins are out of order: D0 is "after" D1 and D16 is "before"
|
||||
// D14.
|
||||
keys // w h x y rot rx ry
|
||||
= <&key_physical_attrs 100 100 0 100 0 0 0> // D0
|
||||
, <&key_physical_attrs 100 100 0 0 0 0 0> // D1
|
||||
, <&key_physical_attrs 100 100 0 400 0 0 0> // D2
|
||||
, <&key_physical_attrs 100 100 0 500 0 0 0> // D3
|
||||
, <&key_physical_attrs 100 100 0 600 0 0 0> // D4
|
||||
, <&key_physical_attrs 100 100 0 700 0 0 0> // D5
|
||||
, <&key_physical_attrs 100 100 0 800 0 0 0> // D6
|
||||
, <&key_physical_attrs 100 100 0 900 0 0 0> // D7
|
||||
, <&key_physical_attrs 100 100 0 1000 0 0 0> // D8
|
||||
, <&key_physical_attrs 100 100 0 1100 0 0 0> // D9
|
||||
, <&key_physical_attrs 100 100 600 1100 0 0 0> // D10
|
||||
, <&key_physical_attrs 100 100 600 900 0 0 0> // D14
|
||||
, <&key_physical_attrs 100 100 600 800 0 0 0> // D15
|
||||
, <&key_physical_attrs 100 100 600 1000 0 0 0> // D16
|
||||
, <&key_physical_attrs 100 100 600 700 0 0 0> // D18
|
||||
, <&key_physical_attrs 100 100 600 600 0 0 0> // D19
|
||||
, <&key_physical_attrs 100 100 600 500 0 0 0> // D20
|
||||
, <&key_physical_attrs 100 100 600 400 0 0 0> // D21
|
||||
;
|
||||
};
|
||||
|
||||
physical_layout1: physical_layout_1 {
|
||||
compatible = "zmk,physical-layout";
|
||||
display-name = "Single Row";
|
||||
|
||||
// Single row of eighteen "keys", in ascending "Arduino" order.
|
||||
keys // w h x y rot rx ry
|
||||
= <&key_physical_attrs 100 100 0 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 700 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 800 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1300 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1400 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1500 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1600 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1700 0 0 0 0>
|
||||
;
|
||||
};
|
||||
};
|
||||
@@ -1,9 +1,18 @@
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
#include "tester_pro_micro-layouts.dtsi"
|
||||
|
||||
&physical_layout0 {
|
||||
transform = <&transform0>;
|
||||
};
|
||||
|
||||
&physical_layout1 {
|
||||
transform = <&transform0>;
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix-transform = &transform0;
|
||||
zmk,physical-layout = &physical_layout0;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
|
||||
12
app/boards/shields/tester_rpi_pico/Kconfig.defconfig
Normal file
12
app/boards/shields/tester_rpi_pico/Kconfig.defconfig
Normal file
@@ -0,0 +1,12 @@
|
||||
if SHIELD_TESTER_RPI_PICO
|
||||
|
||||
config ZMK_KEYBOARD_NAME
|
||||
default "ZMK Tester"
|
||||
|
||||
config ZMK_BLE
|
||||
def_bool n
|
||||
|
||||
config SETTINGS
|
||||
def_bool n
|
||||
|
||||
endif
|
||||
2
app/boards/shields/tester_rpi_pico/Kconfig.shield
Normal file
2
app/boards/shields/tester_rpi_pico/Kconfig.shield
Normal file
@@ -0,0 +1,2 @@
|
||||
config SHIELD_TESTER_RPI_PICO
|
||||
def_bool $(shields_list_contains,tester_rpi_pico)
|
||||
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
* Copyright (c) 2025 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <physical_layouts.dtsi>
|
||||
|
||||
/ {
|
||||
tester_position_map {
|
||||
compatible = "zmk,physical-layout-position-map";
|
||||
complete;
|
||||
|
||||
pinout_map: pinout_positions {
|
||||
physical-layout = <&physical_layout0>;
|
||||
positions = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25>;
|
||||
};
|
||||
inline_map: single_row_positions {
|
||||
physical-layout = <&physical_layout1>;
|
||||
positions = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25>;
|
||||
};
|
||||
};
|
||||
|
||||
physical_layout0: physical_layout_0 {
|
||||
compatible = "zmk,physical-layout";
|
||||
display-name = "Rpi Pico Pinout";
|
||||
|
||||
kscan = <&kscan0>;
|
||||
transform = <&matrix_transform0>;
|
||||
|
||||
keys // w h x y rot rx ry
|
||||
= <&key_physical_attrs 100 100 0 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 300 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 400 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 500 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 600 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 800 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 900 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 1000 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 1100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 1300 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 1400 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 1500 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 1600 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 1800 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 1900 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 1900 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 1800 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 1600 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 1500 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 1400 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 1300 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 1100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 900 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 800 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 600 0 0 0>
|
||||
;
|
||||
};
|
||||
|
||||
physical_layout1: physical_layout_1 {
|
||||
compatible = "zmk,physical-layout";
|
||||
display-name = "Single Row";
|
||||
|
||||
// Single row of eighteen "keys", in ascending "Arduino" order.
|
||||
keys // w h x y rot rx ry
|
||||
= <&key_physical_attrs 100 100 0 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 700 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 800 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1100 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1200 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1300 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1400 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1500 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1600 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1700 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1800 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1900 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 2000 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 2100 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 2200 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 2300 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 2400 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 2500 0 0 0 0>
|
||||
;
|
||||
};
|
||||
};
|
||||
77
app/boards/shields/tester_rpi_pico/tester_rpi_pico.keymap
Normal file
77
app/boards/shields/tester_rpi_pico/tester_rpi_pico.keymap
Normal file
@@ -0,0 +1,77 @@
|
||||
#include <behaviors.dtsi>
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
|
||||
#define PIN_MACRO(name, pin) \
|
||||
/ { \
|
||||
macros { \
|
||||
name: name { \
|
||||
compatible = "zmk,behavior-macro"; \
|
||||
wait-ms = <5>; \
|
||||
tap-ms = <5>; \
|
||||
#binding-cells = <0>; \
|
||||
bindings = <&kp P &kp I &kp N &kp SPACE>, pin, <&kp ENTER>; \
|
||||
}; \
|
||||
}; \
|
||||
};
|
||||
|
||||
PIN_MACRO(pin0, <&kp N0>)
|
||||
PIN_MACRO(pin1, <&kp N1>)
|
||||
PIN_MACRO(pin2, <&kp N2>)
|
||||
PIN_MACRO(pin3, <&kp N3>)
|
||||
PIN_MACRO(pin4, <&kp N4>)
|
||||
PIN_MACRO(pin5, <&kp N5>)
|
||||
PIN_MACRO(pin6, <&kp N6>)
|
||||
PIN_MACRO(pin7, <&kp N7>)
|
||||
PIN_MACRO(pin8, <&kp N8>)
|
||||
PIN_MACRO(pin9, <&kp N9>)
|
||||
PIN_MACRO(pin10, <&kp N1 &kp N0>)
|
||||
PIN_MACRO(pin11, <&kp N1 &kp N1>)
|
||||
PIN_MACRO(pin12, <&kp N1 &kp N2>)
|
||||
PIN_MACRO(pin13, <&kp N1 &kp N3>)
|
||||
PIN_MACRO(pin14, <&kp N1 &kp N4>)
|
||||
PIN_MACRO(pin15, <&kp N1 &kp N5>)
|
||||
PIN_MACRO(pin16, <&kp N1 &kp N6>)
|
||||
PIN_MACRO(pin17, <&kp N1 &kp N7>)
|
||||
PIN_MACRO(pin18, <&kp N1 &kp N8>)
|
||||
PIN_MACRO(pin19, <&kp N1 &kp N9>)
|
||||
PIN_MACRO(pin20, <&kp N2 &kp N0>)
|
||||
PIN_MACRO(pin21, <&kp N2 &kp N1>)
|
||||
PIN_MACRO(pin22, <&kp N2 &kp N2>)
|
||||
PIN_MACRO(pin26, <&kp N2 &kp N6>)
|
||||
PIN_MACRO(pin27, <&kp N2 &kp N7>)
|
||||
PIN_MACRO(pin28, <&kp N2 &kp N8>)
|
||||
|
||||
/ {
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
bindings = <&pin0
|
||||
&pin1
|
||||
&pin2
|
||||
&pin3
|
||||
&pin4
|
||||
&pin5
|
||||
&pin6
|
||||
&pin7
|
||||
&pin8
|
||||
&pin9
|
||||
&pin10
|
||||
&pin11
|
||||
&pin12
|
||||
&pin13
|
||||
&pin14
|
||||
&pin15
|
||||
&pin16
|
||||
&pin17
|
||||
&pin18
|
||||
&pin19
|
||||
&pin20
|
||||
&pin21
|
||||
&pin22
|
||||
&pin26
|
||||
&pin27
|
||||
&pin28>;
|
||||
};
|
||||
};
|
||||
};
|
||||
63
app/boards/shields/tester_rpi_pico/tester_rpi_pico.overlay
Normal file
63
app/boards/shields/tester_rpi_pico/tester_rpi_pico.overlay
Normal file
@@ -0,0 +1,63 @@
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
#include "tester_rpi_pico-layouts.dtsi"
|
||||
|
||||
&physical_layout0 {
|
||||
transform = <&transform0>;
|
||||
};
|
||||
|
||||
&physical_layout1 {
|
||||
transform = <&transform0>;
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,physical-layout = &physical_layout0;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-direct";
|
||||
wakeup-source;
|
||||
debounce-press-ms = <10>;
|
||||
debounce-release-ms = <10>;
|
||||
input-gpios
|
||||
= <&pico_header 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 12 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 16 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 17 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 18 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 19 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 20 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 21 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 22 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 26 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 27 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pico_header 28 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
;
|
||||
};
|
||||
|
||||
transform0: keymap_transform {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <26>;
|
||||
rows = <1>;
|
||||
map = <
|
||||
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9)
|
||||
RC(0,10) RC(0,11) RC(0,12) RC(0,13) RC(0,14) RC(0,15) RC(0,16) RC(0,17) RC(0,18) RC(0,19)
|
||||
RC(0,20) RC(0,21) RC(0,22) RC(0,23) RC(0,24) RC(0,25)
|
||||
>;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,6 @@
|
||||
file_format: "1"
|
||||
id: tester_rpi_pico
|
||||
name: TesterRpiPico
|
||||
type: shield
|
||||
url: https://zmk.dev/docs/troubleshooting/hardware-issues
|
||||
requires: [rpi_pico]
|
||||
66
app/boards/shields/tester_xiao/tester_xiao-layouts.dtsi
Normal file
66
app/boards/shields/tester_xiao/tester_xiao-layouts.dtsi
Normal file
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
* Copyright (c) 2025 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <physical_layouts.dtsi>
|
||||
|
||||
// The tester might not have any physical keys at all, so these
|
||||
// physical layouts are pretty much imaginary.
|
||||
|
||||
/ {
|
||||
tester_position_map {
|
||||
compatible = "zmk,physical-layout-position-map";
|
||||
complete;
|
||||
|
||||
pinout_map: pinout_positions {
|
||||
physical-layout = <&physical_layout0>;
|
||||
positions = <0 1 2 3 4 5 6 7 8 9 10>;
|
||||
};
|
||||
inline_map: single_row_positions {
|
||||
physical-layout = <&physical_layout1>;
|
||||
positions = <0 1 2 3 4 5 6 7 8 9 10>;
|
||||
};
|
||||
};
|
||||
|
||||
physical_layout0: physical_layout_0 {
|
||||
compatible = "zmk,physical-layout";
|
||||
display-name = "XIAO Pinout";
|
||||
|
||||
// Map key positions to the XIAO pinout.
|
||||
keys // w h x y rot rx ry
|
||||
= <&key_physical_attrs 100 100 0 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 100 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 200 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 300 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 400 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 500 0 0 0>
|
||||
, <&key_physical_attrs 100 100 0 600 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 600 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 500 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 400 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 300 0 0 0>
|
||||
;
|
||||
};
|
||||
|
||||
physical_layout1: physical_layout_1 {
|
||||
compatible = "zmk,physical-layout";
|
||||
display-name = "Single Row";
|
||||
|
||||
// Single row of eleven "keys".
|
||||
keys // w h x y rot rx ry
|
||||
= <&key_physical_attrs 100 100 0 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 100 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 200 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 300 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 400 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 500 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 600 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 700 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 800 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 900 0 0 0 0>
|
||||
, <&key_physical_attrs 100 100 1000 0 0 0 0>
|
||||
;
|
||||
};
|
||||
};
|
||||
@@ -1,9 +1,18 @@
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
#include "tester_xiao-layouts.dtsi"
|
||||
|
||||
&physical_layout0 {
|
||||
transform = <&transform0>;
|
||||
};
|
||||
|
||||
&physical_layout1 {
|
||||
transform = <&transform0>;
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix-transform = &transform0;
|
||||
zmk,physical-layout = &physical_layout0;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
|
||||
@@ -23,6 +23,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 SEMI &kp BSPC
|
||||
&ht CAPS TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp APOS &kp RET
|
||||
@@ -32,6 +33,7 @@
|
||||
};
|
||||
|
||||
function_layer {
|
||||
display-name = "Function 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 MINUS &kp DEL
|
||||
&none &kp HOME &kp PG_UP &trans &trans &trans &kp LBKT &kp RBKT &kp EQUAL &kp BSLH &kp FSLH &trans
|
||||
@@ -41,6 +43,7 @@
|
||||
};
|
||||
|
||||
other_layer {
|
||||
display-name = "Other Layer";
|
||||
bindings = <
|
||||
&kp PRINTSCREEN &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 &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp KP_NUMLOCK &kp KP_ASTERISK &kp KP_MINUS
|
||||
&kp KP_NUMBER_7 &kp KP_NUMBER_8 &kp KP_NUMBER_9 &kp KP_PLUS
|
||||
@@ -56,6 +57,7 @@
|
||||
};
|
||||
|
||||
func_layer {
|
||||
display-name = "Func Layer";
|
||||
bindings = <
|
||||
&none &sys_reset &bootloader
|
||||
&out OUT_TOG &out OUT_USB &out OUT_BLE &none
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp X
|
||||
&kp Z
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
/* QWERTY
|
||||
*
|
||||
* ,----------------------------------. ,----------------------------------.
|
||||
@@ -42,6 +43,7 @@
|
||||
};
|
||||
|
||||
navnum_layer {
|
||||
display-name = "Navnum Layer";
|
||||
/* NAVNUM
|
||||
*
|
||||
* ,----------------------------------. ,----------------------------------.
|
||||
@@ -71,6 +73,7 @@
|
||||
};
|
||||
|
||||
symbol_layer {
|
||||
display-name = "Symbol Layer";
|
||||
/* SYM
|
||||
*
|
||||
* ,----------------------------------. ,----------------------------------.
|
||||
@@ -100,6 +103,7 @@
|
||||
};
|
||||
|
||||
function_layer {
|
||||
display-name = "Function Layer";
|
||||
/* FUNC
|
||||
*
|
||||
* ,----------------------------------. ,----------------------------------.
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
display-name = "Default Layer";
|
||||
bindings = <
|
||||
&kp A &bl BL_TOG
|
||||
&rgb_ug RGB_EFF &bt BT_CLR
|
||||
|
||||
@@ -11,11 +11,20 @@ left_encoder: &encoder {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&arduino_serial {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,physical-layout = &split_matrix_physical_layout;
|
||||
};
|
||||
|
||||
wired_split {
|
||||
compatible = "zmk,wired-split";
|
||||
device = <&arduino_serial>;
|
||||
};
|
||||
|
||||
split_matrix_transform: split_matrix_transform {
|
||||
compatible = "zmk,matrix-transform";
|
||||
rows = <4>;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user