Merge https://github.com/zmkfirmware/zmk into main
This commit is contained in:
commit
81c39322d3
212 changed files with 969 additions and 316 deletions
13
.github/workflows/build.yml
vendored
13
.github/workflows/build.yml
vendored
|
@ -55,13 +55,23 @@ jobs:
|
||||||
- splitreus62_right
|
- splitreus62_right
|
||||||
- tg4x
|
- tg4x
|
||||||
- tidbit
|
- tidbit
|
||||||
|
cmake-args: [""]
|
||||||
include:
|
include:
|
||||||
|
- board: bdn9_rev2
|
||||||
- board: dz60rgb_rev1
|
- board: dz60rgb_rev1
|
||||||
- board: nrf52840_m2
|
- board: nrf52840_m2
|
||||||
shield: m60
|
shield: m60
|
||||||
- board: planck_rev6
|
- board: planck_rev6
|
||||||
- board: proton_c
|
- board: proton_c
|
||||||
shield: clueboard_california
|
shield: clueboard_california
|
||||||
|
- board: nice_nano
|
||||||
|
shield: kyria_left
|
||||||
|
cmake-args: -DCONFIG_ZMK_DISPLAY=y
|
||||||
|
skip-archive: true
|
||||||
|
- board: nice_nano
|
||||||
|
shield: kyria_right
|
||||||
|
cmake-args: -DCONFIG_ZMK_DISPLAY=y
|
||||||
|
skip-archive: true
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
@ -104,8 +114,9 @@ jobs:
|
||||||
echo ::set-output name=shield-arg::${SHIELD_ARG}
|
echo ::set-output name=shield-arg::${SHIELD_ARG}
|
||||||
echo ::set-output name=artifact-name::${ARTIFACT_NAME}
|
echo ::set-output name=artifact-name::${ARTIFACT_NAME}
|
||||||
- name: Build (west build)
|
- name: Build (west build)
|
||||||
run: west build -s app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }}
|
run: west build -s app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} ${{ matrix.cmake-args }}
|
||||||
- name: Archive artifacts
|
- name: Archive artifacts
|
||||||
|
if: ${{ !matrix.skip-archive }}
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: "${{ steps.variables.outputs.artifact-name }}"
|
name: "${{ steps.variables.outputs.artifact-name }}"
|
||||||
|
|
|
@ -39,7 +39,7 @@ target_sources(app PRIVATE src/events/sensor_event.c)
|
||||||
target_sources_ifdef(CONFIG_ZMK_BLE app PRIVATE src/events/ble_active_profile_changed.c)
|
target_sources_ifdef(CONFIG_ZMK_BLE app PRIVATE src/events/ble_active_profile_changed.c)
|
||||||
target_sources_ifdef(CONFIG_ZMK_BLE app PRIVATE src/events/battery_state_changed.c)
|
target_sources_ifdef(CONFIG_ZMK_BLE app PRIVATE src/events/battery_state_changed.c)
|
||||||
target_sources_ifdef(CONFIG_USB app PRIVATE src/events/usb_conn_state_changed.c)
|
target_sources_ifdef(CONFIG_USB app PRIVATE src/events/usb_conn_state_changed.c)
|
||||||
if (NOT CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL)
|
if ((NOT CONFIG_ZMK_SPLIT) OR CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL)
|
||||||
target_sources(app PRIVATE src/behaviors/behavior_key_press.c)
|
target_sources(app PRIVATE src/behaviors/behavior_key_press.c)
|
||||||
target_sources(app PRIVATE src/behaviors/behavior_reset.c)
|
target_sources(app PRIVATE src/behaviors/behavior_reset.c)
|
||||||
target_sources(app PRIVATE src/behaviors/behavior_hold_tap.c)
|
target_sources(app PRIVATE src/behaviors/behavior_hold_tap.c)
|
||||||
|
@ -47,6 +47,7 @@ if (NOT CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL)
|
||||||
target_sources(app PRIVATE src/behaviors/behavior_momentary_layer.c)
|
target_sources(app PRIVATE src/behaviors/behavior_momentary_layer.c)
|
||||||
target_sources(app PRIVATE src/behaviors/behavior_outputs.c)
|
target_sources(app PRIVATE src/behaviors/behavior_outputs.c)
|
||||||
target_sources(app PRIVATE src/behaviors/behavior_toggle_layer.c)
|
target_sources(app PRIVATE src/behaviors/behavior_toggle_layer.c)
|
||||||
|
target_sources(app PRIVATE src/behaviors/behavior_to_layer.c)
|
||||||
target_sources(app PRIVATE src/behaviors/behavior_transparent.c)
|
target_sources(app PRIVATE src/behaviors/behavior_transparent.c)
|
||||||
target_sources(app PRIVATE src/behaviors/behavior_none.c)
|
target_sources(app PRIVATE src/behaviors/behavior_none.c)
|
||||||
target_sources(app PRIVATE src/behaviors/behavior_sensor_rotate_key_press.c)
|
target_sources(app PRIVATE src/behaviors/behavior_sensor_rotate_key_press.c)
|
||||||
|
@ -57,9 +58,13 @@ target_sources_ifdef(CONFIG_ZMK_RGB_UNDERGLOW app PRIVATE src/behaviors/behavior
|
||||||
target_sources_ifdef(CONFIG_ZMK_BLE app PRIVATE src/behaviors/behavior_bt.c)
|
target_sources_ifdef(CONFIG_ZMK_BLE app PRIVATE src/behaviors/behavior_bt.c)
|
||||||
target_sources_ifdef(CONFIG_ZMK_BLE app PRIVATE src/ble.c)
|
target_sources_ifdef(CONFIG_ZMK_BLE app PRIVATE src/ble.c)
|
||||||
target_sources_ifdef(CONFIG_ZMK_BLE app PRIVATE src/battery.c)
|
target_sources_ifdef(CONFIG_ZMK_BLE app PRIVATE src/battery.c)
|
||||||
target_sources_ifdef(CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL app PRIVATE src/split_listener.c)
|
if (CONFIG_ZMK_SPLIT_BLE AND (NOT CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL))
|
||||||
target_sources_ifdef(CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL app PRIVATE src/split/bluetooth/service.c)
|
target_sources(app PRIVATE src/split_listener.c)
|
||||||
target_sources_ifdef(CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL app PRIVATE src/split/bluetooth/central.c)
|
target_sources(app PRIVATE src/split/bluetooth/service.c)
|
||||||
|
endif()
|
||||||
|
if (CONFIG_ZMK_SPLIT_BLE AND CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL)
|
||||||
|
target_sources(app PRIVATE src/split/bluetooth/central.c)
|
||||||
|
endif()
|
||||||
target_sources_ifdef(CONFIG_USB app PRIVATE src/usb.c)
|
target_sources_ifdef(CONFIG_USB app PRIVATE src/usb.c)
|
||||||
target_sources_ifdef(CONFIG_ZMK_BLE app PRIVATE src/hog.c)
|
target_sources_ifdef(CONFIG_ZMK_BLE app PRIVATE src/hog.c)
|
||||||
target_sources_ifdef(CONFIG_ZMK_RGB_UNDERGLOW app PRIVATE src/rgb_underglow.c)
|
target_sources_ifdef(CONFIG_ZMK_RGB_UNDERGLOW app PRIVATE src/rgb_underglow.c)
|
||||||
|
|
18
app/Kconfig
18
app/Kconfig
|
@ -83,7 +83,6 @@ menu "Split Support"
|
||||||
|
|
||||||
config ZMK_SPLIT
|
config ZMK_SPLIT
|
||||||
bool "Split keyboard support"
|
bool "Split keyboard support"
|
||||||
default n
|
|
||||||
|
|
||||||
if ZMK_SPLIT
|
if ZMK_SPLIT
|
||||||
|
|
||||||
|
@ -95,19 +94,12 @@ config ZMK_SPLIT_BLE
|
||||||
|
|
||||||
if ZMK_SPLIT_BLE
|
if ZMK_SPLIT_BLE
|
||||||
|
|
||||||
choice ZMK_SPLIT_BLE_ROLE
|
|
||||||
bool "BLE Role For Split Communication"
|
|
||||||
default ZMK_SPLIT_BLE_ROLE_CENTRAL
|
|
||||||
|
|
||||||
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||||
bool "Central"
|
bool "Central"
|
||||||
select BT_CENTRAL
|
select BT_CENTRAL
|
||||||
select BT_GATT_CLIENT
|
select BT_GATT_CLIENT
|
||||||
|
|
||||||
config ZMK_SPLIT_BLE_ROLE_PERIPHERAL
|
if !ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||||
bool "Peripheral"
|
|
||||||
|
|
||||||
if ZMK_SPLIT_BLE_ROLE_PERIPHERAL
|
|
||||||
|
|
||||||
config ZMK_USB
|
config ZMK_USB
|
||||||
default n
|
default n
|
||||||
|
@ -121,12 +113,9 @@ config BT_MAX_CONN
|
||||||
config BT_GAP_AUTO_UPDATE_CONN_PARAMS
|
config BT_GAP_AUTO_UPDATE_CONN_PARAMS
|
||||||
default n
|
default n
|
||||||
|
|
||||||
#ZMK_SPLIT_BLE_ROLE_PERIPHERAL
|
#!ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||||
endif
|
endif
|
||||||
|
|
||||||
#ZMK_SPLIT_BLE_ROLE
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
#ZMK_SPLIT_BLE
|
#ZMK_SPLIT_BLE
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -245,6 +234,9 @@ choice SYS_PM_POLICY
|
||||||
default SYS_PM_POLICY_APP
|
default SYS_PM_POLICY_APP
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
config DEVICE_POWER_MANAGEMENT
|
||||||
|
default y
|
||||||
|
|
||||||
config ZMK_IDLE_SLEEP_TIMEOUT
|
config ZMK_IDLE_SLEEP_TIMEOUT
|
||||||
int "Milliseconds of inactivity before entering deep sleep"
|
int "Milliseconds of inactivity before entering deep sleep"
|
||||||
default 900000
|
default 900000
|
||||||
|
|
8
app/boards/arm/bdn9/Kconfig.board
Normal file
8
app/boards/arm/bdn9/Kconfig.board
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# keeb.io BDN9 board configuration
|
||||||
|
|
||||||
|
# Copyright (c) 2020 The ZMK Contributors
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
config BOARD_BDN9
|
||||||
|
bool "BDN9 rev2"
|
||||||
|
depends on SOC_STM32F072XB
|
17
app/boards/arm/bdn9/Kconfig.defconfig
Normal file
17
app/boards/arm/bdn9/Kconfig.defconfig
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# keeb.io BDN9 board configuration
|
||||||
|
|
||||||
|
# Copyright (c) 2020 Pete Johanson
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
if BOARD_BDN9
|
||||||
|
|
||||||
|
config BOARD
|
||||||
|
default "bdn9_rev2"
|
||||||
|
|
||||||
|
config ZMK_KEYBOARD_NAME
|
||||||
|
default "BDN9 Rev2"
|
||||||
|
|
||||||
|
config ZMK_USB
|
||||||
|
default y
|
||||||
|
|
||||||
|
endif # BOARD_BDN9
|
37
app/boards/arm/bdn9/README.md
Normal file
37
app/boards/arm/bdn9/README.md
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
# Building ZMK for the BDN9
|
||||||
|
|
||||||
|
Some general notes/commands for building standard BDN9 layouts from the assembly documentation.
|
||||||
|
|
||||||
|
## Standard Build
|
||||||
|
|
||||||
|
```
|
||||||
|
west build -p -d build/bdn9 --board bdn9_rev2
|
||||||
|
```
|
||||||
|
|
||||||
|
## Encoder Notes
|
||||||
|
|
||||||
|
If you built your BDN9 with encoders, you'll need to change the following in your local BDN9 config or add them to the end of the file.
|
||||||
|
|
||||||
|
```
|
||||||
|
CONFIG_EC11=y
|
||||||
|
CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y
|
||||||
|
```
|
||||||
|
|
||||||
|
Then, you'll want to uncomment the necessary encoder lines in your `bdn9_rev2.keymap`:
|
||||||
|
|
||||||
|
```
|
||||||
|
&sensors {
|
||||||
|
status = "okay";
|
||||||
|
sensors = <&left_encoder &mid_encoder &right_encoder>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&left_encoder { status = "okay"; };
|
||||||
|
&mid_encoder { status = "okay"; };
|
||||||
|
&right_encoder { status = "okay"; };
|
||||||
|
```
|
||||||
|
|
||||||
|
And then add the correct `sensor-bindings` array to each keymap layer, e.g.:
|
||||||
|
|
||||||
|
```
|
||||||
|
sensor-bindings = <&inc_dec_kp PG_UP PG_DN &inc_dec_kp M_VOLU M_VOLD &inc_dec_kp C_PREV C_NEXT>;
|
||||||
|
```
|
107
app/boards/arm/bdn9/bdn9_rev2.dts
Normal file
107
app/boards/arm/bdn9/bdn9_rev2.dts
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 The ZMK Contributors
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
#include <st/f0/stm32f072Xb.dtsi>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Keeb.io BDN9 rev2";
|
||||||
|
compatible = "keebio,bdn9", "st,stm32f072";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
zephyr,sram = &sram0;
|
||||||
|
zephyr,flash = &flash0;
|
||||||
|
zmk,kscan = &kscan;
|
||||||
|
/* TODO: Enable once the GPIO bitbanging driver supports STM32
|
||||||
|
zmk,underglow = &led_strip;
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
|
||||||
|
kscan: kscan {
|
||||||
|
compatible = "zmk,kscan-gpio-direct";
|
||||||
|
label = "KSCAN";
|
||||||
|
|
||||||
|
input-gpios
|
||||||
|
= <&gpiob 12 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpiob 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpiob 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpiob 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpiob 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpiob 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpioa 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpiof 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpiof 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
led_strip: ws2812 {
|
||||||
|
compatible = "worldsemi,ws2812-gpio";
|
||||||
|
label = "WS2812";
|
||||||
|
|
||||||
|
in-gpios = <&gpiob 15 0>;
|
||||||
|
|
||||||
|
chain-length = <9>;
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
left_encoder: encoder_left {
|
||||||
|
compatible = "alps,ec11";
|
||||||
|
label = "LEFT_ENCODER";
|
||||||
|
a-gpios = <&gpioa 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
|
||||||
|
b-gpios = <&gpioa 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
|
||||||
|
resolution = <4>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
mid_encoder: encoder_mid {
|
||||||
|
compatible = "alps,ec11";
|
||||||
|
label = "MID_ENCODER";
|
||||||
|
a-gpios = <&gpioa 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
|
||||||
|
b-gpios = <&gpioa 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
|
||||||
|
resolution = <4>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
right_encoder: encoder_right {
|
||||||
|
compatible = "alps,ec11";
|
||||||
|
label = "RIGHT_ENCODER";
|
||||||
|
a-gpios = <&gpioa 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
|
||||||
|
b-gpios = <&gpiob 3 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
|
||||||
|
resolution = <4>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
sensors: sensors {
|
||||||
|
compatible = "zmk,keymap-sensors";
|
||||||
|
status = "disabled";
|
||||||
|
sensors = <>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&rtc {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&flash0 {
|
||||||
|
/*
|
||||||
|
* For more information, see:
|
||||||
|
* http://docs.zephyrproject.org/latest/guides/dts/index.html#flash-partitions
|
||||||
|
*/
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
/* Set 6Kb of storage at the end of the 128Kb of flash */
|
||||||
|
storage_partition: partition@3e800 {
|
||||||
|
label = "storage";
|
||||||
|
reg = <0x0001e800 0x00001800>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
38
app/boards/arm/bdn9/bdn9_rev2.keymap
Normal file
38
app/boards/arm/bdn9/bdn9_rev2.keymap
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 The ZMK Contributors
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <behaviors.dtsi>
|
||||||
|
#include <dt-bindings/zmk/keys.h>
|
||||||
|
|
||||||
|
/* Uncomment and keep whatever encoders are on your BDN9
|
||||||
|
&sensors {
|
||||||
|
status = "okay";
|
||||||
|
sensors = <&left_encoder &mid_encoder &right_encoder>;
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Uncomment each encoder installed on your BDN9
|
||||||
|
// &left_encoder { status = "okay"; };
|
||||||
|
// &mid_encoder { status = "okay"; };
|
||||||
|
// &right_encoder { status = "okay"; };
|
||||||
|
|
||||||
|
/ {
|
||||||
|
keymap {
|
||||||
|
compatible = "zmk,keymap";
|
||||||
|
|
||||||
|
default_layer {
|
||||||
|
bindings = <
|
||||||
|
&kp HOME &kp K_PP &kp END
|
||||||
|
&kp PG_UP &kp UP &kp PG_DN
|
||||||
|
&kp LEFT &kp DOWN &kp RIGHT
|
||||||
|
>;
|
||||||
|
/* Uncomment and add necessary bindings. This examples is for one encoder
|
||||||
|
sensor-bindings = <&inc_dec_kp PG_UP PG_DN>;
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
14
app/boards/arm/bdn9/bdn9_rev2.yaml
Normal file
14
app/boards/arm/bdn9/bdn9_rev2.yaml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
identifier: bdn9
|
||||||
|
name: keeb.io BDN9
|
||||||
|
type: mcu
|
||||||
|
arch: arm
|
||||||
|
toolchain:
|
||||||
|
- zephyr
|
||||||
|
- gnuarmemb
|
||||||
|
- xtools
|
||||||
|
ram: 40
|
||||||
|
supported:
|
||||||
|
- encoders
|
||||||
|
- switches
|
||||||
|
- underglow
|
||||||
|
- per_key
|
29
app/boards/arm/bdn9/bdn9_rev2_defconfig
Normal file
29
app/boards/arm/bdn9/bdn9_rev2_defconfig
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
CONFIG_SOC_SERIES_STM32F0X=y
|
||||||
|
CONFIG_SOC_STM32F072XB=y
|
||||||
|
# 72MHz system clock
|
||||||
|
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=72000000
|
||||||
|
|
||||||
|
# Floating Point Options
|
||||||
|
CONFIG_FPU=y
|
||||||
|
|
||||||
|
# enable GPIO
|
||||||
|
CONFIG_GPIO=y
|
||||||
|
|
||||||
|
# Needed to reduce this to size that will fit on F072
|
||||||
|
CONFIG_HEAP_MEM_POOL_SIZE=1024
|
||||||
|
|
||||||
|
# clock configuration
|
||||||
|
CONFIG_CLOCK_CONTROL=y
|
||||||
|
|
||||||
|
# Clock configuration for Cube Clock control driver
|
||||||
|
CONFIG_CLOCK_STM32_SYSCLK_SRC_PLL=y
|
||||||
|
# use HSI as PLL input
|
||||||
|
CONFIG_CLOCK_STM32_PLL_SRC_HSI=y
|
||||||
|
# produce 72MHz clock at PLL output
|
||||||
|
CONFIG_CLOCK_STM32_PLL_PREDIV=1
|
||||||
|
CONFIG_CLOCK_STM32_PLL_MULTIPLIER=12
|
||||||
|
CONFIG_CLOCK_STM32_AHB_PRESCALER=1
|
||||||
|
CONFIG_CLOCK_STM32_APB1_PRESCALER=2
|
||||||
|
CONFIG_CLOCK_STM32_APB2_PRESCALER=1
|
7
app/boards/arm/bdn9/board.cmake
Normal file
7
app/boards/arm/bdn9/board.cmake
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
board_runner_args(dfu-util "--pid=0483:df11" "--alt=0" "--dfuse")
|
||||||
|
board_runner_args(jlink "--device=STM32F072CB" "--speed=4000")
|
||||||
|
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/dfu-util.board.cmake)
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
|
@ -7,7 +7,7 @@
|
||||||
/dts-v1/;
|
/dts-v1/;
|
||||||
#include <st/f3/stm32f303Xc.dtsi>
|
#include <st/f3/stm32f303Xc.dtsi>
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "DZ60RGB, Rev 1";
|
model = "DZ60RGB, Rev 1";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#include <behaviors.dtsi>
|
#include <behaviors.dtsi>
|
||||||
#include <dt-bindings/zmk/keys.h>
|
#include <dt-bindings/zmk/keys.h>
|
||||||
#include <dt-bindings/zmk/kscan-mock.h>
|
#include <dt-bindings/zmk/kscan_mock.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -1,17 +1,21 @@
|
||||||
|
|
||||||
if SHIELD_CORNE_LEFT
|
if SHIELD_CORNE_LEFT
|
||||||
|
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Corne Left"
|
default "Corne"
|
||||||
|
|
||||||
|
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
if SHIELD_CORNE_RIGHT
|
if SHIELD_CORNE_RIGHT
|
||||||
|
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Corne Right"
|
default "Corne Right"
|
||||||
|
|
||||||
|
config USB
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SHIELD_CORNE_LEFT || SHIELD_CORNE_RIGHT
|
if SHIELD_CORNE_LEFT || SHIELD_CORNE_RIGHT
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
|
|
|
@ -6,6 +6,9 @@ if SHIELD_CRADIO_LEFT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "cradio left"
|
default "cradio left"
|
||||||
|
|
||||||
|
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SHIELD_CRADIO_RIGHT
|
if SHIELD_CRADIO_RIGHT
|
||||||
|
@ -13,4 +16,14 @@ if SHIELD_CRADIO_RIGHT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "cradio right"
|
default "cradio right"
|
||||||
|
|
||||||
|
config USB
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if SHIELD_CRADIO_LEFT || SHIELD_CRADIO_RIGHT
|
||||||
|
|
||||||
|
config ZMK_SPLIT
|
||||||
|
default y
|
||||||
|
|
||||||
|
endif
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -1,5 +1,2 @@
|
||||||
# Copyright (c) 2020 The ZMK Contributors
|
# Copyright (c) 2020 The ZMK Contributors
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
# Copyright (c) 2020 The ZMK Contributors
|
# Copyright (c) 2020 The ZMK Contributors
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -6,6 +6,9 @@ if SHIELD_IRIS_LEFT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Iris Left"
|
default "Iris Left"
|
||||||
|
|
||||||
|
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SHIELD_IRIS_RIGHT
|
if SHIELD_IRIS_RIGHT
|
||||||
|
@ -13,4 +16,14 @@ if SHIELD_IRIS_RIGHT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Iris Right"
|
default "Iris Right"
|
||||||
|
|
||||||
|
config USB
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if SHIELD_IRIS_LEFT || SHIELD_IRIS_RIGHT
|
||||||
|
|
||||||
|
config ZMK_SPLIT
|
||||||
|
default y
|
||||||
|
|
||||||
|
endif
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
|
|
|
@ -4,6 +4,9 @@ if SHIELD_JIAN_LEFT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Jian Left"
|
default "Jian Left"
|
||||||
|
|
||||||
|
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -12,12 +15,14 @@ if SHIELD_JIAN_RIGHT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Jian Right"
|
default "Jian Right"
|
||||||
|
|
||||||
|
config USB
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SHIELD_JIAN_LEFT || SHIELD_JIAN_RIGHT
|
if SHIELD_JIAN_LEFT || SHIELD_JIAN_RIGHT
|
||||||
|
|
||||||
config ZMK_SPLIT
|
config ZMK_SPLIT
|
||||||
default y
|
default y
|
||||||
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
|
|
|
@ -4,6 +4,9 @@ if SHIELD_JORNE_LEFT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Jorne Left"
|
default "Jorne Left"
|
||||||
|
|
||||||
|
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -12,6 +15,9 @@ if SHIELD_JORNE_RIGHT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Jorne Right"
|
default "Jorne Right"
|
||||||
|
|
||||||
|
config USB
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SHIELD_JORNE_LEFT || SHIELD_JORNE_RIGHT
|
if SHIELD_JORNE_LEFT || SHIELD_JORNE_RIGHT
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
|
|
|
@ -4,6 +4,9 @@ if SHIELD_KYRIA_LEFT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Kyria Left"
|
default "Kyria Left"
|
||||||
|
|
||||||
|
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -12,6 +15,9 @@ if SHIELD_KYRIA_RIGHT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Kyria Right"
|
default "Kyria Right"
|
||||||
|
|
||||||
|
config USB
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SHIELD_KYRIA_LEFT || SHIELD_KYRIA_RIGHT
|
if SHIELD_KYRIA_LEFT || SHIELD_KYRIA_RIGHT
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
|
|
|
@ -4,6 +4,9 @@ if SHIELD_LILY58_LEFT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Lily58 Left"
|
default "Lily58 Left"
|
||||||
|
|
||||||
|
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SHIELD_LILY58_RIGHT
|
if SHIELD_LILY58_RIGHT
|
||||||
|
@ -11,10 +14,16 @@ if SHIELD_LILY58_RIGHT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Lily58 Right"
|
default "Lily58 Right"
|
||||||
|
|
||||||
|
config USB
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SHIELD_LILY58_LEFT || SHIELD_LILY58_RIGHT
|
if SHIELD_LILY58_LEFT || SHIELD_LILY58_RIGHT
|
||||||
|
|
||||||
|
config ZMK_SPLIT
|
||||||
|
default y
|
||||||
|
|
||||||
if ZMK_DISPLAY
|
if ZMK_DISPLAY
|
||||||
|
|
||||||
config I2C
|
config I2C
|
||||||
|
@ -52,3 +61,4 @@ endchoice
|
||||||
endif # LVGL
|
endif # LVGL
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
# Uncomment to enable encoder
|
# Uncomment to enable encoder
|
||||||
# CONFIG_EC11=y
|
# CONFIG_EC11=y
|
||||||
# CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y
|
# CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y
|
||||||
|
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
|
|
|
@ -1,2 +1 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -6,6 +6,9 @@ if SHIELD_MICRODOX_LEFT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Microdox Left"
|
default "Microdox Left"
|
||||||
|
|
||||||
|
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -14,6 +17,9 @@ if SHIELD_MICRODOX_RIGHT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Microdox Right"
|
default "Microdox Right"
|
||||||
|
|
||||||
|
config USB
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SHIELD_MICRODOX_LEFT || SHIELD_MICRODOX_RIGHT
|
if SHIELD_MICRODOX_LEFT || SHIELD_MICRODOX_RIGHT
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -7,6 +7,9 @@ if SHIELD_QUEFRENCY_LEFT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Quefrency Left"
|
default "Quefrency Left"
|
||||||
|
|
||||||
|
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SHIELD_QUEFRENCY_RIGHT
|
if SHIELD_QUEFRENCY_RIGHT
|
||||||
|
@ -14,4 +17,14 @@ if SHIELD_QUEFRENCY_RIGHT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Quefrency Right"
|
default "Quefrency Right"
|
||||||
|
|
||||||
|
config USB
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if SHIELD_QUEFRENCY_LEFT || SHIELD_QUEFRENCY_RIGHT
|
||||||
|
|
||||||
|
config ZMK_SPLIT
|
||||||
|
default y
|
||||||
|
|
||||||
|
endif
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -5,16 +5,27 @@ if SHIELD_SOFLE_LEFT
|
||||||
|
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Sofle Left"
|
default "Sofle Left"
|
||||||
|
|
||||||
|
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SHIELD_SOFLE_RIGHT
|
if SHIELD_SOFLE_RIGHT
|
||||||
|
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Sofle Right"
|
default "Sofle Right"
|
||||||
|
|
||||||
|
config USB
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SHIELD_SOFLE_LEFT || SHIELD_SOFLE_RIGHT
|
if SHIELD_SOFLE_LEFT || SHIELD_SOFLE_RIGHT
|
||||||
|
|
||||||
|
config ZMK_SPLIT
|
||||||
|
default y
|
||||||
|
|
||||||
if ZMK_DISPLAY
|
if ZMK_DISPLAY
|
||||||
|
|
||||||
config I2C
|
config I2C
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -1,5 +1,2 @@
|
||||||
# Copyright (c) 2020 Ryan Cross
|
# Copyright (c) 2020 Ryan Cross
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
|
|
||||||
|
|
|
@ -1,5 +1,2 @@
|
||||||
# Copyright (c) 2020 Ryan Cross
|
# Copyright (c) 2020 Ryan Cross
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
|
|
||||||
|
|
|
@ -8,6 +8,9 @@ if SHIELD_SPLITREUS62_LEFT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Splitreus62 Left"
|
default "Splitreus62 Left"
|
||||||
|
|
||||||
|
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SHIELD_SPLITREUS62_RIGHT
|
if SHIELD_SPLITREUS62_RIGHT
|
||||||
|
@ -15,8 +18,14 @@ if SHIELD_SPLITREUS62_RIGHT
|
||||||
config ZMK_KEYBOARD_NAME
|
config ZMK_KEYBOARD_NAME
|
||||||
default "Splitreus62 Right"
|
default "Splitreus62 Right"
|
||||||
|
|
||||||
|
config USB
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SHIELD_SPLITREUS62_LEFT || SHIELD_SPLITREUS62_RIGHT
|
if SHIELD_SPLITREUS62_LEFT || SHIELD_SPLITREUS62_RIGHT
|
||||||
|
|
||||||
|
config ZMK_SPLIT
|
||||||
|
default y
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONFIG_ZMK_SPLIT=y
|
|
||||||
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/zmk/matrix-transform.h>
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
kscan0: kscan {
|
kscan0: kscan {
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
||||||
|
|
||||||
#include <dt-bindings/zmk/kscan-mock.h>
|
#include <dt-bindings/zmk/kscan_mock.h>
|
||||||
|
|
||||||
struct kscan_mock_data {
|
struct kscan_mock_data {
|
||||||
kscan_callback_t callback;
|
kscan_callback_t callback;
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
#include <behaviors/sticky_key.dtsi>
|
#include <behaviors/sticky_key.dtsi>
|
||||||
#include <behaviors/momentary_layer.dtsi>
|
#include <behaviors/momentary_layer.dtsi>
|
||||||
#include <behaviors/toggle_layer.dtsi>
|
#include <behaviors/toggle_layer.dtsi>
|
||||||
|
#include <behaviors/to_layer.dtsi>
|
||||||
#include <behaviors/reset.dtsi>
|
#include <behaviors/reset.dtsi>
|
||||||
#include <behaviors/sensor_rotate_key_press.dtsi>
|
#include <behaviors/sensor_rotate_key_press.dtsi>
|
||||||
#include <behaviors/rgb_underglow.dtsi>
|
#include <behaviors/rgb_underglow.dtsi>
|
||||||
|
|
15
app/dts/behaviors/to_layer.dtsi
Normal file
15
app/dts/behaviors/to_layer.dtsi
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 The ZMK Contributors
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
/ {
|
||||||
|
behaviors {
|
||||||
|
to: behavior_to_layer {
|
||||||
|
compatible = "zmk,behavior-to-layer";
|
||||||
|
label = "TO_LAYER";
|
||||||
|
#binding-cells = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
8
app/dts/bindings/behaviors/zmk,behavior-to-layer.yaml
Normal file
8
app/dts/bindings/behaviors/zmk,behavior-to-layer.yaml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# Copyright (c) 2020 The ZMK Contributors
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
description: To Layer
|
||||||
|
|
||||||
|
compatible: "zmk,behavior-to-layer"
|
||||||
|
|
||||||
|
include: one_param.yaml
|
|
@ -4,11 +4,6 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#warning "kscan-mock.h has been deprecated and superseded by kscan_mock.h"
|
||||||
|
|
||||||
#define ZMK_MOCK_IS_PRESS(v) ((v & (0x01 << 31)) != 0)
|
#include "kscan_mock.h"
|
||||||
#define ZMK_MOCK_PRESS(row, col, msec) (row + (col << 8) + (msec << 16) + (0x01 << 31))
|
|
||||||
#define ZMK_MOCK_RELEASE(row, col, msec) (row + (col << 8) + (msec << 16))
|
|
||||||
#define ZMK_MOCK_ROW(v) (v & 0xFF)
|
|
||||||
#define ZMK_MOCK_COL(v) ((v >> 8) & 0xFF)
|
|
||||||
#define ZMK_MOCK_MSEC(v) ((v & ~(0x01 << 31)) >> 16)
|
|
14
app/include/dt-bindings/zmk/kscan_mock.h
Normal file
14
app/include/dt-bindings/zmk/kscan_mock.h
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 The ZMK Contributors
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define ZMK_MOCK_IS_PRESS(v) ((v & (0x01 << 31)) != 0)
|
||||||
|
#define ZMK_MOCK_PRESS(row, col, msec) (row + (col << 8) + (msec << 16) + (0x01 << 31))
|
||||||
|
#define ZMK_MOCK_RELEASE(row, col, msec) (row + (col << 8) + (msec << 16))
|
||||||
|
#define ZMK_MOCK_ROW(v) (v & 0xFF)
|
||||||
|
#define ZMK_MOCK_COL(v) ((v >> 8) & 0xFF)
|
||||||
|
#define ZMK_MOCK_MSEC(v) ((v & ~(0x01 << 31)) >> 16)
|
|
@ -4,7 +4,6 @@
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define KT_ROW(item) (item >> 8)
|
#warning "matrix-transform.h has been deprecated and superseded by matrix_transform.h"
|
||||||
#define KT_COL(item) (item & 0xFF)
|
|
||||||
|
|
||||||
#define RC(row, col) (((row) << 8) + (col))
|
#include "matrix_transform.h"
|
10
app/include/dt-bindings/zmk/matrix_transform.h
Normal file
10
app/include/dt-bindings/zmk/matrix_transform.h
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 The ZMK Contributors
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define KT_ROW(item) (item >> 8)
|
||||||
|
#define KT_COL(item) (item & 0xFF)
|
||||||
|
|
||||||
|
#define RC(row, col) (((row) << 8) + (col))
|
18
app/include/zmk/display/widgets/layer_status.h
Normal file
18
app/include/zmk/display/widgets/layer_status.h
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 The ZMK Contributors
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <lvgl.h>
|
||||||
|
#include <kernel.h>
|
||||||
|
|
||||||
|
struct zmk_widget_layer_status {
|
||||||
|
sys_snode_t node;
|
||||||
|
lv_obj_t *obj;
|
||||||
|
};
|
||||||
|
|
||||||
|
int zmk_widget_layer_status_init(struct zmk_widget_layer_status *widget, lv_obj_t *parent);
|
||||||
|
lv_obj_t *zmk_widget_layer_status_obj(struct zmk_widget_layer_status *widget);
|
|
@ -7,7 +7,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <zephyr.h>
|
#include <zephyr.h>
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
#include <zmk/activity.h>
|
#include <zmk/activity.h>
|
||||||
|
|
||||||
struct activity_state_changed {
|
struct activity_state_changed {
|
|
@ -7,7 +7,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <zephyr.h>
|
#include <zephyr.h>
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
|
|
||||||
struct battery_state_changed {
|
struct battery_state_changed {
|
||||||
struct zmk_event_header header;
|
struct zmk_event_header header;
|
|
@ -7,7 +7,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <zephyr.h>
|
#include <zephyr.h>
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
#include <device.h>
|
#include <device.h>
|
||||||
|
|
||||||
#include <zmk/ble/profile.h>
|
#include <zmk/ble/profile.h>
|
|
@ -9,7 +9,7 @@
|
||||||
#include <zephyr.h>
|
#include <zephyr.h>
|
||||||
#include <dt-bindings/zmk/modifiers.h>
|
#include <dt-bindings/zmk/modifiers.h>
|
||||||
#include <dt-bindings/zmk/hid_usage_pages.h>
|
#include <dt-bindings/zmk/hid_usage_pages.h>
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
#include <zmk/keys.h>
|
#include <zmk/keys.h>
|
||||||
|
|
||||||
struct keycode_state_changed {
|
struct keycode_state_changed {
|
||||||
|
@ -27,7 +27,7 @@ static inline struct keycode_state_changed *
|
||||||
keycode_state_changed_from_encoded(uint32_t encoded, bool pressed, int64_t timestamp) {
|
keycode_state_changed_from_encoded(uint32_t encoded, bool pressed, int64_t timestamp) {
|
||||||
uint16_t page = HID_USAGE_PAGE(encoded) & 0xFF;
|
uint16_t page = HID_USAGE_PAGE(encoded) & 0xFF;
|
||||||
uint16_t id = HID_USAGE_ID(encoded);
|
uint16_t id = HID_USAGE_ID(encoded);
|
||||||
zmk_mod_flags implicit_mods = SELECT_MODS(encoded);
|
zmk_mod_flags_t implicit_mods = SELECT_MODS(encoded);
|
||||||
|
|
||||||
if (!page) {
|
if (!page) {
|
||||||
page = HID_USAGE_KEY;
|
page = HID_USAGE_KEY;
|
|
@ -7,7 +7,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <zephyr.h>
|
#include <zephyr.h>
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
|
|
||||||
struct layer_state_changed {
|
struct layer_state_changed {
|
||||||
struct zmk_event_header header;
|
struct zmk_event_header header;
|
|
@ -8,17 +8,17 @@
|
||||||
|
|
||||||
#include <zephyr.h>
|
#include <zephyr.h>
|
||||||
#include <zmk/keys.h>
|
#include <zmk/keys.h>
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
|
|
||||||
struct modifiers_state_changed {
|
struct modifiers_state_changed {
|
||||||
struct zmk_event_header header;
|
struct zmk_event_header header;
|
||||||
zmk_mod_flags modifiers;
|
zmk_mod_flags_t modifiers;
|
||||||
bool state;
|
bool state;
|
||||||
};
|
};
|
||||||
|
|
||||||
ZMK_EVENT_DECLARE(modifiers_state_changed);
|
ZMK_EVENT_DECLARE(modifiers_state_changed);
|
||||||
|
|
||||||
inline struct modifiers_state_changed *create_modifiers_state_changed(zmk_mod_flags modifiers,
|
inline struct modifiers_state_changed *create_modifiers_state_changed(zmk_mod_flags_t modifiers,
|
||||||
bool state) {
|
bool state) {
|
||||||
struct modifiers_state_changed *ev = new_modifiers_state_changed();
|
struct modifiers_state_changed *ev = new_modifiers_state_changed();
|
||||||
ev->modifiers = modifiers;
|
ev->modifiers = modifiers;
|
|
@ -7,7 +7,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <zephyr.h>
|
#include <zephyr.h>
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
|
|
||||||
struct position_state_changed {
|
struct position_state_changed {
|
||||||
struct zmk_event_header header;
|
struct zmk_event_header header;
|
|
@ -7,7 +7,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <zephyr.h>
|
#include <zephyr.h>
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
#include <device.h>
|
#include <device.h>
|
||||||
|
|
||||||
struct sensor_event {
|
struct sensor_event {
|
|
@ -9,7 +9,7 @@
|
||||||
#include <zephyr.h>
|
#include <zephyr.h>
|
||||||
#include <usb/usb_device.h>
|
#include <usb/usb_device.h>
|
||||||
|
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
#include <zmk/usb.h>
|
#include <zmk/usb.h>
|
||||||
|
|
||||||
struct usb_conn_state_changed {
|
struct usb_conn_state_changed {
|
|
@ -147,7 +147,7 @@ static const uint8_t zmk_hid_report_desc[] = {
|
||||||
// } __packed;
|
// } __packed;
|
||||||
|
|
||||||
struct zmk_hid_keyboard_report_body {
|
struct zmk_hid_keyboard_report_body {
|
||||||
zmk_mod_flags modifiers;
|
zmk_mod_flags_t modifiers;
|
||||||
uint8_t _reserved;
|
uint8_t _reserved;
|
||||||
uint8_t keys[ZMK_HID_KEYBOARD_NKRO_SIZE];
|
uint8_t keys[ZMK_HID_KEYBOARD_NKRO_SIZE];
|
||||||
} __packed;
|
} __packed;
|
||||||
|
@ -166,16 +166,16 @@ struct zmk_hid_consumer_report {
|
||||||
struct zmk_hid_consumer_report_body body;
|
struct zmk_hid_consumer_report_body body;
|
||||||
} __packed;
|
} __packed;
|
||||||
|
|
||||||
int zmk_hid_register_mod(zmk_mod modifier);
|
int zmk_hid_register_mod(zmk_mod_t modifier);
|
||||||
int zmk_hid_unregister_mod(zmk_mod modifier);
|
int zmk_hid_unregister_mod(zmk_mod_t modifier);
|
||||||
int zmk_hid_implicit_modifiers_press(zmk_mod_flags implicit_modifiers);
|
int zmk_hid_implicit_modifiers_press(zmk_mod_flags_t implicit_modifiers);
|
||||||
int zmk_hid_implicit_modifiers_release();
|
int zmk_hid_implicit_modifiers_release();
|
||||||
int zmk_hid_keyboard_press(zmk_key key);
|
int zmk_hid_keyboard_press(zmk_key_t key);
|
||||||
int zmk_hid_keyboard_release(zmk_key key);
|
int zmk_hid_keyboard_release(zmk_key_t key);
|
||||||
void zmk_hid_keyboard_clear();
|
void zmk_hid_keyboard_clear();
|
||||||
|
|
||||||
int zmk_hid_consumer_press(zmk_key key);
|
int zmk_hid_consumer_press(zmk_key_t key);
|
||||||
int zmk_hid_consumer_release(zmk_key key);
|
int zmk_hid_consumer_release(zmk_key_t key);
|
||||||
void zmk_hid_consumer_clear();
|
void zmk_hid_consumer_clear();
|
||||||
|
|
||||||
struct zmk_hid_keyboard_report *zmk_hid_get_keyboard_report();
|
struct zmk_hid_keyboard_report *zmk_hid_get_keyboard_report();
|
||||||
|
|
|
@ -6,14 +6,15 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
typedef uint32_t zmk_keymap_layers_state;
|
typedef uint32_t zmk_keymap_layers_state_t;
|
||||||
|
|
||||||
uint8_t zmk_keymap_layer_default();
|
uint8_t zmk_keymap_layer_default();
|
||||||
zmk_keymap_layers_state zmk_keymap_layer_state();
|
zmk_keymap_layers_state_t zmk_keymap_layer_state();
|
||||||
bool zmk_keymap_layer_active(uint8_t layer);
|
bool zmk_keymap_layer_active(uint8_t layer);
|
||||||
uint8_t zmk_keymap_highest_layer_active();
|
uint8_t zmk_keymap_highest_layer_active();
|
||||||
int zmk_keymap_layer_activate(uint8_t layer);
|
int zmk_keymap_layer_activate(uint8_t layer);
|
||||||
int zmk_keymap_layer_deactivate(uint8_t layer);
|
int zmk_keymap_layer_deactivate(uint8_t layer);
|
||||||
int zmk_keymap_layer_toggle(uint8_t layer);
|
int zmk_keymap_layer_toggle(uint8_t layer);
|
||||||
|
int zmk_keymap_layer_to(uint8_t layer);
|
||||||
|
|
||||||
int zmk_keymap_position_state_changed(uint32_t position, bool pressed, int64_t timestamp);
|
int zmk_keymap_position_state_changed(uint32_t position, bool pressed, int64_t timestamp);
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
#include <zephyr.h>
|
#include <zephyr.h>
|
||||||
#include <dt-bindings/zmk/keys.h>
|
#include <dt-bindings/zmk/keys.h>
|
||||||
|
|
||||||
typedef uint32_t zmk_key;
|
typedef uint32_t zmk_key_t;
|
||||||
typedef uint8_t zmk_mod;
|
typedef uint8_t zmk_mod_t;
|
||||||
typedef uint8_t zmk_mod_flags;
|
typedef uint8_t zmk_mod_flags_t;
|
||||||
|
|
||||||
struct zmk_key_event {
|
struct zmk_key_event {
|
||||||
uint32_t column;
|
uint32_t column;
|
||||||
uint32_t row;
|
uint32_t row;
|
||||||
zmk_key key;
|
zmk_key_t key;
|
||||||
bool pressed;
|
bool pressed;
|
||||||
};
|
};
|
|
@ -7,6 +7,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define ZMK_KEYMAP_SENSORS_NODE DT_INST(0, zmk_keymap_sensors)
|
#define ZMK_KEYMAP_SENSORS_NODE DT_INST(0, zmk_keymap_sensors)
|
||||||
#define ZMK_KEYMAP_HAS_SENSORS DT_NODE_EXISTS(ZMK_KEYMAP_SENSORS_NODE)
|
#define ZMK_KEYMAP_HAS_SENSORS DT_NODE_HAS_STATUS(ZMK_KEYMAP_SENSORS_NODE, okay)
|
||||||
#define ZMK_KEYMAP_SENSORS_LEN DT_PROP_LEN(ZMK_KEYMAP_SENSORS_NODE, sensors)
|
#define ZMK_KEYMAP_SENSORS_LEN DT_PROP_LEN(ZMK_KEYMAP_SENSORS_NODE, sensors)
|
||||||
#define ZMK_KEYMAP_SENSORS_BY_IDX(idx) DT_PHANDLE_BY_IDX(ZMK_KEYMAP_SENSORS_NODE, sensors, idx)
|
#define ZMK_KEYMAP_SENSORS_BY_IDX(idx) DT_PHANDLE_BY_IDX(ZMK_KEYMAP_SENSORS_NODE, sensors, idx)
|
||||||
|
|
|
@ -12,10 +12,10 @@
|
||||||
|
|
||||||
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
||||||
|
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
#include <zmk/events/activity-state-changed.h>
|
#include <zmk/events/activity_state_changed.h>
|
||||||
#include <zmk/events/position-state-changed.h>
|
#include <zmk/events/position_state_changed.h>
|
||||||
#include <zmk/events/sensor-event.h>
|
#include <zmk/events/sensor_event.h>
|
||||||
|
|
||||||
#include <zmk/activity.h>
|
#include <zmk/activity.h>
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,8 @@
|
||||||
|
|
||||||
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
||||||
|
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
#include <zmk/events/battery-state-changed.h>
|
#include <zmk/events/battery_state_changed.h>
|
||||||
|
|
||||||
const struct device *battery;
|
const struct device *battery;
|
||||||
|
|
||||||
|
|
|
@ -14,10 +14,10 @@
|
||||||
#include <zmk/behavior.h>
|
#include <zmk/behavior.h>
|
||||||
#include <zmk/matrix.h>
|
#include <zmk/matrix.h>
|
||||||
#include <zmk/endpoints.h>
|
#include <zmk/endpoints.h>
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
#include <zmk/events/position-state-changed.h>
|
#include <zmk/events/position_state_changed.h>
|
||||||
#include <zmk/events/keycode-state-changed.h>
|
#include <zmk/events/keycode_state_changed.h>
|
||||||
#include <zmk/events/modifiers-state-changed.h>
|
#include <zmk/events/modifiers_state_changed.h>
|
||||||
#include <zmk/behavior.h>
|
#include <zmk/behavior.h>
|
||||||
|
|
||||||
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
||||||
|
|
|
@ -10,8 +10,8 @@
|
||||||
#include <drivers/behavior.h>
|
#include <drivers/behavior.h>
|
||||||
#include <logging/log.h>
|
#include <logging/log.h>
|
||||||
|
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
#include <zmk/events/keycode-state-changed.h>
|
#include <zmk/events/keycode_state_changed.h>
|
||||||
#include <zmk/behavior.h>
|
#include <zmk/behavior.h>
|
||||||
|
|
||||||
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
||||||
|
|
|
@ -11,8 +11,8 @@
|
||||||
#include <logging/log.h>
|
#include <logging/log.h>
|
||||||
|
|
||||||
#include <drivers/sensor.h>
|
#include <drivers/sensor.h>
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
#include <zmk/events/keycode-state-changed.h>
|
#include <zmk/events/keycode_state_changed.h>
|
||||||
|
|
||||||
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
||||||
|
|
||||||
|
|
|
@ -13,10 +13,10 @@
|
||||||
|
|
||||||
#include <zmk/matrix.h>
|
#include <zmk/matrix.h>
|
||||||
#include <zmk/endpoints.h>
|
#include <zmk/endpoints.h>
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
#include <zmk/events/position-state-changed.h>
|
#include <zmk/events/position_state_changed.h>
|
||||||
#include <zmk/events/keycode-state-changed.h>
|
#include <zmk/events/keycode_state_changed.h>
|
||||||
#include <zmk/events/modifiers-state-changed.h>
|
#include <zmk/events/modifiers_state_changed.h>
|
||||||
#include <zmk/hid.h>
|
#include <zmk/hid.h>
|
||||||
|
|
||||||
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
||||||
|
|
38
app/src/behaviors/behavior_to_layer.c
Normal file
38
app/src/behaviors/behavior_to_layer.c
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 The ZMK Contributors
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define DT_DRV_COMPAT zmk_behavior_to_layer
|
||||||
|
|
||||||
|
#include <device.h>
|
||||||
|
#include <drivers/behavior.h>
|
||||||
|
#include <logging/log.h>
|
||||||
|
|
||||||
|
#include <zmk/keymap.h>
|
||||||
|
#include <zmk/behavior.h>
|
||||||
|
|
||||||
|
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
||||||
|
|
||||||
|
static int behavior_to_init(const struct device *dev) { return 0; };
|
||||||
|
|
||||||
|
static int to_keymap_binding_pressed(struct zmk_behavior_binding *binding,
|
||||||
|
struct zmk_behavior_binding_event event) {
|
||||||
|
LOG_DBG("position %d layer %d", event.position, binding->param1);
|
||||||
|
return zmk_keymap_layer_to(binding->param1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int to_keymap_binding_released(struct zmk_behavior_binding *binding,
|
||||||
|
struct zmk_behavior_binding_event event) {
|
||||||
|
LOG_DBG("position %d layer %d", event.position, binding->param1);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const struct behavior_driver_api behavior_to_driver_api = {
|
||||||
|
.binding_pressed = to_keymap_binding_pressed,
|
||||||
|
.binding_released = to_keymap_binding_released,
|
||||||
|
};
|
||||||
|
|
||||||
|
DEVICE_AND_API_INIT(behavior_to, DT_INST_LABEL(0), behavior_to_init, NULL, NULL, APPLICATION,
|
||||||
|
CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, &behavior_to_driver_api);
|
|
@ -32,8 +32,8 @@ LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
||||||
#include <zmk/ble.h>
|
#include <zmk/ble.h>
|
||||||
#include <zmk/keys.h>
|
#include <zmk/keys.h>
|
||||||
#include <zmk/split/bluetooth/uuid.h>
|
#include <zmk/split/bluetooth/uuid.h>
|
||||||
#include <zmk/event-manager.h>
|
#include <zmk/event_manager.h>
|
||||||
#include <zmk/events/ble-active-profile-changed.h>
|
#include <zmk/events/ble_active_profile_changed.h>
|
||||||
|
|
||||||
static struct bt_conn *auth_passkey_entry_conn;
|
static struct bt_conn *auth_passkey_entry_conn;
|
||||||
static uint8_t passkey_entries[6] = {0, 0, 0, 0, 0, 0};
|
static uint8_t passkey_entries[6] = {0, 0, 0, 0, 0, 0};
|
||||||
|
@ -63,19 +63,24 @@ static uint8_t active_profile;
|
||||||
#define DEVICE_NAME CONFIG_BT_DEVICE_NAME
|
#define DEVICE_NAME CONFIG_BT_DEVICE_NAME
|
||||||
#define DEVICE_NAME_LEN (sizeof(DEVICE_NAME) - 1)
|
#define DEVICE_NAME_LEN (sizeof(DEVICE_NAME) - 1)
|
||||||
|
|
||||||
|
#define IS_HOST_PERIPHERAL \
|
||||||
|
(!IS_ENABLED(CONFIG_ZMK_SPLIT) || IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL))
|
||||||
|
#define IS_SPLIT_PERIPHERAL \
|
||||||
|
(IS_ENABLED(CONFIG_ZMK_SPLIT) && !IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL))
|
||||||
|
|
||||||
static const struct bt_data zmk_ble_ad[] = {
|
static const struct bt_data zmk_ble_ad[] = {
|
||||||
#if !IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL)
|
#if IS_HOST_PERIPHERAL
|
||||||
BT_DATA(BT_DATA_NAME_COMPLETE, DEVICE_NAME, DEVICE_NAME_LEN),
|
BT_DATA(BT_DATA_NAME_COMPLETE, DEVICE_NAME, DEVICE_NAME_LEN),
|
||||||
BT_DATA_BYTES(BT_DATA_GAP_APPEARANCE, 0xC1, 0x03),
|
BT_DATA_BYTES(BT_DATA_GAP_APPEARANCE, 0xC1, 0x03),
|
||||||
#endif
|
#endif
|
||||||
BT_DATA_BYTES(BT_DATA_FLAGS, (BT_LE_AD_GENERAL | BT_LE_AD_NO_BREDR)),
|
BT_DATA_BYTES(BT_DATA_FLAGS, (BT_LE_AD_GENERAL | BT_LE_AD_NO_BREDR)),
|
||||||
BT_DATA_BYTES(BT_DATA_UUID16_SOME,
|
BT_DATA_BYTES(BT_DATA_UUID16_SOME,
|
||||||
#if !IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL)
|
#if IS_HOST_PERIPHERAL
|
||||||
0x12, 0x18, /* HID Service */
|
0x12, 0x18, /* HID Service */
|
||||||
#endif
|
#endif
|
||||||
0x0f, 0x18 /* Battery Service */
|
0x0f, 0x18 /* Battery Service */
|
||||||
),
|
),
|
||||||
#if IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL)
|
#if IS_SPLIT_PERIPHERAL
|
||||||
BT_DATA_BYTES(BT_DATA_UUID128_ALL, ZMK_SPLIT_BT_SERVICE_UUID)
|
BT_DATA_BYTES(BT_DATA_UUID128_ALL, ZMK_SPLIT_BT_SERVICE_UUID)
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
@ -373,7 +378,7 @@ static void connected(struct bt_conn *conn, uint8_t err) {
|
||||||
|
|
||||||
bt_conn_le_param_update(conn, BT_LE_CONN_PARAM(0x0006, 0x000c, 30, 400));
|
bt_conn_le_param_update(conn, BT_LE_CONN_PARAM(0x0006, 0x000c, 30, 400));
|
||||||
|
|
||||||
#if IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL)
|
#if IS_SPLIT_PERIPHERAL
|
||||||
bt_conn_le_phy_update(conn, BT_CONN_LE_PHY_PARAM_2M);
|
bt_conn_le_phy_update(conn, BT_CONN_LE_PHY_PARAM_2M);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -462,7 +467,7 @@ static void auth_cancel(struct bt_conn *conn) {
|
||||||
LOG_DBG("Pairing cancelled: %s", log_strdup(addr));
|
LOG_DBG("Pairing cancelled: %s", log_strdup(addr));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL)
|
#if IS_HOST_PERIPHERAL
|
||||||
static enum bt_security_err auth_pairing_accept(struct bt_conn *conn,
|
static enum bt_security_err auth_pairing_accept(struct bt_conn *conn,
|
||||||
const struct bt_conn_pairing_feat *const feat) {
|
const struct bt_conn_pairing_feat *const feat) {
|
||||||
struct bt_conn_info info;
|
struct bt_conn_info info;
|
||||||
|
@ -476,7 +481,7 @@ static enum bt_security_err auth_pairing_accept(struct bt_conn *conn,
|
||||||
|
|
||||||
return BT_SECURITY_ERR_SUCCESS;
|
return BT_SECURITY_ERR_SUCCESS;
|
||||||
};
|
};
|
||||||
#endif /* !IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL) */
|
#endif /* IS_HOST_PERIPHERAL */
|
||||||
|
|
||||||
static void auth_pairing_complete(struct bt_conn *conn, bool bonded) {
|
static void auth_pairing_complete(struct bt_conn *conn, bool bonded) {
|
||||||
struct bt_conn_info info;
|
struct bt_conn_info info;
|
||||||
|
@ -491,22 +496,22 @@ static void auth_pairing_complete(struct bt_conn *conn, bool bonded) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL)
|
#if IS_HOST_PERIPHERAL
|
||||||
if (!zmk_ble_active_profile_is_open()) {
|
if (!zmk_ble_active_profile_is_open()) {
|
||||||
LOG_ERR("Pairing completed but current profile is not open: %s", log_strdup(addr));
|
LOG_ERR("Pairing completed but current profile is not open: %s", log_strdup(addr));
|
||||||
bt_unpair(BT_ID_DEFAULT, dst);
|
bt_unpair(BT_ID_DEFAULT, dst);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif /* !IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL) */
|
#endif /* IS_HOST_PERIPHERAL */
|
||||||
|
|
||||||
set_profile_address(active_profile, dst);
|
set_profile_address(active_profile, dst);
|
||||||
update_advertising();
|
update_advertising();
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct bt_conn_auth_cb zmk_ble_auth_cb_display = {
|
static struct bt_conn_auth_cb zmk_ble_auth_cb_display = {
|
||||||
#if !IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL)
|
#if IS_HOST_PERIPHERAL
|
||||||
.pairing_accept = auth_pairing_accept,
|
.pairing_accept = auth_pairing_accept,
|
||||||
#endif /* !IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL) */
|
#endif /* IS_HOST_PERIPHERAL */
|
||||||
.pairing_complete = auth_pairing_complete,
|
.pairing_complete = auth_pairing_complete,
|
||||||
// .passkey_display = auth_passkey_display,
|
// .passkey_display = auth_passkey_display,
|
||||||
|
|
||||||
|
@ -591,7 +596,7 @@ int zmk_ble_unpair_all() {
|
||||||
};
|
};
|
||||||
|
|
||||||
bool zmk_ble_handle_key_user(struct zmk_key_event *key_event) {
|
bool zmk_ble_handle_key_user(struct zmk_key_event *key_event) {
|
||||||
zmk_key key = key_event->key;
|
zmk_key_t key = key_event->key;
|
||||||
|
|
||||||
if (!auth_passkey_entry_conn) {
|
if (!auth_passkey_entry_conn) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -4,4 +4,4 @@
|
||||||
target_sources_ifdef(CONFIG_ZMK_DISPLAY app PRIVATE main.c)
|
target_sources_ifdef(CONFIG_ZMK_DISPLAY app PRIVATE main.c)
|
||||||
target_sources_ifdef(CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN app PRIVATE status_screen.c)
|
target_sources_ifdef(CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN app PRIVATE status_screen.c)
|
||||||
|
|
||||||
add_subdirectory(widgets/)
|
add_subdirectory_ifdef(CONFIG_ZMK_DISPLAY widgets/)
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue