Merge branch 'zmkfirmware:main' into main
This commit is contained in:
commit
67d139f6f4
201 changed files with 11584 additions and 17351 deletions
6
.github/workflows/ble-test.yml
vendored
6
.github/workflows/ble-test.yml
vendored
|
@ -21,7 +21,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Find test directories
|
- name: Find test directories
|
||||||
id: test-dirs
|
id: test-dirs
|
||||||
run: |
|
run: |
|
||||||
|
@ -38,9 +38,9 @@ jobs:
|
||||||
image: docker.io/zmkfirmware/zmk-build-arm:3.2
|
image: docker.io/zmkfirmware/zmk-build-arm:3.2
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Cache west modules
|
- name: Cache west modules
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
env:
|
env:
|
||||||
cache-name: cache-zephyr-modules
|
cache-name: cache-zephyr-modules
|
||||||
with:
|
with:
|
||||||
|
|
22
.github/workflows/build-user-config.yml
vendored
22
.github/workflows/build-user-config.yml
vendored
|
@ -32,7 +32,7 @@ jobs:
|
||||||
build_matrix: ${{ env.build_matrix }}
|
build_matrix: ${{ env.build_matrix }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Install yaml2json
|
- name: Install yaml2json
|
||||||
run: python3 -m pip install remarshal
|
run: python3 -m pip install remarshal
|
||||||
|
@ -53,7 +53,7 @@ jobs:
|
||||||
matrix: ${{ fromJson(needs.matrix.outputs.build_matrix) }}
|
matrix: ${{ fromJson(needs.matrix.outputs.build_matrix) }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Create build directory
|
- name: Create build directory
|
||||||
run: |
|
run: |
|
||||||
|
@ -87,7 +87,7 @@ jobs:
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Cache west modules
|
- name: Cache west modules
|
||||||
uses: actions/cache@v3.0.11
|
uses: actions/cache@v4
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
env:
|
env:
|
||||||
cache_name: cache-zephyr-${{ env.zephyr_version }}-modules
|
cache_name: cache-zephyr-${{ env.zephyr_version }}-modules
|
||||||
|
@ -157,7 +157,19 @@ jobs:
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Archive (${{ env.display_name }})
|
- name: Archive (${{ env.display_name }})
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: artifact-${{ env.artifact_name }}
|
||||||
|
path: ${{ env.build_dir }}/artifacts
|
||||||
|
|
||||||
|
merge:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build
|
||||||
|
name: Merge Output Artifacts
|
||||||
|
steps:
|
||||||
|
- name: Merge Artifacts
|
||||||
|
uses: actions/upload-artifact/merge@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.archive_name }}
|
name: ${{ inputs.archive_name }}
|
||||||
path: ${{ env.build_dir }}/artifacts
|
pattern: artifact-*
|
||||||
|
delete-merged: true
|
||||||
|
|
65
.github/workflows/build.yml
vendored
65
.github/workflows/build.yml
vendored
|
@ -24,9 +24,9 @@ jobs:
|
||||||
include: ${{ fromJSON(needs.compile-matrix.outputs.include-list) }}
|
include: ${{ fromJSON(needs.compile-matrix.outputs.include-list) }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Cache west modules
|
- name: Cache west modules
|
||||||
uses: actions/cache@v3.0.2
|
uses: actions/cache@v4
|
||||||
env:
|
env:
|
||||||
cache-name: cache-zephyr-modules
|
cache-name: cache-zephyr-modules
|
||||||
with:
|
with:
|
||||||
|
@ -49,18 +49,17 @@ jobs:
|
||||||
- name: Export Zephyr CMake package (west zephyr-export)
|
- name: Export Zephyr CMake package (west zephyr-export)
|
||||||
run: west zephyr-export
|
run: west zephyr-export
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v2
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: "14.x"
|
node-version: "14.x"
|
||||||
- name: Install @actions/artifact
|
- name: Install @actions/artifact
|
||||||
run: npm install @actions/artifact
|
run: npm install @actions/artifact
|
||||||
- name: Build and upload artifacts
|
- name: Build
|
||||||
uses: actions/github-script@v7
|
uses: actions/github-script@v7
|
||||||
id: boards-list
|
id: boards-list
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const {default: artifact} = require('@actions/artifact');
|
|
||||||
|
|
||||||
const execSync = require('child_process').execSync;
|
const execSync = require('child_process').execSync;
|
||||||
|
|
||||||
|
@ -70,10 +69,39 @@ jobs:
|
||||||
|
|
||||||
for (const shieldArgs of buildShieldArgs) {
|
for (const shieldArgs of buildShieldArgs) {
|
||||||
try {
|
try {
|
||||||
|
console.log(`::group::${{ matrix.board}} ${shieldArgs.shield} Build`)
|
||||||
|
|
||||||
const output = execSync(`west build -s app -p -b ${{ matrix.board }} -- ${shieldArgs.shield ? '-DSHIELD="' + shieldArgs.shield + '"' : ''} ${shieldArgs['cmake-args'] || ''}`);
|
const output = execSync(`west build -s app -p -b ${{ matrix.board }} -- ${shieldArgs.shield ? '-DSHIELD="' + shieldArgs.shield + '"' : ''} ${shieldArgs['cmake-args'] || ''}`);
|
||||||
|
|
||||||
console.log(`::group::${{ matrix.board}} ${shieldArgs.shield} Build`)
|
|
||||||
console.log(output.toString());
|
console.log(output.toString());
|
||||||
|
} catch (e) {
|
||||||
|
console.error(`::error::Failed to build ${{ matrix.board }} ${shieldArgs.shield} ${shieldArgs['cmake-args']}`);
|
||||||
|
console.error(e);
|
||||||
|
error = true;
|
||||||
|
} finally {
|
||||||
|
console.log('::endgroup::');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (error) {
|
||||||
|
throw new Error('Failed to build one or more configurations');
|
||||||
|
}
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/github-script@v7
|
||||||
|
continue-on-error: ${{ github.event_name == 'pull_request' }}
|
||||||
|
id: boards-upload
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const fs = require('fs');
|
||||||
|
const {default: artifact} = require('@actions/artifact');
|
||||||
|
|
||||||
|
const buildShieldArgs = JSON.parse(`${{ matrix.shieldArgs }}`);
|
||||||
|
|
||||||
|
let error = false;
|
||||||
|
|
||||||
|
for (const shieldArgs of buildShieldArgs) {
|
||||||
|
try {
|
||||||
|
console.log(`::group::${{ matrix.board}} ${shieldArgs.shield} Upload`)
|
||||||
|
|
||||||
const fileExtensions = ["hex", "uf2"];
|
const fileExtensions = ["hex", "uf2"];
|
||||||
|
|
||||||
|
@ -91,7 +119,7 @@ jobs:
|
||||||
|
|
||||||
await artifact.uploadArtifact(artifactName, files, rootDirectory, options);
|
await artifact.uploadArtifact(artifactName, files, rootDirectory, options);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(`::error::Failed to build or upload ${{ matrix.board }} ${shieldArgs.shield} ${shieldArgs['cmake-args']}`);
|
console.error(`::error::Failed to upload ${{ matrix.board }} ${shieldArgs.shield} ${shieldArgs['cmake-args']}`);
|
||||||
console.error(e);
|
console.error(e);
|
||||||
error = true;
|
error = true;
|
||||||
} finally {
|
} finally {
|
||||||
|
@ -150,9 +178,9 @@ jobs:
|
||||||
core-include: ${{ steps.core-list.outputs.result }}
|
core-include: ${{ steps.core-list.outputs.result }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v2
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: "14.x"
|
node-version: "14.x"
|
||||||
- name: Install js-yaml
|
- name: Install js-yaml
|
||||||
|
@ -179,9 +207,9 @@ jobs:
|
||||||
boards-include: ${{ steps.boards-list.outputs.result }}
|
boards-include: ${{ steps.boards-list.outputs.result }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v2
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: "14.x"
|
node-version: "14.x"
|
||||||
- name: Install js-yaml
|
- name: Install js-yaml
|
||||||
|
@ -306,9 +334,9 @@ jobs:
|
||||||
organized-metadata: ${{ steps.organize-metadata.outputs.result }}
|
organized-metadata: ${{ steps.organize-metadata.outputs.result }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v2
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: "14.x"
|
node-version: "14.x"
|
||||||
- name: Install js-yaml
|
- name: Install js-yaml
|
||||||
|
@ -381,19 +409,20 @@ jobs:
|
||||||
if: ${{ github.event_name != 'schedule' }}
|
if: ${{ github.event_name != 'schedule' }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
outputs:
|
outputs:
|
||||||
changed-files: ${{ steps.changed-files.outputs.all }}
|
changed-files: ${{ steps.changed-files.outputs.all_changed_files }}
|
||||||
board-changes: ${{ steps.board-changes.outputs.result }}
|
board-changes: ${{ steps.board-changes.outputs.result }}
|
||||||
core-changes: ${{ steps.core-changes.outputs.result }}
|
core-changes: ${{ steps.core-changes.outputs.result }}
|
||||||
steps:
|
steps:
|
||||||
- uses: Ana06/get-changed-files@v2.0.0
|
- uses: tj-actions/changed-files@v42
|
||||||
id: changed-files
|
id: changed-files
|
||||||
with:
|
with:
|
||||||
format: "json"
|
json: true
|
||||||
|
escape_json: false
|
||||||
- uses: actions/github-script@v7
|
- uses: actions/github-script@v7
|
||||||
id: board-changes
|
id: board-changes
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const changedFiles = JSON.parse(`${{ steps.changed-files.outputs.all }}`);
|
const changedFiles = JSON.parse(`${{ steps.changed-files.outputs.all_changed_files }}`);
|
||||||
const boardChanges = changedFiles.filter(f => f.startsWith('app/boards'));
|
const boardChanges = changedFiles.filter(f => f.startsWith('app/boards'));
|
||||||
return boardChanges.length ? 'true' : 'false';
|
return boardChanges.length ? 'true' : 'false';
|
||||||
result-encoding: string
|
result-encoding: string
|
||||||
|
@ -401,7 +430,7 @@ jobs:
|
||||||
id: core-changes
|
id: core-changes
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const changedFiles = JSON.parse(`${{ steps.changed-files.outputs.all }}`);
|
const changedFiles = JSON.parse(`${{ steps.changed-files.outputs.all_changed_files }}`);
|
||||||
const boardChanges = changedFiles.filter(f => f.startsWith('app/boards'));
|
const boardChanges = changedFiles.filter(f => f.startsWith('app/boards'));
|
||||||
const appChanges = changedFiles.filter(f => f.startsWith('app'));
|
const appChanges = changedFiles.filter(f => f.startsWith('app'));
|
||||||
const ymlChanges = changedFiles.includes('.github/workflows/build.yml');
|
const ymlChanges = changedFiles.includes('.github/workflows/build.yml');
|
||||||
|
|
4
.github/workflows/doc-checks.yml
vendored
4
.github/workflows/doc-checks.yml
vendored
|
@ -14,7 +14,7 @@ jobs:
|
||||||
lint:
|
lint:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: bahmutov/npm-install@v1
|
- uses: bahmutov/npm-install@v1
|
||||||
with:
|
with:
|
||||||
working-directory: docs
|
working-directory: docs
|
||||||
|
@ -24,7 +24,7 @@ jobs:
|
||||||
typecheck:
|
typecheck:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: bahmutov/npm-install@v1
|
- uses: bahmutov/npm-install@v1
|
||||||
with:
|
with:
|
||||||
working-directory: docs
|
working-directory: docs
|
||||||
|
|
|
@ -20,7 +20,7 @@ jobs:
|
||||||
container:
|
container:
|
||||||
image: docker.io/zmkfirmware/zmk-dev-arm:3.2
|
image: docker.io/zmkfirmware/zmk-dev-arm:3.2
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pip install -r app/scripts/requirements.txt
|
run: pip install -r app/scripts/requirements.txt
|
||||||
- name: West init
|
- name: West init
|
||||||
|
|
4
.github/workflows/pre-commit.yml
vendored
4
.github/workflows/pre-commit.yml
vendored
|
@ -8,8 +8,8 @@ jobs:
|
||||||
pre-commit:
|
pre-commit:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-python@v4
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: 3.x
|
python-version: 3.x
|
||||||
- uses: pre-commit/action@v3.0.0
|
- uses: pre-commit/action@v3.0.0
|
||||||
|
|
8
.github/workflows/test.yml
vendored
8
.github/workflows/test.yml
vendored
|
@ -6,11 +6,13 @@ on:
|
||||||
- ".github/workflows/test.yml"
|
- ".github/workflows/test.yml"
|
||||||
- "app/tests/**"
|
- "app/tests/**"
|
||||||
- "app/src/**"
|
- "app/src/**"
|
||||||
|
- "app/include/**"
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- ".github/workflows/test.yml"
|
- ".github/workflows/test.yml"
|
||||||
- "app/tests/**"
|
- "app/tests/**"
|
||||||
- "app/src/**"
|
- "app/src/**"
|
||||||
|
- "app/include/**"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
collect-tests:
|
collect-tests:
|
||||||
|
@ -19,7 +21,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Find test directories
|
- name: Find test directories
|
||||||
id: test-dirs
|
id: test-dirs
|
||||||
run: |
|
run: |
|
||||||
|
@ -36,9 +38,9 @@ jobs:
|
||||||
image: docker.io/zmkfirmware/zmk-build-arm:3.2
|
image: docker.io/zmkfirmware/zmk-build-arm:3.2
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Cache west modules
|
- name: Cache west modules
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
env:
|
env:
|
||||||
cache-name: cache-zephyr-modules
|
cache-name: cache-zephyr-modules
|
||||||
with:
|
with:
|
||||||
|
|
|
@ -217,7 +217,7 @@ config BT_GATT_NOTIFY_MULTIPLE
|
||||||
default n
|
default n
|
||||||
|
|
||||||
config BT_GATT_AUTO_SEC_REQ
|
config BT_GATT_AUTO_SEC_REQ
|
||||||
default n
|
default (ZMK_SPLIT_BLE && !ZMK_SPLIT_ROLE_CENTRAL)
|
||||||
|
|
||||||
config BT_DEVICE_APPEARANCE
|
config BT_DEVICE_APPEARANCE
|
||||||
default 961
|
default 961
|
||||||
|
@ -595,7 +595,7 @@ endmenu
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
config HEAP_MEM_POOL_SIZE
|
config HEAP_MEM_POOL_SIZE
|
||||||
default 8192
|
default 8192 if ZMK_DISPLAY
|
||||||
|
|
||||||
config KERNEL_BIN_NAME
|
config KERNEL_BIN_NAME
|
||||||
default "zmk"
|
default "zmk"
|
||||||
|
@ -606,6 +606,9 @@ config REBOOT
|
||||||
config USB_DEVICE_STACK
|
config USB_DEVICE_STACK
|
||||||
default y if HAS_HW_NRF_USBD
|
default y if HAS_HW_NRF_USBD
|
||||||
|
|
||||||
|
config FPU
|
||||||
|
default CPU_HAS_FPU
|
||||||
|
|
||||||
config ZMK_WPM
|
config ZMK_WPM
|
||||||
bool "Calculate WPM"
|
bool "Calculate WPM"
|
||||||
default n
|
default n
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,backlight = &backlight;
|
zmk,backlight = &backlight;
|
||||||
zmk,battery = &vbatt;
|
zmk,battery = &vbatt;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
zmk,underglow = &led_strip;
|
zmk,underglow = &led_strip;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -44,7 +44,9 @@
|
||||||
|
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
ext-power {
|
|
||||||
|
// Node name must match original "EXT_POWER" label to preserve user settings.
|
||||||
|
EXT_POWER {
|
||||||
compatible = "zmk,ext-power-generic";
|
compatible = "zmk,ext-power-generic";
|
||||||
control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
|
control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
zephyr,console = &cdc_acm_uart;
|
zephyr,console = &cdc_acm_uart;
|
||||||
zmk,battery = &vbatt;
|
zmk,battery = &vbatt;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
sensors: sensors {
|
sensors: sensors {
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &ansi_transform;
|
zmk,matrix-transform = &ansi_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
ansi_transform: keymap_transform_0 {
|
ansi_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -13,15 +13,15 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
#ifdef ANSI
|
#ifdef ANSI
|
||||||
zmk,matrix_transform = &ansi_transform;
|
zmk,matrix-transform = &ansi_transform;
|
||||||
#elif defined(HHKB)
|
#elif defined(HHKB)
|
||||||
zmk,matrix_transform = &hhkb_transform;
|
zmk,matrix-transform = &hhkb_transform;
|
||||||
#elif defined(ISO)
|
#elif defined(ISO)
|
||||||
zmk,matrix_transform = &iso_transform;
|
zmk,matrix-transform = &iso_transform;
|
||||||
#elif defined(ALL_1U)
|
#elif defined(ALL_1U)
|
||||||
zmk,matrix_transform = &all_1u_transform;
|
zmk,matrix-transform = &all_1u_transform;
|
||||||
#else
|
#else
|
||||||
zmk,matrix_transform = &split_transform;
|
zmk,matrix-transform = &split_transform;
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
compatible = "polarityworks,bt60_v2";
|
compatible = "polarityworks,bt60_v2";
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
zmk,matrix_transform = &ansi_transform;
|
zmk,matrix-transform = &ansi_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -12,13 +12,13 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
#ifdef ANSI
|
#ifdef ANSI
|
||||||
zmk,matrix_transform = &ansi_transform;
|
zmk,matrix-transform = &ansi_transform;
|
||||||
#elif defined(ISO)
|
#elif defined(ISO)
|
||||||
zmk,matrix_transform = &iso_transform;
|
zmk,matrix-transform = &iso_transform;
|
||||||
#elif defined(ALL_1U)
|
#elif defined(ALL_1U)
|
||||||
zmk,matrix_transform = &all_1u_transform;
|
zmk,matrix-transform = &all_1u_transform;
|
||||||
#elif defined(HHKB)
|
#elif defined(HHKB)
|
||||||
zmk,matrix_transform = &hhkb_transform;
|
zmk,matrix-transform = &hhkb_transform;
|
||||||
#else
|
#else
|
||||||
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60_v2.keymap"
|
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60_v2.keymap"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
compatible = "polarityworks,bt65_v1";
|
compatible = "polarityworks,bt65_v1";
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
zmk,matrix_transform = &ansi_transform;
|
zmk,matrix-transform = &ansi_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -12,13 +12,13 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
#ifdef ANSI
|
#ifdef ANSI
|
||||||
zmk,matrix_transform = &ansi_transform;
|
zmk,matrix-transform = &ansi_transform;
|
||||||
#elif defined(ISO)
|
#elif defined(ISO)
|
||||||
zmk,matrix_transform = &iso_transform;
|
zmk,matrix-transform = &iso_transform;
|
||||||
#elif defined(ALL_1U)
|
#elif defined(ALL_1U)
|
||||||
zmk,matrix_transform = &all_1u_transform;
|
zmk,matrix-transform = &all_1u_transform;
|
||||||
#elif defined(HHKB)
|
#elif defined(HHKB)
|
||||||
zmk,matrix_transform = &hhkb_transform;
|
zmk,matrix-transform = &hhkb_transform;
|
||||||
#else
|
#else
|
||||||
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt65_v1.keymap"
|
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt65_v1.keymap"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
compatible = "polarityworks,bt75_v1";
|
compatible = "polarityworks,bt75_v1";
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
zmk,matrix_transform = &ansi_transform;
|
zmk,matrix-transform = &ansi_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,11 +11,11 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
#ifdef ANSI
|
#ifdef ANSI
|
||||||
zmk,matrix_transform = &ansi_transform;
|
zmk,matrix-transform = &ansi_transform;
|
||||||
#elif defined(ISO)
|
#elif defined(ISO)
|
||||||
zmk,matrix_transform = &iso_transform;
|
zmk,matrix-transform = &iso_transform;
|
||||||
#elif defined(ALL_1U)
|
#elif defined(ALL_1U)
|
||||||
zmk,matrix_transform = &all_1u_transform;
|
zmk,matrix-transform = &all_1u_transform;
|
||||||
#else
|
#else
|
||||||
#error "Layout not defined, please define a layout using by uncommenting the appropriate line in bt75_v1.keymap"
|
#error "Layout not defined, please define a layout using by uncommenting the appropriate line in bt75_v1.keymap"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,display = &epd;
|
zmk,display = &epd;
|
||||||
zephyr,console = &cdc_acm_uart;
|
zephyr,console = &cdc_acm_uart;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -11,8 +11,8 @@
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
// zmk,matrix_transform = &five_column_transform;
|
// zmk,matrix-transform = &five_column_transform;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
zephyr,flash = &flash0;
|
zephyr,flash = &flash0;
|
||||||
zephyr,console = &cdc_acm_uart;
|
zephyr,console = &cdc_acm_uart;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
zephyr,flash = &flash0;
|
zephyr,flash = &flash0;
|
||||||
zephyr,console = &cdc_acm_uart;
|
zephyr,console = &cdc_acm_uart;
|
||||||
zmk,kscan = &kscan;
|
zmk,kscan = &kscan;
|
||||||
zmk,matrix_transform = &transform;
|
zmk,matrix-transform = &transform;
|
||||||
/* TODO: Enable once we support the IC for underglow
|
/* TODO: Enable once we support the IC for underglow
|
||||||
zmk,underglow = &led_strip;
|
zmk,underglow = &led_strip;
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
zephyr,code-partition = &code_partition;
|
zephyr,code-partition = &code_partition;
|
||||||
zephyr,sram = &sram0;
|
zephyr,sram = &sram0;
|
||||||
zephyr,flash = &flash0;
|
zephyr,flash = &flash0;
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
zephyr,shell-uart = &cdc_acm_uart;
|
zephyr,shell-uart = &cdc_acm_uart;
|
||||||
zephyr,code-partition = &code_partition;
|
zephyr,code-partition = &code_partition;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
xtal_clk: xtal-clk {
|
xtal_clk: xtal-clk {
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
zephyr,console = &cdc_acm_uart;
|
zephyr,console = &cdc_acm_uart;
|
||||||
zmk,battery = &vbatt;
|
zmk,battery = &vbatt;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
zmk,underglow = &led_strip;
|
zmk,underglow = &led_strip;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
zephyr,flash = &flash0;
|
zephyr,flash = &flash0;
|
||||||
zephyr,console = &cdc_acm_uart;
|
zephyr,console = &cdc_acm_uart;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &layout_grid_transform;
|
zmk,matrix-transform = &layout_grid_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
kscan0: kscan {
|
kscan0: kscan {
|
||||||
|
|
|
@ -17,8 +17,9 @@
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,sram = &sram0;
|
zephyr,sram = &sram0;
|
||||||
zephyr,flash = &flash0;
|
zephyr,flash = &flash0;
|
||||||
|
zephyr,console = &cdc_acm_uart;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &layout_grid_transform;
|
zmk,matrix-transform = &layout_grid_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
kscan0: kscan_0 {
|
kscan0: kscan_0 {
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
#define RAISE 2
|
#define RAISE 2
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen { zmk,matrix_transform = &layout_grid_transform; };
|
chosen { zmk,matrix-transform = &layout_grid_transform; };
|
||||||
keymap {
|
keymap {
|
||||||
compatible = "zmk,keymap";
|
compatible = "zmk,keymap";
|
||||||
default_layer {
|
default_layer {
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
zephyr,console = &cdc_acm_uart;
|
zephyr,console = &cdc_acm_uart;
|
||||||
zmk,battery = &vbatt;
|
zmk,battery = &vbatt;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
kscan0: kscan {
|
kscan0: kscan {
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
keymap {
|
keymap {
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
keymap {
|
keymap {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
/delete-property/ zephyr,console;
|
/delete-property/ zephyr,console;
|
||||||
/delete-property/ zephyr,shell-uart;
|
/delete-property/ zephyr,shell-uart;
|
||||||
};
|
};
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
kscan0: kscan {
|
kscan0: kscan {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
kscan0: kscan {
|
kscan0: kscan {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
encoder_1: encoder_1 {
|
encoder_1: encoder_1 {
|
||||||
|
|
|
@ -12,8 +12,8 @@
|
||||||
#include <zephyr/logging/log.h>
|
#include <zephyr/logging/log.h>
|
||||||
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
||||||
|
|
||||||
|
#include <zmk/battery.h>
|
||||||
#include <zmk/display.h>
|
#include <zmk/display.h>
|
||||||
#include "peripheral_status.h"
|
|
||||||
#include <zmk/events/usb_conn_state_changed.h>
|
#include <zmk/events/usb_conn_state_changed.h>
|
||||||
#include <zmk/event_manager.h>
|
#include <zmk/event_manager.h>
|
||||||
#include <zmk/events/battery_state_changed.h>
|
#include <zmk/events/battery_state_changed.h>
|
||||||
|
@ -22,6 +22,8 @@ LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
||||||
#include <zmk/usb.h>
|
#include <zmk/usb.h>
|
||||||
#include <zmk/ble.h>
|
#include <zmk/ble.h>
|
||||||
|
|
||||||
|
#include "peripheral_status.h"
|
||||||
|
|
||||||
LV_IMG_DECLARE(balloon);
|
LV_IMG_DECLARE(balloon);
|
||||||
LV_IMG_DECLARE(mountain);
|
LV_IMG_DECLARE(mountain);
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include <zephyr/logging/log.h>
|
#include <zephyr/logging/log.h>
|
||||||
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
||||||
|
|
||||||
|
#include <zmk/battery.h>
|
||||||
#include <zmk/display.h>
|
#include <zmk/display.h>
|
||||||
#include "status.h"
|
#include "status.h"
|
||||||
#include <zmk/events/usb_conn_state_changed.h>
|
#include <zmk/events/usb_conn_state_changed.h>
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
|
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -7,7 +7,7 @@ By default, the 2x1u layout is used. To use to the 1x2u layout, add the followin
|
||||||
```
|
```
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,matrix_transform = &single_2u_transform;
|
zmk,matrix-transform = &single_2u_transform;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
|
@ -12,11 +12,11 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
// 34 keys.
|
// 34 keys.
|
||||||
zmk,matrix_transform = &dual_1u_transform;
|
zmk,matrix-transform = &dual_1u_transform;
|
||||||
|
|
||||||
// 33 keys. Center two thumb keys replaced by a single 2u key. Remember to adjust your
|
// 33 keys. Center two thumb keys replaced by a single 2u key. Remember to adjust your
|
||||||
// keymap accordingly!
|
// keymap accordingly!
|
||||||
// zmk,matrix_transform = &single_2u_transform;
|
// zmk,matrix-transform = &single_2u_transform;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &dual_1u_transform;
|
zmk,matrix-transform = &dual_1u_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
dual_1u_transform: keymap_transform_0 {
|
dual_1u_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,kscan = &kscan_composite;
|
zmk,kscan = &kscan_composite;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
left_encoder: encoder_left {
|
left_encoder: encoder_left {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -49,6 +49,6 @@ RC(3,0) RC(3,1) RC(3,2) RC(3,4) RC(3,5) RC(7,1)
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -86,7 +86,7 @@
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,display = &oled;
|
zephyr,display = &oled;
|
||||||
zmk,kscan = &kscan0;
|
zmk,kscan = &kscan0;
|
||||||
zmk,matrix_transform = &default_transform;
|
zmk,matrix-transform = &default_transform;
|
||||||
};
|
};
|
||||||
|
|
||||||
default_transform: keymap_transform_0 {
|
default_transform: keymap_transform_0 {
|
||||||
|
|
|
@ -38,7 +38,8 @@ struct zmk_event_subscription {
|
||||||
zmk_event_t header; \
|
zmk_event_t header; \
|
||||||
struct event_type data; \
|
struct event_type data; \
|
||||||
}; \
|
}; \
|
||||||
struct event_type##_event *new_##event_type(struct event_type); \
|
struct event_type##_event copy_raised_##event_type(const struct event_type *ev); \
|
||||||
|
int raise_##event_type(struct event_type); \
|
||||||
struct event_type *as_##event_type(const zmk_event_t *eh); \
|
struct event_type *as_##event_type(const zmk_event_t *eh); \
|
||||||
extern const struct zmk_event_type zmk_event_##event_type;
|
extern const struct zmk_event_type zmk_event_##event_type;
|
||||||
|
|
||||||
|
@ -46,12 +47,14 @@ struct zmk_event_subscription {
|
||||||
const struct zmk_event_type zmk_event_##event_type = {.name = STRINGIFY(event_type)}; \
|
const struct zmk_event_type zmk_event_##event_type = {.name = STRINGIFY(event_type)}; \
|
||||||
const struct zmk_event_type *zmk_event_ref_##event_type __used \
|
const struct zmk_event_type *zmk_event_ref_##event_type __used \
|
||||||
__attribute__((__section__(".event_type"))) = &zmk_event_##event_type; \
|
__attribute__((__section__(".event_type"))) = &zmk_event_##event_type; \
|
||||||
struct event_type##_event *new_##event_type(struct event_type data) { \
|
struct event_type##_event copy_raised_##event_type(const struct event_type *ev) { \
|
||||||
struct event_type##_event *ev = \
|
struct event_type##_event *outer = CONTAINER_OF(ev, struct event_type##_event, data); \
|
||||||
(struct event_type##_event *)k_malloc(sizeof(struct event_type##_event)); \
|
return *outer; \
|
||||||
ev->header.event = &zmk_event_##event_type; \
|
}; \
|
||||||
ev->data = data; \
|
int raise_##event_type(struct event_type data) { \
|
||||||
return ev; \
|
struct event_type##_event ev = {.data = data, \
|
||||||
|
.header = {.event = &zmk_event_##event_type}}; \
|
||||||
|
return ZMK_EVENT_RAISE(ev); \
|
||||||
}; \
|
}; \
|
||||||
struct event_type *as_##event_type(const zmk_event_t *eh) { \
|
struct event_type *as_##event_type(const zmk_event_t *eh) { \
|
||||||
return (eh->event == &zmk_event_##event_type) ? &((struct event_type##_event *)eh)->data \
|
return (eh->event == &zmk_event_##event_type) ? &((struct event_type##_event *)eh)->data \
|
||||||
|
@ -68,17 +71,14 @@ struct zmk_event_subscription {
|
||||||
.listener = &zmk_listener_##mod, \
|
.listener = &zmk_listener_##mod, \
|
||||||
};
|
};
|
||||||
|
|
||||||
#define ZMK_EVENT_RAISE(ev) zmk_event_manager_raise((zmk_event_t *)ev);
|
#define ZMK_EVENT_RAISE(ev) zmk_event_manager_raise(&(ev).header)
|
||||||
|
|
||||||
#define ZMK_EVENT_RAISE_AFTER(ev, mod) \
|
#define ZMK_EVENT_RAISE_AFTER(ev, mod) \
|
||||||
zmk_event_manager_raise_after((zmk_event_t *)ev, &zmk_listener_##mod);
|
zmk_event_manager_raise_after(&(ev).header, &zmk_listener_##mod)
|
||||||
|
|
||||||
#define ZMK_EVENT_RAISE_AT(ev, mod) \
|
#define ZMK_EVENT_RAISE_AT(ev, mod) zmk_event_manager_raise_at(&(ev).header, &zmk_listener_##mod)
|
||||||
zmk_event_manager_raise_at((zmk_event_t *)ev, &zmk_listener_##mod);
|
|
||||||
|
|
||||||
#define ZMK_EVENT_RELEASE(ev) zmk_event_manager_release((zmk_event_t *)ev);
|
#define ZMK_EVENT_RELEASE(ev) zmk_event_manager_release(&(ev).header)
|
||||||
|
|
||||||
#define ZMK_EVENT_FREE(ev) k_free((void *)ev);
|
|
||||||
|
|
||||||
int zmk_event_manager_raise(zmk_event_t *event);
|
int zmk_event_manager_raise(zmk_event_t *event);
|
||||||
int zmk_event_manager_raise_after(zmk_event_t *event, const struct zmk_listener *listener);
|
int zmk_event_manager_raise_after(zmk_event_t *event, const struct zmk_listener *listener);
|
||||||
|
|
|
@ -21,7 +21,7 @@ struct zmk_keycode_state_changed {
|
||||||
|
|
||||||
ZMK_EVENT_DECLARE(zmk_keycode_state_changed);
|
ZMK_EVENT_DECLARE(zmk_keycode_state_changed);
|
||||||
|
|
||||||
static inline struct zmk_keycode_state_changed_event *
|
static inline struct zmk_keycode_state_changed
|
||||||
zmk_keycode_state_changed_from_encoded(uint32_t encoded, bool pressed, int64_t timestamp) {
|
zmk_keycode_state_changed_from_encoded(uint32_t encoded, bool pressed, int64_t timestamp) {
|
||||||
uint16_t page = ZMK_HID_USAGE_PAGE(encoded);
|
uint16_t page = ZMK_HID_USAGE_PAGE(encoded);
|
||||||
uint16_t id = ZMK_HID_USAGE_ID(encoded);
|
uint16_t id = ZMK_HID_USAGE_ID(encoded);
|
||||||
|
@ -38,11 +38,16 @@ zmk_keycode_state_changed_from_encoded(uint32_t encoded, bool pressed, int64_t t
|
||||||
implicit_modifiers = SELECT_MODS(encoded);
|
implicit_modifiers = SELECT_MODS(encoded);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new_zmk_keycode_state_changed(
|
return (struct zmk_keycode_state_changed){.usage_page = page,
|
||||||
(struct zmk_keycode_state_changed){.usage_page = page,
|
.keycode = id,
|
||||||
.keycode = id,
|
.implicit_modifiers = implicit_modifiers,
|
||||||
.implicit_modifiers = implicit_modifiers,
|
.explicit_modifiers = explicit_modifiers,
|
||||||
.explicit_modifiers = explicit_modifiers,
|
.state = pressed,
|
||||||
.state = pressed,
|
.timestamp = timestamp};
|
||||||
.timestamp = timestamp});
|
}
|
||||||
|
|
||||||
|
static inline int raise_zmk_keycode_state_changed_from_encoded(uint32_t encoded, bool pressed,
|
||||||
|
int64_t timestamp) {
|
||||||
|
return raise_zmk_keycode_state_changed(
|
||||||
|
zmk_keycode_state_changed_from_encoded(encoded, pressed, timestamp));
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,8 +17,7 @@ struct zmk_layer_state_changed {
|
||||||
|
|
||||||
ZMK_EVENT_DECLARE(zmk_layer_state_changed);
|
ZMK_EVENT_DECLARE(zmk_layer_state_changed);
|
||||||
|
|
||||||
static inline struct zmk_layer_state_changed_event *create_layer_state_changed(uint8_t layer,
|
static inline int raise_layer_state_changed(uint8_t layer, bool state) {
|
||||||
bool state) {
|
return raise_zmk_layer_state_changed((struct zmk_layer_state_changed){
|
||||||
return new_zmk_layer_state_changed((struct zmk_layer_state_changed){
|
|
||||||
.layer = layer, .state = state, .timestamp = k_uptime_get()});
|
.layer = layer, .state = state, .timestamp = k_uptime_get()});
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,8 +19,8 @@ struct zmk_mouse_button_state_changed {
|
||||||
|
|
||||||
ZMK_EVENT_DECLARE(zmk_mouse_button_state_changed);
|
ZMK_EVENT_DECLARE(zmk_mouse_button_state_changed);
|
||||||
|
|
||||||
static inline struct zmk_mouse_button_state_changed_event *
|
static inline int raise_zmk_mouse_button_state_changed_from_encoded(uint32_t encoded, bool pressed,
|
||||||
zmk_mouse_button_state_changed_from_encoded(uint32_t encoded, bool pressed, int64_t timestamp) {
|
int64_t timestamp) {
|
||||||
return new_zmk_mouse_button_state_changed((struct zmk_mouse_button_state_changed){
|
return raise_zmk_mouse_button_state_changed((struct zmk_mouse_button_state_changed){
|
||||||
.buttons = ZMK_HID_USAGE_ID(encoded), .state = pressed, .timestamp = timestamp});
|
.buttons = ZMK_HID_USAGE_ID(encoded), .state = pressed, .timestamp = timestamp});
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ fi
|
||||||
testcase="$path"
|
testcase="$path"
|
||||||
echo "Running $testcase:"
|
echo "Running $testcase:"
|
||||||
|
|
||||||
west build -d build/$testcase -b native_posix_64 -- -DZMK_CONFIG="$(pwd)/$testcase" > /dev/null 2>&1
|
west build -d build/$testcase -b native_posix_64 -- -DCONFIG_ASSERT=y -DZMK_CONFIG="$(pwd)/$testcase" > /dev/null 2>&1
|
||||||
if [ $? -gt 0 ]; then
|
if [ $? -gt 0 ]; then
|
||||||
echo "FAILED: $testcase did not build" | tee -a ./build/tests/pass-fail.log
|
echo "FAILED: $testcase did not build" | tee -a ./build/tests/pass-fail.log
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
@ -43,8 +43,8 @@ static uint32_t activity_last_uptime;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int raise_event(void) {
|
int raise_event(void) {
|
||||||
return ZMK_EVENT_RAISE(new_zmk_activity_state_changed(
|
return raise_zmk_activity_state_changed(
|
||||||
(struct zmk_activity_state_changed){.state = activity_state}));
|
(struct zmk_activity_state_changed){.state = activity_state});
|
||||||
}
|
}
|
||||||
|
|
||||||
int set_state(enum zmk_activity_state state) {
|
int set_state(enum zmk_activity_state state) {
|
||||||
|
|
|
@ -63,8 +63,8 @@ static int zmk_battery_update(const struct device *battery) {
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
rc = ZMK_EVENT_RAISE(new_zmk_battery_state_changed(
|
rc = raise_zmk_battery_state_changed(
|
||||||
(struct zmk_battery_state_changed){.state_of_charge = last_state_of_charge}));
|
(struct zmk_battery_state_changed){.state_of_charge = last_state_of_charge});
|
||||||
}
|
}
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
|
@ -87,7 +87,9 @@ static void zmk_battery_timer(struct k_timer *timer) {
|
||||||
K_TIMER_DEFINE(battery_timer, zmk_battery_timer, NULL);
|
K_TIMER_DEFINE(battery_timer, zmk_battery_timer, NULL);
|
||||||
|
|
||||||
static void zmk_battery_start_reporting() {
|
static void zmk_battery_start_reporting() {
|
||||||
k_timer_start(&battery_timer, K_NO_WAIT, K_SECONDS(CONFIG_ZMK_BATTERY_REPORT_INTERVAL));
|
if (device_is_ready(battery)) {
|
||||||
|
k_timer_start(&battery_timer, K_NO_WAIT, K_SECONDS(CONFIG_ZMK_BATTERY_REPORT_INTERVAL));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int zmk_battery_init(const struct device *_arg) {
|
static int zmk_battery_init(const struct device *_arg) {
|
||||||
|
|
|
@ -88,7 +88,24 @@ struct active_hold_tap {
|
||||||
struct active_hold_tap *undecided_hold_tap = NULL;
|
struct active_hold_tap *undecided_hold_tap = NULL;
|
||||||
struct active_hold_tap active_hold_taps[ZMK_BHV_HOLD_TAP_MAX_HELD] = {};
|
struct active_hold_tap active_hold_taps[ZMK_BHV_HOLD_TAP_MAX_HELD] = {};
|
||||||
// We capture most position_state_changed events and some modifiers_state_changed events.
|
// We capture most position_state_changed events and some modifiers_state_changed events.
|
||||||
const zmk_event_t *captured_events[ZMK_BHV_HOLD_TAP_MAX_CAPTURED_EVENTS] = {};
|
|
||||||
|
enum captured_event_tag {
|
||||||
|
ET_NONE,
|
||||||
|
ET_POS_CHANGED,
|
||||||
|
ET_CODE_CHANGED,
|
||||||
|
};
|
||||||
|
|
||||||
|
union captured_event_data {
|
||||||
|
struct zmk_position_state_changed_event position;
|
||||||
|
struct zmk_keycode_state_changed_event keycode;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct captured_event {
|
||||||
|
enum captured_event_tag tag;
|
||||||
|
union captured_event_data data;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct captured_event captured_events[ZMK_BHV_HOLD_TAP_MAX_CAPTURED_EVENTS] = {};
|
||||||
|
|
||||||
// Keep track of which key was tapped most recently for the standard, if it is a hold-tap
|
// Keep track of which key was tapped most recently for the standard, if it is a hold-tap
|
||||||
// a position, will be given, if not it will just be INT32_MIN
|
// a position, will be given, if not it will just be INT32_MIN
|
||||||
|
@ -122,33 +139,32 @@ static bool is_quick_tap(struct active_hold_tap *hold_tap) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int capture_event(const zmk_event_t *event) {
|
static int capture_event(struct captured_event *data) {
|
||||||
for (int i = 0; i < ZMK_BHV_HOLD_TAP_MAX_CAPTURED_EVENTS; i++) {
|
for (int i = 0; i < ZMK_BHV_HOLD_TAP_MAX_CAPTURED_EVENTS; i++) {
|
||||||
if (captured_events[i] == NULL) {
|
if (captured_events[i].tag == ET_NONE) {
|
||||||
captured_events[i] = event;
|
captured_events[i] = *data;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct zmk_position_state_changed *find_captured_keydown_event(uint32_t position) {
|
static bool have_captured_keydown_event(uint32_t position) {
|
||||||
struct zmk_position_state_changed *last_match = NULL;
|
|
||||||
for (int i = 0; i < ZMK_BHV_HOLD_TAP_MAX_CAPTURED_EVENTS; i++) {
|
for (int i = 0; i < ZMK_BHV_HOLD_TAP_MAX_CAPTURED_EVENTS; i++) {
|
||||||
const zmk_event_t *eh = captured_events[i];
|
struct captured_event *ev = &captured_events[i];
|
||||||
if (eh == NULL) {
|
if (ev->tag == ET_NONE) {
|
||||||
return last_match;
|
return false;
|
||||||
}
|
}
|
||||||
struct zmk_position_state_changed *position_event = as_zmk_position_state_changed(eh);
|
|
||||||
if (position_event == NULL) {
|
if (ev->tag != ET_POS_CHANGED) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (position_event->position == position && position_event->state) {
|
if (ev->data.position.data.position == position && ev->data.position.data.state) {
|
||||||
last_match = position_event;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return last_match;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct zmk_listener zmk_listener_behavior_hold_tap;
|
const struct zmk_listener zmk_listener_behavior_hold_tap;
|
||||||
|
@ -184,25 +200,35 @@ static void release_captured_events() {
|
||||||
// [k1_down, k1_up, null, null, null, ...]
|
// [k1_down, k1_up, null, null, null, ...]
|
||||||
// now mt2 will start releasing it's own captured positions.
|
// now mt2 will start releasing it's own captured positions.
|
||||||
for (int i = 0; i < ZMK_BHV_HOLD_TAP_MAX_CAPTURED_EVENTS; i++) {
|
for (int i = 0; i < ZMK_BHV_HOLD_TAP_MAX_CAPTURED_EVENTS; i++) {
|
||||||
const zmk_event_t *captured_event = captured_events[i];
|
struct captured_event *captured_event = &captured_events[i];
|
||||||
if (captured_event == NULL) {
|
enum captured_event_tag tag = captured_event->tag;
|
||||||
|
|
||||||
|
if (tag == ET_NONE) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
captured_events[i] = NULL;
|
|
||||||
|
captured_events[i].tag = ET_NONE;
|
||||||
if (undecided_hold_tap != NULL) {
|
if (undecided_hold_tap != NULL) {
|
||||||
k_msleep(10);
|
k_msleep(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct zmk_position_state_changed *position_event;
|
switch (tag) {
|
||||||
struct zmk_keycode_state_changed *modifier_event;
|
case ET_CODE_CHANGED:
|
||||||
if ((position_event = as_zmk_position_state_changed(captured_event)) != NULL) {
|
LOG_DBG("Releasing mods changed event 0x%02X %s",
|
||||||
LOG_DBG("Releasing key position event for position %d %s", position_event->position,
|
captured_event->data.keycode.data.keycode,
|
||||||
(position_event->state ? "pressed" : "released"));
|
(captured_event->data.keycode.data.state ? "pressed" : "released"));
|
||||||
} else if ((modifier_event = as_zmk_keycode_state_changed(captured_event)) != NULL) {
|
ZMK_EVENT_RAISE_AT(captured_event->data.keycode, behavior_hold_tap);
|
||||||
LOG_DBG("Releasing mods changed event 0x%02X %s", modifier_event->keycode,
|
break;
|
||||||
(modifier_event->state ? "pressed" : "released"));
|
case ET_POS_CHANGED:
|
||||||
|
LOG_DBG("Releasing key position event for position %d %s",
|
||||||
|
captured_event->data.position.data.position,
|
||||||
|
(captured_event->data.position.data.state ? "pressed" : "released"));
|
||||||
|
ZMK_EVENT_RAISE_AT(captured_event->data.position, behavior_hold_tap);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
LOG_ERR("Unhandled captured event type");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
ZMK_EVENT_RAISE_AT(captured_event, behavior_hold_tap);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -622,7 +648,7 @@ static int position_state_changed_listener(const zmk_event_t *eh) {
|
||||||
return ZMK_EV_EVENT_BUBBLE;
|
return ZMK_EV_EVENT_BUBBLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ev->state && find_captured_keydown_event(ev->position) == NULL) {
|
if (!ev->state && !have_captured_keydown_event(ev->position)) {
|
||||||
// no keydown event has been captured, let it bubble.
|
// no keydown event has been captured, let it bubble.
|
||||||
// we'll catch modifiers later in modifier_state_changed_listener
|
// we'll catch modifiers later in modifier_state_changed_listener
|
||||||
LOG_DBG("%d bubbling %d %s event", undecided_hold_tap->position, ev->position,
|
LOG_DBG("%d bubbling %d %s event", undecided_hold_tap->position, ev->position,
|
||||||
|
@ -632,7 +658,11 @@ static int position_state_changed_listener(const zmk_event_t *eh) {
|
||||||
|
|
||||||
LOG_DBG("%d capturing %d %s event", undecided_hold_tap->position, ev->position,
|
LOG_DBG("%d capturing %d %s event", undecided_hold_tap->position, ev->position,
|
||||||
ev->state ? "down" : "up");
|
ev->state ? "down" : "up");
|
||||||
capture_event(eh);
|
struct captured_event capture = {
|
||||||
|
.tag = ET_POS_CHANGED,
|
||||||
|
.data = {.position = copy_raised_zmk_position_state_changed(ev)},
|
||||||
|
};
|
||||||
|
capture_event(&capture);
|
||||||
decide_hold_tap(undecided_hold_tap, ev->state ? HT_OTHER_KEY_DOWN : HT_OTHER_KEY_UP);
|
decide_hold_tap(undecided_hold_tap, ev->state ? HT_OTHER_KEY_DOWN : HT_OTHER_KEY_UP);
|
||||||
return ZMK_EV_EVENT_CAPTURED;
|
return ZMK_EV_EVENT_CAPTURED;
|
||||||
}
|
}
|
||||||
|
@ -659,7 +689,9 @@ static int keycode_state_changed_listener(const zmk_event_t *eh) {
|
||||||
// if a undecided_hold_tap is active.
|
// if a undecided_hold_tap is active.
|
||||||
LOG_DBG("%d capturing 0x%02X %s event", undecided_hold_tap->position, ev->keycode,
|
LOG_DBG("%d capturing 0x%02X %s event", undecided_hold_tap->position, ev->keycode,
|
||||||
ev->state ? "down" : "up");
|
ev->state ? "down" : "up");
|
||||||
capture_event(eh);
|
struct captured_event capture = {
|
||||||
|
.tag = ET_CODE_CHANGED, .data = {.keycode = copy_raised_zmk_keycode_state_changed(ev)}};
|
||||||
|
capture_event(&capture);
|
||||||
return ZMK_EV_EVENT_CAPTURED;
|
return ZMK_EV_EVENT_CAPTURED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,15 +21,13 @@ static int behavior_key_press_init(const struct device *dev) { return 0; };
|
||||||
static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding,
|
static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding,
|
||||||
struct zmk_behavior_binding_event event) {
|
struct zmk_behavior_binding_event event) {
|
||||||
LOG_DBG("position %d keycode 0x%02X", event.position, binding->param1);
|
LOG_DBG("position %d keycode 0x%02X", event.position, binding->param1);
|
||||||
return ZMK_EVENT_RAISE(
|
return raise_zmk_keycode_state_changed_from_encoded(binding->param1, true, event.timestamp);
|
||||||
zmk_keycode_state_changed_from_encoded(binding->param1, true, event.timestamp));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int on_keymap_binding_released(struct zmk_behavior_binding *binding,
|
static int on_keymap_binding_released(struct zmk_behavior_binding *binding,
|
||||||
struct zmk_behavior_binding_event event) {
|
struct zmk_behavior_binding_event event) {
|
||||||
LOG_DBG("position %d keycode 0x%02X", event.position, binding->param1);
|
LOG_DBG("position %d keycode 0x%02X", event.position, binding->param1);
|
||||||
return ZMK_EVENT_RAISE(
|
return raise_zmk_keycode_state_changed_from_encoded(binding->param1, false, event.timestamp);
|
||||||
zmk_keycode_state_changed_from_encoded(binding->param1, false, event.timestamp));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct behavior_driver_api behavior_key_press_driver_api = {
|
static const struct behavior_driver_api behavior_key_press_driver_api = {
|
||||||
|
|
|
@ -43,7 +43,7 @@ static int on_key_repeat_binding_pressed(struct zmk_behavior_binding *binding,
|
||||||
sizeof(struct zmk_keycode_state_changed));
|
sizeof(struct zmk_keycode_state_changed));
|
||||||
data->current_keycode_pressed.timestamp = k_uptime_get();
|
data->current_keycode_pressed.timestamp = k_uptime_get();
|
||||||
|
|
||||||
ZMK_EVENT_RAISE(new_zmk_keycode_state_changed(data->current_keycode_pressed));
|
raise_zmk_keycode_state_changed(data->current_keycode_pressed);
|
||||||
|
|
||||||
return ZMK_BEHAVIOR_OPAQUE;
|
return ZMK_BEHAVIOR_OPAQUE;
|
||||||
}
|
}
|
||||||
|
@ -60,7 +60,7 @@ static int on_key_repeat_binding_released(struct zmk_behavior_binding *binding,
|
||||||
data->current_keycode_pressed.timestamp = k_uptime_get();
|
data->current_keycode_pressed.timestamp = k_uptime_get();
|
||||||
data->current_keycode_pressed.state = false;
|
data->current_keycode_pressed.state = false;
|
||||||
|
|
||||||
ZMK_EVENT_RAISE(new_zmk_keycode_state_changed(data->current_keycode_pressed));
|
raise_zmk_keycode_state_changed(data->current_keycode_pressed);
|
||||||
return ZMK_BEHAVIOR_OPAQUE;
|
return ZMK_BEHAVIOR_OPAQUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,8 +23,7 @@ static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding,
|
||||||
struct zmk_behavior_binding_event event) {
|
struct zmk_behavior_binding_event event) {
|
||||||
LOG_DBG("position %d keycode 0x%02X", event.position, binding->param1);
|
LOG_DBG("position %d keycode 0x%02X", event.position, binding->param1);
|
||||||
bool pressed = zmk_hid_is_pressed(binding->param1);
|
bool pressed = zmk_hid_is_pressed(binding->param1);
|
||||||
return ZMK_EVENT_RAISE(
|
return raise_zmk_keycode_state_changed_from_encoded(binding->param1, !pressed, event.timestamp);
|
||||||
zmk_keycode_state_changed_from_encoded(binding->param1, !pressed, event.timestamp));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int on_keymap_binding_released(struct zmk_behavior_binding *binding,
|
static int on_keymap_binding_released(struct zmk_behavior_binding *binding,
|
||||||
|
|
|
@ -24,15 +24,15 @@ static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding,
|
||||||
struct zmk_behavior_binding_event event) {
|
struct zmk_behavior_binding_event event) {
|
||||||
LOG_DBG("position %d keycode 0x%02X", event.position, binding->param1);
|
LOG_DBG("position %d keycode 0x%02X", event.position, binding->param1);
|
||||||
|
|
||||||
return ZMK_EVENT_RAISE(
|
return raise_zmk_mouse_button_state_changed_from_encoded(binding->param1, true,
|
||||||
zmk_mouse_button_state_changed_from_encoded(binding->param1, true, event.timestamp));
|
event.timestamp);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int on_keymap_binding_released(struct zmk_behavior_binding *binding,
|
static int on_keymap_binding_released(struct zmk_behavior_binding *binding,
|
||||||
struct zmk_behavior_binding_event event) {
|
struct zmk_behavior_binding_event event) {
|
||||||
LOG_DBG("position %d keycode 0x%02X", event.position, binding->param1);
|
LOG_DBG("position %d keycode 0x%02X", event.position, binding->param1);
|
||||||
return ZMK_EVENT_RAISE(
|
return raise_zmk_mouse_button_state_changed_from_encoded(binding->param1, false,
|
||||||
zmk_mouse_button_state_changed_from_encoded(binding->param1, false, event.timestamp));
|
event.timestamp);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct behavior_driver_api behavior_mouse_key_press_driver_api = {
|
static const struct behavior_driver_api behavior_mouse_key_press_driver_api = {
|
||||||
|
|
|
@ -236,7 +236,9 @@ static int sticky_key_keycode_state_changed_listener(const zmk_event_t *eh) {
|
||||||
if (sticky_key->config->quick_release) {
|
if (sticky_key->config->quick_release) {
|
||||||
// immediately release the sticky key after the key press is handled.
|
// immediately release the sticky key after the key press is handled.
|
||||||
if (!event_reraised) {
|
if (!event_reraised) {
|
||||||
ZMK_EVENT_RAISE_AFTER(eh, behavior_sticky_key);
|
struct zmk_keycode_state_changed_event dupe_ev =
|
||||||
|
copy_raised_zmk_keycode_state_changed(ev);
|
||||||
|
ZMK_EVENT_RAISE_AFTER(dupe_ev, behavior_sticky_key);
|
||||||
event_reraised = true;
|
event_reraised = true;
|
||||||
}
|
}
|
||||||
release_sticky_key_behavior(sticky_key, ev_copy.timestamp);
|
release_sticky_key_behavior(sticky_key, ev_copy.timestamp);
|
||||||
|
|
|
@ -83,8 +83,8 @@ static bt_addr_le_t peripheral_addrs[ZMK_SPLIT_BLE_PERIPHERAL_COUNT];
|
||||||
#endif /* IS_ENABLED(CONFIG_ZMK_SPLIT_ROLE_CENTRAL) */
|
#endif /* IS_ENABLED(CONFIG_ZMK_SPLIT_ROLE_CENTRAL) */
|
||||||
|
|
||||||
static void raise_profile_changed_event(void) {
|
static void raise_profile_changed_event(void) {
|
||||||
ZMK_EVENT_RAISE(new_zmk_ble_active_profile_changed((struct zmk_ble_active_profile_changed){
|
raise_zmk_ble_active_profile_changed((struct zmk_ble_active_profile_changed){
|
||||||
.index = active_profile, .profile = &profiles[active_profile]}));
|
.index = active_profile, .profile = &profiles[active_profile]});
|
||||||
}
|
}
|
||||||
|
|
||||||
static void raise_profile_changed_event_callback(struct k_work *work) {
|
static void raise_profile_changed_event_callback(struct k_work *work) {
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue