merge zmk/main

This commit is contained in:
elpekenin 2024-08-19 15:30:05 +02:00
commit b1332490bc
272 changed files with 7946 additions and 4145 deletions

View file

@ -12,6 +12,12 @@ on:
schedule: schedule:
- cron: "22 4 * * *" - cron: "22 4 * * *"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name == 'schedule' }}
cancel-in-progress: true
permissions: {}
jobs: jobs:
build: build:
if: ${{ always() }} if: ${{ always() }}
@ -25,6 +31,8 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
with:
persist-credentials: false
- name: Cache west modules - name: Cache west modules
uses: actions/cache@v4 uses: actions/cache@v4
env: env:
@ -71,7 +79,7 @@ jobs:
try { try {
console.log(`::group::${{ matrix.board}} ${shieldArgs.shield} Build`) 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.snippet ? '-S ' + shieldArgs.snippet : ''} -- ${shieldArgs.shield ? '-DSHIELD="' + shieldArgs.shield + '"' : ''} ${shieldArgs['cmake-args'] || ''}`);
console.log(output.toString()); console.log(output.toString());
} catch (e) { } catch (e) {
@ -131,7 +139,7 @@ jobs:
throw new Error('Failed to build one or more configurations'); throw new Error('Failed to build one or more configurations');
} }
compile-matrix: compile-matrix:
if: ${{ always() }} if: ${{ !cancelled() }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [core-coverage, board-changes, nightly] needs: [core-coverage, board-changes, nightly]
outputs: outputs:
@ -162,6 +170,7 @@ jobs:
perBoard[configuration.board].push({ perBoard[configuration.board].push({
shield: configuration.shield, shield: configuration.shield,
'cmake-args': configuration['cmake-args'], 'cmake-args': configuration['cmake-args'],
snippet: configuration.snippet,
nickname: configuration.nickname nickname: configuration.nickname
}) })
} }
@ -179,6 +188,8 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
with:
persist-credentials: false
- name: Use Node.js - name: Use Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
@ -284,7 +295,7 @@ jobs:
}); });
}))).flat(); }))).flat();
nightly: nightly:
if: ${{ github.event_name == 'schedule' }} if: ${{ github.event_name == 'schedule' && github.repository_owner == 'zmkfirmware' }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: get-grouped-hardware needs: get-grouped-hardware
outputs: outputs:
@ -335,6 +346,8 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
with:
persist-credentials: false
- name: Use Node.js - name: Use Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
@ -413,7 +426,11 @@ jobs:
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: tj-actions/changed-files@v42 - name: Checkout
uses: actions/checkout@v4
with:
persist-credentials: false
- uses: tj-actions/changed-files@v44
id: changed-files id: changed-files
with: with:
json: true json: true

View file

@ -22,7 +22,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Install dependencies - name: Install dependencies
run: pip install -r app/scripts/requirements.txt run: pip install --break-system-packages -r app/scripts/requirements.txt
- name: West init - name: West init
run: west init -l app run: west init -l app
- name: Update modules (west update) - name: Update modules (west update)

View file

@ -12,4 +12,4 @@ jobs:
- uses: actions/setup-python@v5 - 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.1

View file

@ -4,6 +4,7 @@
"ms-python.python", "ms-python.python",
"ms-vscode.cpptools", "ms-vscode.cpptools",
"plorefice.devicetree", "plorefice.devicetree",
"twxs.cmake" "twxs.cmake",
"unifiedjs.vscode-mdx"
] ]
} }

View file

@ -11,6 +11,10 @@ project(zmk)
zephyr_linker_sources(SECTIONS include/linker/zmk-behaviors.ld) zephyr_linker_sources(SECTIONS include/linker/zmk-behaviors.ld)
zephyr_linker_sources(RODATA include/linker/zmk-events.ld) zephyr_linker_sources(RODATA include/linker/zmk-events.ld)
if(CONFIG_ZMK_BEHAVIOR_LOCAL_IDS)
zephyr_linker_sources(DATA_SECTIONS include/linker/zmk-behavior-local-id-map.ld)
endif()
zephyr_syscall_header(${APPLICATION_SOURCE_DIR}/include/drivers/behavior.h) zephyr_syscall_header(${APPLICATION_SOURCE_DIR}/include/drivers/behavior.h)
zephyr_syscall_header(${APPLICATION_SOURCE_DIR}/include/drivers/ext_power.h) zephyr_syscall_header(${APPLICATION_SOURCE_DIR}/include/drivers/ext_power.h)
@ -20,9 +24,9 @@ target_include_directories(app PRIVATE include)
target_sources(app PRIVATE src/stdlib.c) target_sources(app PRIVATE src/stdlib.c)
target_sources(app PRIVATE src/activity.c) target_sources(app PRIVATE src/activity.c)
target_sources(app PRIVATE src/behavior.c) target_sources(app PRIVATE src/behavior.c)
target_sources(app PRIVATE src/kscan.c)
target_sources_ifdef(CONFIG_ZMK_KSCAN_SIDEBAND_BEHAVIORS app PRIVATE src/kscan_sideband_behaviors.c) target_sources_ifdef(CONFIG_ZMK_KSCAN_SIDEBAND_BEHAVIORS app PRIVATE src/kscan_sideband_behaviors.c)
target_sources(app PRIVATE src/matrix_transform.c) target_sources(app PRIVATE src/matrix_transform.c)
target_sources(app PRIVATE src/physical_layouts.c)
target_sources(app PRIVATE src/sensors.c) target_sources(app PRIVATE src/sensors.c)
target_sources_ifdef(CONFIG_ZMK_WPM app PRIVATE src/wpm.c) target_sources_ifdef(CONFIG_ZMK_WPM app PRIVATE src/wpm.c)
target_sources(app PRIVATE src/event_manager.c) target_sources(app PRIVATE src/event_manager.c)
@ -43,8 +47,8 @@ if ((NOT CONFIG_ZMK_SPLIT) OR CONFIG_ZMK_SPLIT_ROLE_CENTRAL)
target_sources_ifdef(CONFIG_ZMK_MOUSE app PRIVATE src/mouse.c) target_sources_ifdef(CONFIG_ZMK_MOUSE app PRIVATE src/mouse.c)
target_sources(app PRIVATE src/behaviors/behavior_key_press.c) target_sources(app PRIVATE src/behaviors/behavior_key_press.c)
target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_KEY_TOGGLE app PRIVATE src/behaviors/behavior_key_toggle.c) target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_KEY_TOGGLE app PRIVATE src/behaviors/behavior_key_toggle.c)
target_sources(app PRIVATE src/behaviors/behavior_hold_tap.c) target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_HOLD_TAP app PRIVATE src/behaviors/behavior_hold_tap.c)
target_sources(app PRIVATE src/behaviors/behavior_sticky_key.c) target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_STICKY_KEY app PRIVATE src/behaviors/behavior_sticky_key.c)
target_sources(app PRIVATE src/behaviors/behavior_caps_word.c) target_sources(app PRIVATE src/behaviors/behavior_caps_word.c)
target_sources(app PRIVATE src/behaviors/behavior_key_repeat.c) target_sources(app PRIVATE src/behaviors/behavior_key_repeat.c)
target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_MACRO app PRIVATE src/behaviors/behavior_macro.c) target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_MACRO app PRIVATE src/behaviors/behavior_macro.c)
@ -60,6 +64,7 @@ if ((NOT CONFIG_ZMK_SPLIT) OR CONFIG_ZMK_SPLIT_ROLE_CENTRAL)
target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_SENSOR_ROTATE_VAR app PRIVATE src/behaviors/behavior_sensor_rotate_var.c) target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_SENSOR_ROTATE_VAR app PRIVATE src/behaviors/behavior_sensor_rotate_var.c)
target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_SENSOR_ROTATE_COMMON app PRIVATE src/behaviors/behavior_sensor_rotate_common.c) target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_SENSOR_ROTATE_COMMON app PRIVATE src/behaviors/behavior_sensor_rotate_common.c)
target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_MOUSE_KEY_PRESS app PRIVATE src/behaviors/behavior_mouse_key_press.c) target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_MOUSE_KEY_PRESS app PRIVATE src/behaviors/behavior_mouse_key_press.c)
target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_STUDIO_UNLOCK app PRIVATE src/behaviors/behavior_studio_unlock.c)
target_sources(app PRIVATE src/combo.c) target_sources(app PRIVATE src/combo.c)
target_sources(app PRIVATE src/behaviors/behavior_tap_dance.c) target_sources(app PRIVATE src/behaviors/behavior_tap_dance.c)
target_sources(app PRIVATE src/behavior_queue.c) target_sources(app PRIVATE src/behavior_queue.c)
@ -102,4 +107,27 @@ target_sources(app PRIVATE src/main.c)
add_subdirectory(src/display/) add_subdirectory(src/display/)
add_subdirectory_ifdef(CONFIG_SETTINGS src/settings/) add_subdirectory_ifdef(CONFIG_SETTINGS src/settings/)
if (CONFIG_ZMK_STUDIO_RPC)
# For some reason this is failing if run from a different sub-file.
list(APPEND CMAKE_MODULE_PATH ${ZEPHYR_BASE}/modules/nanopb)
include(nanopb)
# Turn off the default nanopb behavior
set(NANOPB_GENERATE_CPP_STANDALONE OFF)
nanopb_generate_cpp(proto_srcs proto_hdrs RELPATH ${ZEPHYR_ZMK_STUDIO_MESSAGES_MODULE_DIR}
${ZEPHYR_ZMK_STUDIO_MESSAGES_MODULE_DIR}/proto/zmk/studio.proto
${ZEPHYR_ZMK_STUDIO_MESSAGES_MODULE_DIR}/proto/zmk/meta.proto
${ZEPHYR_ZMK_STUDIO_MESSAGES_MODULE_DIR}/proto/zmk/core.proto
${ZEPHYR_ZMK_STUDIO_MESSAGES_MODULE_DIR}/proto/zmk/behaviors.proto
${ZEPHYR_ZMK_STUDIO_MESSAGES_MODULE_DIR}/proto/zmk/keymap.proto
)
target_include_directories(app PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
target_sources(app PRIVATE ${proto_srcs} ${proto_hdrs})
add_subdirectory(src/studio)
endif()
zephyr_cc_option(-Wfatal-errors) zephyr_cc_option(-Wfatal-errors)

View file

@ -113,6 +113,12 @@ config ZMK_HID_INDICATORS
Enable HID indicators, used for detecting state of Caps/Scroll/Num Lock, Enable HID indicators, used for detecting state of Caps/Scroll/Num Lock,
Kata, and Compose. Kata, and Compose.
config ZMK_HID_SEPARATE_MOD_RELEASE_REPORT
bool "Release Modifiers Separately"
help
Send a separate release event for the modifiers, to make sure the release
of the modifier doesn't get recognized before the actual key's release event.
menu "Output Types" menu "Output Types"
config ZMK_USB config ZMK_USB
@ -157,7 +163,7 @@ config ZMK_BLE_EXPERIMENTAL_CONN
bool "Experimental BLE connection changes" bool "Experimental BLE connection changes"
help help
Enables a combination of settings that are planned to be default in future versions of ZMK Enables a combination of settings that are planned to be default in future versions of ZMK
to improve connection stability. This includes changes to timing on BLE pairing initation, to improve connection stability. This includes changes to timing on BLE pairing initiation,
restores use of the updated/new LLCP implementation, and disables 2M PHY support. restores use of the updated/new LLCP implementation, and disables 2M PHY support.
config ZMK_BLE_EXPERIMENTAL_SEC config ZMK_BLE_EXPERIMENTAL_SEC
@ -252,12 +258,14 @@ rsource "src/split/Kconfig"
#Basic Keyboard Setup #Basic Keyboard Setup
endmenu endmenu
rsource "src/studio/Kconfig"
menu "Display/LED Options" menu "Display/LED Options"
rsource "src/display/Kconfig" rsource "src/display/Kconfig"
menuconfig ZMK_RGB_UNDERGLOW menuconfig ZMK_RGB_UNDERGLOW
bool "RGB Adressable LED Underglow" bool "RGB Addressable LED Underglow"
select LED_STRIP select LED_STRIP
select ZMK_LOW_PRIORITY_WORK_QUEUE select ZMK_LOW_PRIORITY_WORK_QUEUE
@ -490,7 +498,11 @@ if USB_DEVICE_STACK
config ZMK_USB_INIT_PRIORITY config ZMK_USB_INIT_PRIORITY
int "USB Init Priority" int "USB Init Priority"
default 50 default 94
config ZMK_USB_HID_INIT_PRIORITY
int "USB HID Init Priority"
default 95
#USB #USB
endif endif

View file

@ -1,6 +1,68 @@
# Copyright (c) 2023 The ZMK Contributors # Copyright (c) 2023 The ZMK Contributors
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
config ZMK_BEHAVIOR_METADATA
bool "Metadata"
help
Enabling this option adds APIs for documenting and fetching
metadata describing a behaviors name, and supported parameters.
config ZMK_BEHAVIOR_LOCAL_IDS
bool "Local IDs"
if ZMK_BEHAVIOR_LOCAL_IDS
config ZMK_BEHAVIOR_LOCAL_IDS_IN_BINDINGS
bool "Track in behavior bindings"
choice ZMK_BEHAVIOR_LOCAL_ID_TYPE
prompt "Local ID Type"
config ZMK_BEHAVIOR_LOCAL_ID_TYPE_SETTINGS_TABLE
bool "Settings Table"
depends on SETTINGS
select ZMK_BEHAVIOR_LOCAL_IDS_IN_BINDINGS
help
Use persistent entries in the settings subsystem to identify
behaviors by local ID, which uses the device name to generate
a new settings entry tying a presistant local ID to that name.
This guarantees stable, colllision-free local IDs at the expense
of settings storage used.
config ZMK_BEHAVIOR_LOCAL_ID_TYPE_CRC16
bool "CRC16 Hash"
select CRC
help
Use the CRC16-ANSI hash of behavior device names to generate
stable behavior local IDs. This saves on settings storage at
the expense of (highly unlikely) risk of collisions.
endchoice
endif
config ZMK_BEHAVIOR_HOLD_TAP
bool
default y
depends on DT_HAS_ZMK_BEHAVIOR_HOLD_TAP_ENABLED
if ZMK_BEHAVIOR_HOLD_TAP
config ZMK_BEHAVIOR_HOLD_TAP_MAX_HELD
int "Hold Tap Max Held"
default 10
help
Max number of simultaneously held hold-taps
config ZMK_BEHAVIOR_HOLD_TAP_MAX_CAPTURED_EVENTS
int "Hold Tap Max Captured Events"
default 40
help
Max number of captured system events while waiting to resolve hold taps
endif
config ZMK_BEHAVIOR_KEY_TOGGLE config ZMK_BEHAVIOR_KEY_TOGGLE
bool bool
default y default y
@ -12,6 +74,21 @@ config ZMK_BEHAVIOR_MOUSE_KEY_PRESS
depends on DT_HAS_ZMK_BEHAVIOR_MOUSE_KEY_PRESS_ENABLED depends on DT_HAS_ZMK_BEHAVIOR_MOUSE_KEY_PRESS_ENABLED
imply ZMK_MOUSE imply ZMK_MOUSE
config ZMK_BEHAVIOR_STICKY_KEY
bool
default y
depends on DT_HAS_ZMK_BEHAVIOR_STICKY_KEY_ENABLED
if ZMK_BEHAVIOR_STICKY_KEY
config ZMK_BEHAVIOR_STICKY_KEY_MAX_HELD
int "Sticky Key Max Held"
default 10
help
Max number of simultaneously held sticky keys
endif
config ZMK_BEHAVIOR_SOFT_OFF config ZMK_BEHAVIOR_SOFT_OFF
bool bool
default y default y
@ -32,6 +109,11 @@ config ZMK_BEHAVIOR_SENSOR_ROTATE_VAR
depends on DT_HAS_ZMK_BEHAVIOR_SENSOR_ROTATE_VAR_ENABLED depends on DT_HAS_ZMK_BEHAVIOR_SENSOR_ROTATE_VAR_ENABLED
select ZMK_BEHAVIOR_SENSOR_ROTATE_COMMON select ZMK_BEHAVIOR_SENSOR_ROTATE_COMMON
config ZMK_BEHAVIOR_STUDIO_UNLOCK
bool
default y
depends on DT_HAS_ZMK_BEHAVIOR_STUDIO_UNLOCK_ENABLED && ZMK_STUDIO
config ZMK_BEHAVIOR_MACRO config ZMK_BEHAVIOR_MACRO
bool bool
default y default y

View file

@ -4,6 +4,4 @@
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
*/ */
#include "usb_console.dtsi"
&xiao_serial { status = "disabled"; }; &xiao_serial { status = "disabled"; };

View file

@ -4,6 +4,4 @@
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
*/ */
#include "usb_console.dtsi"
&pro_micro_serial { status = "disabled"; }; &pro_micro_serial { status = "disabled"; };

View file

@ -4,6 +4,4 @@
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
*/ */
#include "usb_console.dtsi"
&xiao_serial { status = "disabled"; }; &xiao_serial { status = "disabled"; };

View file

@ -21,7 +21,6 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zephyr,console = &cdc_acm_uart;
zmk,kscan = &kscan0; zmk,kscan = &kscan0;
zmk,backlight = &backlight; zmk,backlight = &backlight;
zmk,battery = &vbatt; zmk,battery = &vbatt;
@ -90,11 +89,8 @@
status = "okay"; status = "okay";
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };
&flash0 { &flash0 {

View file

@ -0,0 +1,9 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
# Suppresses duplicate unit-address warning at build time for power, clock, acl and flash-controller
# https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")

View file

@ -16,7 +16,6 @@
chosen { chosen {
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zephyr,console = &cdc_acm_uart;
zmk,kscan = &kscan; zmk,kscan = &kscan;
zmk,underglow = &led_strip; zmk,underglow = &led_strip;
}; };
@ -106,13 +105,13 @@
apb1-prescaler = <1>; apb1-prescaler = <1>;
}; };
&usb { zephyr_udc0: &usb {
status = "okay"; status = "okay";
pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>; pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>;
pinctrl-names = "default"; pinctrl-names = "default";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart"; // Overridden to lower RAM usage.
}; num-bidir-endpoints = <4>;
}; };
&rtc { &rtc {

View file

@ -5,9 +5,6 @@ CONFIG_SOC_STM32F072XB=y
# 72MHz system clock # 72MHz system clock
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=72000000 CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=72000000
# Floating Point Options
CONFIG_FPU=y
# enable GPIO # enable GPIO
CONFIG_GPIO=y CONFIG_GPIO=y
@ -17,8 +14,7 @@ CONFIG_PINCTRL=y
# Poll to avoid interrupt overlap issues # Poll to avoid interrupt overlap issues
CONFIG_ZMK_KSCAN_DIRECT_POLLING=y CONFIG_ZMK_KSCAN_DIRECT_POLLING=y
# Needed to reduce this to size that will fit on F072 CONFIG_ISR_STACK_SIZE=1024
CONFIG_HEAP_MEM_POOL_SIZE=1024
# clock configuration # clock configuration
CONFIG_CLOCK_CONTROL=y CONFIG_CLOCK_CONTROL=y

View file

@ -53,5 +53,5 @@
pro_micro_d: &pro_micro {}; pro_micro_d: &pro_micro {};
pro_micro_i2c: &i2c0 {}; pro_micro_i2c: &i2c0 {};
pro_micro_spi: &spi0 {}; pro_micro_spi: &spi1 {};
pro_micro_serial: &uart0 {}; pro_micro_serial: &uart0 {};

View file

@ -36,4 +36,21 @@
low-power-enable; low-power-enable;
}; };
}; };
spi1_default: spi1_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
<NRF_PSEL(SPIM_MOSI, 0, 28)>,
<NRF_PSEL(SPIM_MISO, 0, 3)>;
};
};
spi1_sleep: spi1_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
<NRF_PSEL(SPIM_MOSI, 0, 28)>,
<NRF_PSEL(SPIM_MISO, 0, 3)>;
low-power-enable;
};
};
}; };

View file

@ -17,7 +17,6 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zephyr,console = &cdc_acm_uart;
zmk,battery = &vbatt; zmk,battery = &vbatt;
}; };
@ -67,6 +66,13 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&spi1 {
compatible = "nordic,nrf-spim";
pinctrl-0 = <&spi1_default>;
pinctrl-1 = <&spi1_sleep>;
pinctrl-names = "default", "sleep";
};
&uart0 { &uart0 {
compatible = "nordic,nrf-uarte"; compatible = "nordic,nrf-uarte";
current-speed = <115200>; current-speed = <115200>;
@ -75,11 +81,8 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };

View file

@ -0,0 +1,9 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
# Suppresses duplicate unit-address warning at build time for power, clock, acl and flash-controller
# https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")

View file

@ -16,7 +16,6 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
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;
@ -70,11 +69,8 @@
status = "okay"; status = "okay";
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };

View file

@ -0,0 +1,9 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
# Suppresses duplicate unit-address warning at build time for power, clock, acl and flash-controller
# https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")

View file

@ -142,7 +142,7 @@
status = "okay"; status = "okay";
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
}; };

View file

@ -0,0 +1,9 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
# Suppresses duplicate unit-address warning at build time for power, clock, acl and flash-controller
# https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")

View file

@ -20,7 +20,6 @@
zephyr,flash = &flash0; zephyr,flash = &flash0;
zmk,kscan = &kscan0; zmk,kscan = &kscan0;
zmk,display = &epd; zmk,display = &epd;
zephyr,console = &cdc_acm_uart;
zmk,matrix-transform = &default_transform; zmk,matrix-transform = &default_transform;
}; };
@ -76,11 +75,8 @@
status = "okay"; status = "okay";
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };
&flash0 { &flash0 {

View file

@ -88,7 +88,7 @@
fuelgauge: bq274xx@55 { fuelgauge: bq274xx@55 {
compatible = "ti,bq274xx"; compatible = "ti,bq274xx";
reg = <0x55>; reg = <0x55>;
design-voltage = <3700>; //Battery Design Volatge in mV design-voltage = <3700>; //Battery Design Voltage in mV
design-capacity = <180>; //Battery Design Capacity in mAh design-capacity = <180>; //Battery Design Capacity in mAh
taper-current = <2>; //Battery Taper current in mAh taper-current = <2>; //Battery Taper current in mAh
terminate-voltage = <2750>; //Battery Terminate Voltage in mV terminate-voltage = <2750>; //Battery Terminate Voltage in mV

View file

@ -96,7 +96,7 @@
fuelgauge: bq274xx@55 { fuelgauge: bq274xx@55 {
compatible = "ti,bq274xx"; compatible = "ti,bq274xx";
reg = <0x55>; reg = <0x55>;
design-voltage = <3700>; //Battery Design Volatge in mV design-voltage = <3700>; //Battery Design Voltage in mV
design-capacity = <180>; //Battery Design Capacity in mAh design-capacity = <180>; //Battery Design Capacity in mAh
taper-current = <2>; //Battery Taper current in mAh 2.1 taper-current = <2>; //Battery Taper current in mAh 2.1
terminate-voltage = <2750>; //Battery Terminate Voltage in mV terminate-voltage = <2750>; //Battery Terminate Voltage in mV

View file

@ -0,0 +1,9 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
# Suppresses duplicate unit-address warning at build time for power, clock, acl and flash-controller
# https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")

View file

@ -16,7 +16,6 @@
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 = &default_transform; zmk,matrix-transform = &default_transform;
}; };
@ -65,11 +64,8 @@ RC(4,0) RC(4,1) RC(4,2) RC(4,5) RC(
}; };
&usb { zephyr_udc0: &usb {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };
&flash0 { &flash0 {

View file

@ -17,7 +17,6 @@
chosen { chosen {
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
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
@ -110,14 +109,11 @@
}; };
}; };
&usb { zephyr_udc0: &usb {
status = "okay"; status = "okay";
pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>; pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>;
pinctrl-names = "default"; pinctrl-names = "default";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };
&clk_hsi { &clk_hsi {

View file

@ -15,7 +15,6 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zephyr,console = &cdc_acm_uart;
}; };
default_transform: keymap_transform_0 { default_transform: keymap_transform_0 {
@ -59,11 +58,8 @@
status = "okay"; status = "okay";
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };
&flash0 { &flash0 {

View file

@ -0,0 +1,9 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
# Suppresses duplicate unit-address warning at build time for power, clock, acl and flash-controller
# https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")

View file

@ -13,8 +13,6 @@
chosen { chosen {
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zephyr,console = &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;
@ -108,11 +106,8 @@ RC(4,0) RC(4,1) RC(4,2) RC(4,6) RC(4,8) RC(4,9)
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };

View file

@ -4,6 +4,12 @@ config BOARD_ENABLE_DCDC
default y default y
depends on (BOARD_MIKOTO_520) depends on (BOARD_MIKOTO_520)
config BOARD_ENABLE_DCDC_HV
bool "High voltage DCDC converter"
select SOC_DCDC_NRF52X_HV
default y
depends on (BOARD_MIKOTO_520)
choice BOARD_MIKOTO_CHARGER_CURRENT choice BOARD_MIKOTO_CHARGER_CURRENT
prompt "Charge current to supply to attached batteries" prompt "Charge current to supply to attached batteries"
depends on (BOARD_MIKOTO_520) depends on (BOARD_MIKOTO_520)

View file

@ -55,5 +55,5 @@
pro_micro_d: &pro_micro {}; pro_micro_d: &pro_micro {};
pro_micro_i2c: &i2c0 {}; pro_micro_i2c: &i2c0 {};
pro_micro_spi: &spi0 {}; pro_micro_spi: &spi1 {};
pro_micro_serial: &uart0 {}; pro_micro_serial: &uart0 {};

View file

@ -36,4 +36,21 @@
low-power-enable; low-power-enable;
}; };
}; };
spi1_default: spi1_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 2)>,
<NRF_PSEL(SPIM_MOSI, 0, 10)>,
<NRF_PSEL(SPIM_MISO, 1, 13)>;
};
};
spi1_sleep: spi1_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 2)>,
<NRF_PSEL(SPIM_MOSI, 0, 10)>,
<NRF_PSEL(SPIM_MISO, 1, 13)>;
low-power-enable;
};
};
}; };

View file

@ -17,7 +17,6 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zephyr,console = &cdc_acm_uart;
zmk,battery = &vbatt; zmk,battery = &vbatt;
}; };
@ -66,6 +65,13 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&spi1 {
compatible = "nordic,nrf-spim";
pinctrl-0 = <&spi1_default>;
pinctrl-1 = <&spi1_sleep>;
pinctrl-names = "default", "sleep";
};
&uart0 { &uart0 {
compatible = "nordic,nrf-uarte"; compatible = "nordic,nrf-uarte";
current-speed = <115200>; current-speed = <115200>;
@ -74,11 +80,8 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };

View file

@ -0,0 +1,9 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
# Suppresses duplicate unit-address warning at build time for power, clock, acl and flash-controller
# https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")

View file

@ -20,7 +20,6 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
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;
@ -129,11 +128,8 @@ RC(4,0) RC(4,1) RC(4,2) RC(4,5) R
}; };
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };
&flash0 { &flash0 {

View file

@ -0,0 +1,9 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
# Suppresses duplicate unit-address warning at build time for power, clock, acl and flash-controller
# https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")

View file

@ -5,3 +5,9 @@ config BOARD_ENABLE_DCDC
select SOC_DCDC_NRF52X select SOC_DCDC_NRF52X
default y default y
depends on (BOARD_NICE_NANO || BOARD_NICE_NANO_V2) depends on (BOARD_NICE_NANO || BOARD_NICE_NANO_V2)
config BOARD_ENABLE_DCDC_HV
bool "High voltage DCDC converter"
select SOC_DCDC_NRF52X_HV
default y
depends on (BOARD_NICE_NANO_V2)

View file

@ -53,5 +53,5 @@
pro_micro_d: &pro_micro {}; pro_micro_d: &pro_micro {};
pro_micro_i2c: &i2c0 {}; pro_micro_i2c: &i2c0 {};
pro_micro_spi: &spi0 {}; pro_micro_spi: &spi1 {};
pro_micro_serial: &uart0 {}; pro_micro_serial: &uart0 {};

View file

@ -36,4 +36,21 @@
low-power-enable; low-power-enable;
}; };
}; };
spi1_default: spi1_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
<NRF_PSEL(SPIM_MOSI, 0, 10)>,
<NRF_PSEL(SPIM_MISO, 1, 11)>;
};
};
spi1_sleep: spi1_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
<NRF_PSEL(SPIM_MOSI, 0, 10)>,
<NRF_PSEL(SPIM_MISO, 1, 11)>;
low-power-enable;
};
};
}; };

View file

@ -16,7 +16,6 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zephyr,console = &cdc_acm_uart;
}; };
leds { leds {
@ -50,6 +49,13 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&spi1 {
compatible = "nordic,nrf-spim";
pinctrl-0 = <&spi1_default>;
pinctrl-1 = <&spi1_sleep>;
pinctrl-names = "default", "sleep";
};
&uart0 { &uart0 {
compatible = "nordic,nrf-uarte"; compatible = "nordic,nrf-uarte";
current-speed = <115200>; current-speed = <115200>;
@ -58,11 +64,8 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };

View file

@ -0,0 +1,9 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
# Suppresses duplicate unit-address warning at build time for power, clock, acl and flash-controller
# https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")

View file

@ -15,7 +15,6 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zephyr,console = &cdc_acm_uart;
zmk,battery = &vbatt; zmk,battery = &vbatt;
}; };
@ -57,12 +56,9 @@
status = "okay"; status = "okay";
}; };
&usbd { zephyr_udc0: &usbd {
compatible = "nordic,nrf-usbd"; compatible = "nordic,nrf-usbd";
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };

View file

@ -0,0 +1,9 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
# Suppresses duplicate unit-address warning at build time for power, clock, acl and flash-controller
# https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")

View file

@ -55,5 +55,5 @@
pro_micro_d: &pro_micro {}; pro_micro_d: &pro_micro {};
pro_micro_i2c: &i2c0 {}; pro_micro_i2c: &i2c0 {};
pro_micro_spi: &spi0 {}; pro_micro_spi: &spi1 {};
pro_micro_serial: &uart0 {}; pro_micro_serial: &uart0 {};

View file

@ -55,5 +55,5 @@
pro_micro_d: &pro_micro {}; pro_micro_d: &pro_micro {};
pro_micro_i2c: &i2c0 {}; pro_micro_i2c: &i2c0 {};
pro_micro_spi: &spi0 {}; pro_micro_spi: &spi1 {};
pro_micro_serial: &uart0 {}; pro_micro_serial: &uart0 {};

View file

@ -53,5 +53,5 @@
pro_micro_d: &pro_micro {}; pro_micro_d: &pro_micro {};
pro_micro_i2c: &i2c0 {}; pro_micro_i2c: &i2c0 {};
pro_micro_spi: &spi0 {}; pro_micro_spi: &spi1 {};
pro_micro_serial: &uart0 {}; pro_micro_serial: &uart0 {};

View file

@ -36,4 +36,21 @@
low-power-enable; low-power-enable;
}; };
}; };
spi1_default: spi1_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 9)>,
<NRF_PSEL(SPIM_MOSI, 0, 10)>,
<NRF_PSEL(SPIM_MISO, 1, 6)>;
};
};
spi1_sleep: spi1_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 9)>,
<NRF_PSEL(SPIM_MOSI, 0, 10)>,
<NRF_PSEL(SPIM_MISO, 1, 6)>;
low-power-enable;
};
};
}; };

View file

@ -36,4 +36,21 @@
low-power-enable; low-power-enable;
}; };
}; };
spi1_default: spi1_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
<NRF_PSEL(SPIM_MOSI, 0, 28)>,
<NRF_PSEL(SPIM_MISO, 0, 3)>;
};
};
spi1_sleep: spi1_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
<NRF_PSEL(SPIM_MOSI, 0, 28)>,
<NRF_PSEL(SPIM_MISO, 0, 3)>;
low-power-enable;
};
};
}; };

View file

@ -17,7 +17,6 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zephyr,console = &cdc_acm_uart;
}; };
leds { leds {
@ -54,6 +53,13 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&spi1 {
compatible = "nordic,nrf-spim";
pinctrl-0 = <&spi1_default>;
pinctrl-1 = <&spi1_sleep>;
pinctrl-names = "default", "sleep";
};
&uart0 { &uart0 {
compatible = "nordic,nrf-uarte"; compatible = "nordic,nrf-uarte";
current-speed = <115200>; current-speed = <115200>;
@ -62,11 +68,8 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };

View file

@ -17,7 +17,6 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zephyr,console = &cdc_acm_uart;
}; };
leds { leds {
@ -54,6 +53,13 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&spi1 {
compatible = "nordic,nrf-spim";
pinctrl-0 = <&spi1_default>;
pinctrl-1 = <&spi1_sleep>;
pinctrl-names = "default", "sleep";
};
&uart0 { &uart0 {
compatible = "nordic,nrf-uarte"; compatible = "nordic,nrf-uarte";
current-speed = <115200>; current-speed = <115200>;
@ -62,11 +68,8 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };

View file

@ -17,7 +17,6 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zephyr,console = &cdc_acm_uart;
zmk,battery = &vbatt; zmk,battery = &vbatt;
}; };
@ -66,6 +65,13 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&spi1 {
compatible = "nordic,nrf-spim";
pinctrl-0 = <&spi1_default>;
pinctrl-1 = <&spi1_sleep>;
pinctrl-names = "default", "sleep";
};
&uart0 { &uart0 {
compatible = "nordic,nrf-uarte"; compatible = "nordic,nrf-uarte";
current-speed = <115200>; current-speed = <115200>;
@ -74,11 +80,8 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };

View file

@ -17,7 +17,6 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zephyr,console = &cdc_acm_uart;
zmk,battery = &vbatt; zmk,battery = &vbatt;
}; };
@ -66,6 +65,13 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&spi1 {
compatible = "nordic,nrf-spim";
pinctrl-0 = <&spi1_default>;
pinctrl-1 = <&spi1_sleep>;
pinctrl-names = "default", "sleep";
};
&uart0 { &uart0 {
compatible = "nordic,nrf-uarte"; compatible = "nordic,nrf-uarte";
current-speed = <115200>; current-speed = <115200>;
@ -74,11 +80,8 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };

View file

@ -0,0 +1,9 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
# Suppresses duplicate unit-address warning at build time for power, clock, acl and flash-controller
# https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")

View file

@ -18,7 +18,6 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zephyr,console = &cdc_acm_uart;
zmk,battery = &vbatt; zmk,battery = &vbatt;
}; };
@ -83,11 +82,8 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };

View file

@ -0,0 +1,9 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
# Suppresses duplicate unit-address warning at build time for power, clock, acl and flash-controller
# https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")

View file

@ -16,7 +16,6 @@
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;
}; };
@ -96,13 +95,10 @@ layout_2x2u_transform:
}; };
}; };
&usb { zephyr_udc0: &usb {
pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>; pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>;
pinctrl-names = "default"; pinctrl-names = "default";
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };
&clk_hse { &clk_hse {

View file

@ -17,7 +17,6 @@
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;
}; };
@ -90,13 +89,10 @@
}; };
}; };
&usb { zephyr_udc0: &usb {
pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>; pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>;
pinctrl-names = "default"; pinctrl-names = "default";
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };
&clk_hse { &clk_hse {

View file

@ -16,7 +16,6 @@
chosen { chosen {
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zephyr,console = &cdc_acm_uart0;
}; };
aliases { aliases {
@ -66,13 +65,10 @@
apb2-prescaler = <1>; apb2-prescaler = <1>;
}; };
&usb { zephyr_udc0: &usb {
pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>; pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>;
pinctrl-names = "default"; pinctrl-names = "default";
status = "okay"; status = "okay";
cdc_acm_uart0: cdc_acm_uart0 {
compatible = "zephyr,cdc-acm-uart";
};
}; };
&rtc { &rtc {

View file

@ -0,0 +1,9 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
# Suppresses duplicate unit-address warning at build time for power, clock, acl and flash-controller
# https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")

View file

@ -17,7 +17,6 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
zephyr,console = &cdc_acm_uart;
zmk,battery = &vbatt; zmk,battery = &vbatt;
}; };
@ -72,11 +71,8 @@
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };

View file

@ -0,0 +1,9 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
# Suppresses duplicate unit-address warning at build time for power, clock, acl and flash-controller
# https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled")

View file

@ -16,7 +16,6 @@
zephyr,code-partition = &code_partition; zephyr,code-partition = &code_partition;
zephyr,sram = &sram0; zephyr,sram = &sram0;
zephyr,flash = &flash0; zephyr,flash = &flash0;
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;
@ -93,11 +92,8 @@
status = "okay"; status = "okay";
}; };
&usbd { zephyr_udc0: &usbd {
status = "okay"; status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
}; };
&flash0 { &flash0 {

View file

@ -4,6 +4,4 @@
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
*/ */
#include "usb_console.dtsi"
&pro_micro_serial { status = "disabled"; }; &pro_micro_serial { status = "disabled"; };

View file

@ -5,7 +5,7 @@ type: interconnect
url: https://wiki.seeedstudio.com/Seeeduino-XIAO/ url: https://wiki.seeedstudio.com/Seeeduino-XIAO/
manufacturer: Seeed manufacturer: Seeed
description: | description: |
The Seeed(uino) XIAO is a popular smaller format micro-controller, that has gained popularity as an alterative The Seeed(uino) 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 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 Seeeduino XIAO BLE, Adafruit QT Py and Adafruit QT Py RP2040, have become available.
node_labels: node_labels:

View file

@ -1,8 +0,0 @@
/*
* Copyright (c) 2023 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#include "usb_console.dtsi"

View file

@ -1,18 +0,0 @@
/*
* Copyright (c) 2022 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
/ {
chosen {
zephyr,console = &cdc_acm_uart;
};
};
&usb0 {
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
};

View file

@ -7,7 +7,6 @@
/ { / {
chosen { chosen {
zephyr,console = &cdc_acm_uart;
zmk,battery = &vbatt; zmk,battery = &vbatt;
}; };
@ -24,12 +23,6 @@
status = "okay"; status = "okay";
}; };
&usbd {
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
};
&qspi { &qspi {
status = "okay"; status = "okay";
pinctrl-0 = <&qspi_default>; pinctrl-0 = <&qspi_default>;

View file

@ -2,3 +2,10 @@ CONFIG_CONSOLE=n
CONFIG_SERIAL=n CONFIG_SERIAL=n
CONFIG_UART_CONSOLE=n CONFIG_UART_CONSOLE=n
CONFIG_ZMK_USB=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

View file

@ -4,6 +4,19 @@
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
*/ */
#include "usb_console.dtsi"
&xiao_serial { status = "disabled"; }; &xiao_serial { status = "disabled"; };
&code_partition {
reg = <0x100 (DT_SIZE_M(2) - 0x100 - DT_SIZE_K(512))>;
};
&flash0 {
reg = <0x10000000 DT_SIZE_M(2)>;
partitions {
storage_partition: partition@180000 {
reg = <0x180000 DT_SIZE_K(512)>;
read-only;
};
};
};

View file

@ -2,7 +2,7 @@ file_format: "1"
id: pancake id: pancake
name: Pancake name: Pancake
type: shield type: shield
url: https://mkultra.click/pancake-keyboard-kit url: https://github.com/Spaceboards/SpaceboardsHardware/tree/master/Keyboards/Pancake/V1
requires: [pro_micro] requires: [pro_micro]
features: features:
- keys - keys

View file

@ -40,10 +40,8 @@ nice_view_spi: &arduino_spi {
/ { / {
chosen { chosen {
zmk,kscan = &kscan_matrix;
zmk,backlight = &backlight; zmk,backlight = &backlight;
zmk,underglow = &led_strip; zmk,underglow = &led_strip;
zmk,matrix-transform = &matrix_transform;
}; };
// Commented out until we add more powerful power domain support // Commented out until we add more powerful power domain support
@ -109,7 +107,6 @@ nice_view_spi: &arduino_spi {
kscan_direct: kscan_direct { kscan_direct: kscan_direct {
compatible = "zmk,kscan-gpio-direct"; compatible = "zmk,kscan-gpio-direct";
wakeup-source; wakeup-source;
status = "disabled";
input-gpios input-gpios
= <&arduino_header 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> = <&arduino_header 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
@ -125,9 +122,9 @@ nice_view_spi: &arduino_spi {
toggle-mode; toggle-mode;
input-gpios input-gpios
= <&arduino_header 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> = <&arduino_header 4 GPIO_ACTIVE_LOW>
, <&arduino_header 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> , <&arduino_header 3 GPIO_ACTIVE_LOW>
, <&arduino_header 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> , <&arduino_header 2 GPIO_ACTIVE_LOW>
; ;
}; };

View file

@ -13,13 +13,9 @@
// Uncomment the following lines if using the "Direct Wire" jumper to switch the matrix to a direct wire. // Uncomment the following lines if using the "Direct Wire" jumper to switch the matrix to a direct wire.
// &kscan_direct { status = "okay"; };
// &kscan_matrix { status = "disabled"; };
// / { // / {
// chosen { // chosen {
// zmk,matrix-transform = &direct_matrix_transform; // zmk,physical-layout = &direct_physical_layout;
// zmk,kscan = &kscan_direct;
// }; // };
// }; // };

View file

@ -7,13 +7,15 @@
#include "zmk_uno.dtsi" #include "zmk_uno.dtsi"
#include <behaviors.dtsi> #include <behaviors.dtsi>
#include <physical_layouts.dtsi>
#include <dt-bindings/zmk/bt.h> #include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/outputs.h> #include <dt-bindings/zmk/outputs.h>
/ { / {
chosen { chosen {
zmk,matrix-transform = &matrix_transform; zmk,physical-layout = &matrix_physical_layout;
}; };
sensors: sensors { sensors: sensors {
compatible = "zmk,keymap-sensors"; compatible = "zmk,keymap-sensors";
sensors = <&encoder>; sensors = <&encoder>;
@ -38,6 +40,8 @@
endpoint_sideband_behaviors { endpoint_sideband_behaviors {
compatible = "zmk,kscan-sideband-behaviors"; compatible = "zmk,kscan-sideband-behaviors";
auto-enable;
kscan = <&kscan_sp3t_toggle>; kscan = <&kscan_sp3t_toggle>;
first_toggle_sideband: first_toggle_sideband { first_toggle_sideband: first_toggle_sideband {
@ -56,4 +60,35 @@
}; };
}; };
matrix_physical_layout: matrix_physical_layout {
compatible = "zmk,physical-layout";
display-name = "Matrix Layout";
kscan = <&kscan_matrix>;
transform = <&matrix_transform>;
keys
= <&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 0 100 0 0 0>
, <&key_physical_attrs 100 100 100 100 0 0 0>
;
};
direct_physical_layout: direct_physical_layout {
compatible = "zmk,physical-layout";
display-name = "Direct Wire Layout";
kscan = <&kscan_direct>;
transform = <&direct_matrix_transform>;
keys
= <&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 0 100 0 0 0>
, <&key_physical_attrs 100 100 100 100 0 0 0>
;
};
}; };

View file

@ -6,13 +6,15 @@
#include "zmk_uno.dtsi" #include "zmk_uno.dtsi"
#include <physical_layouts.dtsi>
left_encoder: &encoder { left_encoder: &encoder {
status = "disabled"; status = "disabled";
}; };
/ { / {
chosen { chosen {
zmk,matrix-transform = &split_matrix_transform; zmk,physical-layout = &matrix_physical_layout;
}; };
split_matrix_transform: split_matrix_transform { split_matrix_transform: split_matrix_transform {
@ -31,18 +33,57 @@
split_direct_matrix_transform: split_direct_matrix_transform { split_direct_matrix_transform: split_direct_matrix_transform {
compatible = "zmk,matrix-transform"; compatible = "zmk,matrix-transform";
rows = <3>; rows = <2>;
columns = <4>; columns = <4>;
map = < map = <
RC(0,0) RC(0,1) RC(0,0) RC(0,1)
RC(0,2) RC(0,3) RC(0,2) RC(0,3)
RC(2,0) RC(2,1) RC(1,0) RC(1,1)
RC(2,2) RC(2,3) RC(1,2) RC(1,3)
>; >;
}; };
matrix_physical_layout: matrix_physical_layout {
compatible = "zmk,physical-layout";
display-name = "Matrix Layout";
kscan = <&kscan_matrix>;
transform = <&split_matrix_transform>;
keys
= <&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 0 100 0 0 0>
, <&key_physical_attrs 100 100 100 100 0 0 0>
, <&key_physical_attrs 100 100 0 200 0 0 0>
, <&key_physical_attrs 100 100 100 200 0 0 0>
, <&key_physical_attrs 100 100 0 300 0 0 0>
, <&key_physical_attrs 100 100 100 300 0 0 0>
;
};
direct_physical_layout: direct_physical_layout {
compatible = "zmk,physical-layout";
display-name = "Direct Wire Layout";
kscan = <&kscan_direct>;
transform = <&split_direct_matrix_transform>;
keys
= <&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 0 100 0 0 0>
, <&key_physical_attrs 100 100 100 100 0 0 0>
, <&key_physical_attrs 100 100 0 200 0 0 0>
, <&key_physical_attrs 100 100 100 200 0 0 0>
, <&key_physical_attrs 100 100 0 300 0 0 0>
, <&key_physical_attrs 100 100 100 300 0 0 0>
;
};
right_encoder: right_encoder { right_encoder: right_encoder {
steps = <80>; steps = <80>;
status = "disabled"; status = "disabled";

View file

@ -14,14 +14,9 @@
// Uncomment the following lines if using the "Direct Wire" jumper to switch the matrix to a direct wire. // Uncomment the following lines if using the "Direct Wire" jumper to switch the matrix to a direct wire.
// &kscan_direct { status = "okay"; };
// &kscan_matrix { status = "disabled"; };
// / { // / {
// chosen { // chosen {
// zmk,matrix-transform = &split_direct_matrix_transform; // zmk,physical-layout = &direct_physical_layout;
// zmk,kscan = &kscan_direct;
// }; // };
// }; // };

View file

@ -11,7 +11,7 @@
}; };
&split_direct_matrix_transform { &split_direct_matrix_transform {
row-offset = <2>; row-offset = <1>;
}; };
&right_encoder { &right_encoder {

View file

@ -4,6 +4,4 @@
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
*/ */
#include "usb_console.dtsi"
&pro_micro_serial { status = "disabled"; }; &pro_micro_serial { status = "disabled"; };

View file

@ -1,19 +0,0 @@
/*
* Copyright (c) 2023 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
/ {
chosen {
zephyr,console = &cdc_acm_uart;
};
};
&usbd {
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
};

View file

@ -22,6 +22,13 @@ include:
shield: kyria_left shield: kyria_left
cmake-args: "-DCONFIG_ZMK_DISPLAY=y" cmake-args: "-DCONFIG_ZMK_DISPLAY=y"
nickname: "display" nickname: "display"
- board: nice_nano_v2
shield: kyria_left
cmake-args: "-DCONFIG_ZMK_MOUSE=y"
nickname: "mouse"
- board: sparkfun_pro_micro_rp2040
shield: reviung41
cmake-args: "-DSNIPPET='zmk-usb-logging'"
- board: nice_nano_v2 - board: nice_nano_v2
shield: kyria_right shield: kyria_right
cmake-args: "-DCONFIG_ZMK_DISPLAY=y" cmake-args: "-DCONFIG_ZMK_DISPLAY=y"
@ -33,3 +40,32 @@ include:
- board: nice_nano_v2 - board: nice_nano_v2
shield: lily58_left nice_view_adapter nice_view shield: lily58_left nice_view_adapter nice_view
nickname: "niceview" nickname: "niceview"
- board: bdn9_rev2
snippet: studio-rpc-usb-uart
cmake-args: "-DCONFIG_ZMK_STUDIO=y"
nickname: "stm32-studio"
- board: nice_nano_v2
shield: reviung41
snippet: studio-rpc-usb-uart
cmake-args: "-DCONFIG_ZMK_STUDIO=y"
nickname: "nrf52-studio"
- board: nice_nano_v2
shield: corne_left
snippet: studio-rpc-usb-uart
cmake-args: "-DCONFIG_ZMK_STUDIO=y"
nickname: "split-left-studio"
- board: nice_nano_v2
shield: corne_right
snippet: studio-rpc-usb-uart
cmake-args: "-DCONFIG_ZMK_STUDIO=y"
nickname: "split-right-studio"
- board: sparkfun_pro_micro_rp2040
shield: reviung41
snippet: studio-rpc-usb-uart
cmake-args: "-DCONFIG_ZMK_STUDIO=y"
nickname: "rp2040-studio"
- board: seeeduino_xiao
shield: hummingbird
snippet: studio-rpc-usb-uart
cmake-args: "-DCONFIG_ZMK_STUDIO=y"
nickname: "samd21-studio"

View file

@ -21,4 +21,5 @@
#include <behaviors/macros.dtsi> #include <behaviors/macros.dtsi>
#include <behaviors/mouse_key_press.dtsi> #include <behaviors/mouse_key_press.dtsi>
#include <behaviors/soft_off.dtsi> #include <behaviors/soft_off.dtsi>
#include <behaviors/studio_unlock.dtsi>
#include <behaviors/default_layer.dtsi> #include <behaviors/default_layer.dtsi>

View file

@ -10,6 +10,7 @@
/omit-if-no-ref/ bl: bcklight { /omit-if-no-ref/ bl: bcklight {
compatible = "zmk,behavior-backlight"; compatible = "zmk,behavior-backlight";
#binding-cells = <2>; #binding-cells = <2>;
display-name = "Backlight";
}; };
}; };
}; };

View file

@ -9,6 +9,7 @@
/omit-if-no-ref/ bt: bluetooth { /omit-if-no-ref/ bt: bluetooth {
compatible = "zmk,behavior-bluetooth"; compatible = "zmk,behavior-bluetooth";
#binding-cells = <2>; #binding-cells = <2>;
display-name = "Bluetooth";
}; };
}; };
}; };

View file

@ -12,6 +12,7 @@
compatible = "zmk,behavior-caps-word"; compatible = "zmk,behavior-caps-word";
#binding-cells = <0>; #binding-cells = <0>;
continue-list = <UNDERSCORE BACKSPACE DELETE>; continue-list = <UNDERSCORE BACKSPACE DELETE>;
display-name = "Caps Word";
}; };
}; };
}; };

View file

@ -10,6 +10,7 @@
ext_power: extpower { ext_power: extpower {
compatible = "zmk,behavior-ext-power"; compatible = "zmk,behavior-ext-power";
#binding-cells = <1>; #binding-cells = <1>;
display-name = "External Power";
}; };
}; };
}; };

View file

@ -13,6 +13,7 @@
#binding-cells = <0>; #binding-cells = <0>;
bindings = <&kp ESC>, <&kp GRAVE>; bindings = <&kp ESC>, <&kp GRAVE>;
mods = <(MOD_LGUI|MOD_LSFT|MOD_RGUI|MOD_RSFT)>; mods = <(MOD_LGUI|MOD_LSFT|MOD_RGUI|MOD_RSFT)>;
display-name = "Grave/Escape";
}; };
}; };
}; };

View file

@ -10,6 +10,7 @@
/omit-if-no-ref/ cp: kp: key_press { /omit-if-no-ref/ cp: kp: key_press {
compatible = "zmk,behavior-key-press"; compatible = "zmk,behavior-key-press";
#binding-cells = <1>; #binding-cells = <1>;
display-name = "Key Press";
}; };
}; };
}; };

View file

@ -12,6 +12,7 @@
compatible = "zmk,behavior-key-repeat"; compatible = "zmk,behavior-key-repeat";
#binding-cells = <0>; #binding-cells = <0>;
usage-pages = <HID_USAGE_KEY>; usage-pages = <HID_USAGE_KEY>;
display-name = "Key Repeat";
}; };
}; };
}; };

View file

@ -9,6 +9,7 @@
/omit-if-no-ref/ kt: key_toggle { /omit-if-no-ref/ kt: key_toggle {
compatible = "zmk,behavior-key-toggle"; compatible = "zmk,behavior-key-toggle";
#binding-cells = <1>; #binding-cells = <1>;
display-name = "Key Toggle";
}; };
}; };
}; };

View file

@ -12,6 +12,7 @@
flavor = "tap-preferred"; flavor = "tap-preferred";
tapping-term-ms = <200>; tapping-term-ms = <200>;
bindings = <&mo>, <&kp>; bindings = <&mo>, <&kp>;
display-name = "Layer-Tap";
}; };
}; };
}; };

View file

@ -12,6 +12,7 @@
flavor = "hold-preferred"; flavor = "hold-preferred";
tapping-term-ms = <200>; tapping-term-ms = <200>;
bindings = <&kp>, <&kp>; bindings = <&kp>, <&kp>;
display-name = "Mod-Tap";
}; };
}; };
}; };

View file

@ -9,6 +9,7 @@
/omit-if-no-ref/ mo: momentary_layer { /omit-if-no-ref/ mo: momentary_layer {
compatible = "zmk,behavior-momentary-layer"; compatible = "zmk,behavior-momentary-layer";
#binding-cells = <1>; #binding-cells = <1>;
display-name = "Momentary Layer";
}; };
}; };
}; };

View file

@ -9,6 +9,7 @@
/omit-if-no-ref/ none: none { /omit-if-no-ref/ none: none {
compatible = "zmk,behavior-none"; compatible = "zmk,behavior-none";
#binding-cells = <0>; #binding-cells = <0>;
display-name = "None";
}; };
}; };
}; };

View file

@ -9,6 +9,7 @@
/omit-if-no-ref/ out: outputs { /omit-if-no-ref/ out: outputs {
compatible = "zmk,behavior-outputs"; compatible = "zmk,behavior-outputs";
#binding-cells = <1>; #binding-cells = <1>;
display-name = "Output Selection";
}; };
}; };
}; };

View file

@ -12,6 +12,7 @@
sys_reset: sysreset { sys_reset: sysreset {
compatible = "zmk,behavior-reset"; compatible = "zmk,behavior-reset";
#binding-cells = <0>; #binding-cells = <0>;
display-name = "Reset";
}; };
// Behavior can be invoked on peripherals, so name must be <= 8 characters. // Behavior can be invoked on peripherals, so name must be <= 8 characters.
@ -19,6 +20,7 @@
compatible = "zmk,behavior-reset"; compatible = "zmk,behavior-reset";
type = <RST_UF2>; type = <RST_UF2>;
#binding-cells = <0>; #binding-cells = <0>;
display-name = "Bootloader";
}; };
}; };
}; };

View file

@ -10,6 +10,7 @@
rgb_ug: rgb_ug { rgb_ug: rgb_ug {
compatible = "zmk,behavior-rgb-underglow"; compatible = "zmk,behavior-rgb-underglow";
#binding-cells = <2>; #binding-cells = <2>;
display-name = "Underglow";
}; };
}; };
}; };

View file

@ -6,7 +6,7 @@
/ { / {
behaviors { behaviors {
/omit-if-no-ref/ soft_off: keymap_soft_off { /omit-if-no-ref/ soft_off: z_so_off {
compatible = "zmk,behavior-soft-off"; compatible = "zmk,behavior-soft-off";
#binding-cells = <0>; #binding-cells = <0>;
split-peripheral-off-on-press; split-peripheral-off-on-press;

View file

@ -12,6 +12,7 @@
release-after-ms = <1000>; release-after-ms = <1000>;
bindings = <&kp>; bindings = <&kp>;
ignore-modifiers; ignore-modifiers;
display-name = "Sticky Key";
}; };
/omit-if-no-ref/ sl: sticky_layer { /omit-if-no-ref/ sl: sticky_layer {
compatible = "zmk,behavior-sticky-key"; compatible = "zmk,behavior-sticky-key";
@ -19,6 +20,7 @@
release-after-ms = <1000>; release-after-ms = <1000>;
bindings = <&mo>; bindings = <&mo>;
quick-release; quick-release;
display-name = "Sticky Layer";
}; };
}; };

View file

@ -0,0 +1,15 @@
/*
* Copyright (c) 2024 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
/ {
behaviors {
studio_unlock: studio_unlock {
compatible = "zmk,behavior-studio-unlock";
#binding-cells = <0>;
display-name = "Studio Unlock";
};
};
};

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