Merge branch 'zmkfirmware:main' into reviung5-underglow

This commit is contained in:
FearlessSpiff 2024-04-17 11:02:43 +02:00 committed by GitHub
commit c71eea7326
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
173 changed files with 2148 additions and 373 deletions

View file

@ -65,6 +65,7 @@ jobs:
board: ${{ matrix.board }} board: ${{ matrix.board }}
shield: ${{ matrix.shield }} shield: ${{ matrix.shield }}
artifact_name: ${{ matrix.artifact-name }} artifact_name: ${{ matrix.artifact-name }}
snippet: ${{ matrix.snippet }}
run: | run: |
if [ -e zephyr/module.yml ]; then if [ -e zephyr/module.yml ]; then
export zmk_load_arg=" -DZMK_EXTRA_MODULES='${GITHUB_WORKSPACE}'" export zmk_load_arg=" -DZMK_EXTRA_MODULES='${GITHUB_WORKSPACE}'"
@ -75,7 +76,12 @@ jobs:
echo "base_dir=${GITHUB_WORKSPACE}" >> $GITHUB_ENV echo "base_dir=${GITHUB_WORKSPACE}" >> $GITHUB_ENV
fi fi
if [ -n "${snippet}" ]; then
extra_west_args="-S \"${snippet}\""
fi
echo "zephyr_version=${ZEPHYR_VERSION}" >> $GITHUB_ENV echo "zephyr_version=${ZEPHYR_VERSION}" >> $GITHUB_ENV
echo "extra_west_args=${extra_west_args}" >> $GITHUB_ENV
echo "extra_cmake_args=${shield:+-DSHIELD=\"$shield\"}${zmk_load_arg}" >> $GITHUB_ENV echo "extra_cmake_args=${shield:+-DSHIELD=\"$shield\"}${zmk_load_arg}" >> $GITHUB_ENV
echo "display_name=${shield:+$shield - }${board}" >> $GITHUB_ENV echo "display_name=${shield:+$shield - }${board}" >> $GITHUB_ENV
echo "artifact_name=${artifact_name:-${shield:+$shield-}${board}-zmk}" >> $GITHUB_ENV echo "artifact_name=${artifact_name:-${shield:+$shield-}${board}-zmk}" >> $GITHUB_ENV
@ -120,7 +126,7 @@ jobs:
- name: West Build (${{ env.display_name }}) - name: West Build (${{ env.display_name }})
working-directory: ${{ env.base_dir }} working-directory: ${{ env.base_dir }}
shell: sh -x {0} shell: sh -x {0}
run: west build -s zmk/app -d "${{ env.build_dir }}" -b "${{ matrix.board }}" -- -DZMK_CONFIG=${{ env.base_dir }}/${{ inputs.config_path }} ${{ env.extra_cmake_args }} ${{ matrix.cmake-args }} run: west build -s zmk/app -d "${{ env.build_dir }}" -b "${{ matrix.board }}" ${{ env.extra_west_args }} -- -DZMK_CONFIG=${{ env.base_dir }}/${{ inputs.config_path }} ${{ env.extra_cmake_args }} ${{ matrix.cmake-args }}
- name: ${{ env.display_name }} Kconfig file - name: ${{ env.display_name }} Kconfig file
run: | run: |

7
.gitignore vendored
View file

@ -5,7 +5,14 @@
/zephyr /zephyr
/zmk-config /zmk-config
/build /build
# macOS
*.DS_Store *.DS_Store
# Python
__pycache__ __pycache__
.python-version .python-version
.venv .venv
# clangd
app/.cache/

View file

@ -8,10 +8,6 @@ set(ZEPHYR_EXTRA_MODULES "${ZMK_EXTRA_MODULES};${CMAKE_CURRENT_SOURCE_DIR}/modul
find_package(Zephyr REQUIRED HINTS ../zephyr) find_package(Zephyr REQUIRED HINTS ../zephyr)
project(zmk) project(zmk)
if(CONFIG_ZMK_SLEEP)
zephyr_linker_sources(SECTIONS include/linker/zmk-pm-devices.ld)
endif()
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)
@ -25,11 +21,14 @@ 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(app PRIVATE src/kscan.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/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)
target_sources_ifdef(CONFIG_ZMK_PM app PRIVATE src/pm.c)
target_sources_ifdef(CONFIG_ZMK_EXT_POWER app PRIVATE src/ext_power_generic.c) target_sources_ifdef(CONFIG_ZMK_EXT_POWER app PRIVATE src/ext_power_generic.c)
target_sources_ifdef(CONFIG_ZMK_GPIO_KEY_WAKEUP_TRIGGER app PRIVATE src/gpio_key_wakeup_trigger.c)
target_sources(app PRIVATE src/events/activity_state_changed.c) target_sources(app PRIVATE src/events/activity_state_changed.c)
target_sources(app PRIVATE src/events/position_state_changed.c) target_sources(app PRIVATE src/events/position_state_changed.c)
target_sources(app PRIVATE src/events/sensor_event.c) target_sources(app PRIVATE src/events/sensor_event.c)
@ -38,6 +37,7 @@ target_sources_ifdef(CONFIG_ZMK_WPM app PRIVATE src/events/wpm_state_changed.c)
target_sources_ifdef(CONFIG_USB_DEVICE_STACK app PRIVATE src/events/usb_conn_state_changed.c) target_sources_ifdef(CONFIG_USB_DEVICE_STACK app PRIVATE src/events/usb_conn_state_changed.c)
target_sources(app PRIVATE src/behaviors/behavior_reset.c) target_sources(app PRIVATE src/behaviors/behavior_reset.c)
target_sources_ifdef(CONFIG_ZMK_EXT_POWER app PRIVATE src/behaviors/behavior_ext_power.c) target_sources_ifdef(CONFIG_ZMK_EXT_POWER app PRIVATE src/behaviors/behavior_ext_power.c)
target_sources_ifdef(CONFIG_ZMK_BEHAVIOR_SOFT_OFF app PRIVATE src/behaviors/behavior_soft_off.c)
if ((NOT CONFIG_ZMK_SPLIT) OR CONFIG_ZMK_SPLIT_ROLE_CENTRAL) if ((NOT CONFIG_ZMK_SPLIT) OR CONFIG_ZMK_SPLIT_ROLE_CENTRAL)
target_sources(app PRIVATE src/hid.c) target_sources(app PRIVATE src/hid.c)
target_sources_ifdef(CONFIG_ZMK_MOUSE app PRIVATE src/mouse.c) target_sources_ifdef(CONFIG_ZMK_MOUSE app PRIVATE src/mouse.c)
@ -99,5 +99,6 @@ target_sources_ifdef(CONFIG_ZMK_LOW_PRIORITY_WORK_QUEUE app PRIVATE src/workqueu
target_sources(app PRIVATE src/main.c) target_sources(app PRIVATE src/main.c)
add_subdirectory(src/display/) add_subdirectory(src/display/)
add_subdirectory_ifdef(CONFIG_SETTINGS src/settings/)
zephyr_cc_option(-Wfatal-errors) zephyr_cc_option(-Wfatal-errors)

View file

@ -383,6 +383,20 @@ config ZMK_BATTERY_REPORTING
select ZMK_LOW_PRIORITY_WORK_QUEUE select ZMK_LOW_PRIORITY_WORK_QUEUE
imply BT_BAS if ZMK_BLE imply BT_BAS if ZMK_BLE
if ZMK_BATTERY_REPORTING
choice ZMK_BATTERY_REPORTING_FETCH_MODE
prompt "Battery Reporting Fetch Mode"
config ZMK_BATTERY_REPORTING_FETCH_MODE_STATE_OF_CHARGE
bool "State of charge"
config ZMK_BATTERY_REPORTING_FETCH_MODE_LITHIUM_VOLTAGE
bool "Lithium Voltage"
endchoice
endif
config ZMK_IDLE_TIMEOUT config ZMK_IDLE_TIMEOUT
int "Milliseconds of inactivity before entering idle state (OLED shutoff, etc)" int "Milliseconds of inactivity before entering idle state (OLED shutoff, etc)"
default 30000 default 30000
@ -391,6 +405,7 @@ config ZMK_SLEEP
bool "Enable deep sleep support" bool "Enable deep sleep support"
depends on HAS_POWEROFF depends on HAS_POWEROFF
select POWEROFF select POWEROFF
select ZMK_PM_DEVICE_SUSPEND_RESUME
imply USB imply USB
if ZMK_SLEEP if ZMK_SLEEP
@ -409,6 +424,26 @@ config ZMK_EXT_POWER
bool "Enable support to control external power output" bool "Enable support to control external power output"
default y default y
config ZMK_PM
bool
config ZMK_PM_DEVICE_SUSPEND_RESUME
bool
select ZMK_PM
config ZMK_PM_SOFT_OFF
bool "Soft-off support"
depends on HAS_POWEROFF
select ZMK_PM
select PM_DEVICE
select ZMK_PM_DEVICE_SUSPEND_RESUME
select POWEROFF
config ZMK_GPIO_KEY_WAKEUP_TRIGGER
bool "Hardware supported wakeup (GPIO)"
default y
depends on DT_HAS_ZMK_GPIO_KEY_WAKEUP_TRIGGER_ENABLED && ZMK_PM_SOFT_OFF
#Power Management #Power Management
endmenu endmenu
@ -485,6 +520,21 @@ config ZMK_KSCAN_EVENT_QUEUE_SIZE
endif # ZMK_KSCAN endif # ZMK_KSCAN
config ZMK_KSCAN_SIDEBAND_BEHAVIORS
bool
default y
depends on DT_HAS_ZMK_KSCAN_SIDEBAND_BEHAVIORS_ENABLED
select KSCAN
if ZMK_KSCAN_SIDEBAND_BEHAVIORS
config ZMK_KSCAN_SIDEBAND_BEHAVIORS_INIT_PRIORITY
int "Keyboard scan sideband behaviors driver init priority"
# The default kscan init priority is 90, so be sure we are initialized later.
default 95
endif # ZMK_KSCAN_SIDEBAND_BEHAVIORS
menu "Logging" menu "Logging"
config ZMK_LOGGING_MINIMAL config ZMK_LOGGING_MINIMAL
@ -565,6 +615,22 @@ endmenu
if SETTINGS if SETTINGS
config ZMK_SETTINGS_RESET_ON_START
bool "Delete all persistent settings when the keyboard boots"
if ZMK_SETTINGS_RESET_ON_START
config ZMK_SETTINGS_RESET_ON_START_INIT_PRIORITY
int "Settings Reset ON Start Initialization Priority"
default 60
help
Initialization priority for the settings reset on start. Must be lower priority/
higher value than FLASH_INIT_PRIORITY if using the NVS/Flash settings backend.
endif
config ZMK_SETTINGS_SAVE_DEBOUNCE config ZMK_SETTINGS_SAVE_DEBOUNCE
int "Milliseconds to debounce settings saves" int "Milliseconds to debounce settings saves"
default 60000 default 60000

View file

@ -12,6 +12,11 @@ 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_SOFT_OFF
bool
default y
depends on DT_HAS_ZMK_BEHAVIOR_SOFT_OFF_ENABLED && ZMK_PM_SOFT_OFF
config ZMK_BEHAVIOR_SENSOR_ROTATE_COMMON config ZMK_BEHAVIOR_SENSOR_ROTATE_COMMON
bool bool

View file

@ -10,6 +10,7 @@
/{ /{
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -10,6 +10,7 @@
/{ /{
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -81,6 +81,8 @@
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
col-gpios col-gpios

View file

@ -30,6 +30,8 @@
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
col-gpios col-gpios

View file

@ -34,6 +34,8 @@
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
col-gpios col-gpios

View file

@ -58,7 +58,7 @@
// | SHFT | | | | | | | _ | + | { | } | "|" | ~ | // | SHFT | | | | | | | _ | + | { | } | "|" | ~ |
// | GUI | | SPC | | ENT | | ALT | // | GUI | | SPC | | ENT | | ALT |
bindings = < bindings = <
&kp TAB &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp KP_MULTIPLY &kp LPAR &kp RPAR &kp BSPC &kp TAB &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &kp BSPC
&kp LCTRL &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE &kp LCTRL &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE
&kp LSHFT &trans &trans &trans &trans &trans &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE &kp LSHFT &trans &trans &trans &trans &trans &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE
&kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT &kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT

View file

@ -15,6 +15,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -15,6 +15,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -15,6 +15,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -15,6 +15,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -14,14 +14,14 @@
#define SYM_L 4 #define SYM_L 4
// Using layer taps on thumbs, having quick tap as well helps w/ repeating space/backspace // Using layer taps on thumbs, having quick tap as well helps w/ repeating space/backspace
&lt { quick_tap_ms = <200>; }; &lt { quick-tap-ms = <200>; };
/ { / {
behaviors { behaviors {
hm: homerow_mods { hm: homerow_mods {
compatible = "zmk,behavior-hold-tap"; compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>; #binding-cells = <2>;
tapping_term_ms = <200>; tapping-term-ms = <200>;
flavor = "tap-preferred"; flavor = "tap-preferred";
bindings = <&kp>, <&kp>; bindings = <&kp>, <&kp>;
}; };

View file

@ -34,6 +34,8 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
debounce-press-ms = <4>; debounce-press-ms = <4>;
debounce-release-ms = <20>; debounce-release-ms = <20>;

View file

@ -42,6 +42,7 @@ RC(4,0) RC(4,1) RC(4,2) RC(4,5) R
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -37,6 +37,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -27,6 +27,8 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-direct"; compatible = "zmk,kscan-gpio-direct";
wakeup-source;
input-gpios = input-gpios =
<&pro_micro 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>, <&pro_micro 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>, <&pro_micro 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,

View file

@ -28,6 +28,7 @@ RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(6,0) RC(6,1) RC(6,2)
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
col-gpios col-gpios

View file

@ -28,6 +28,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -13,6 +13,8 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -13,6 +13,8 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -44,6 +44,8 @@
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
col-gpios col-gpios

View file

@ -26,6 +26,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-direct"; compatible = "zmk,kscan-gpio-direct";
wakeup-source;
input-gpios input-gpios
= <&pro_micro 18 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> = <&pro_micro 18 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>

View file

@ -15,7 +15,7 @@
&mt { &mt {
flavor = "tap-preferred"; flavor = "tap-preferred";
tapping_term_ms = <140>; tapping-term-ms = <140>;
}; };
/ { / {

View file

@ -11,6 +11,8 @@
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
col-gpios col-gpios

View file

@ -47,6 +47,7 @@ RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -46,7 +46,7 @@
// | SHFT | | | | | | | _ | + | { | } | "|" | ~ | // | SHFT | | | | | | | _ | + | { | } | "|" | ~ |
// | GUI | | SPC | | ENT | | ALT | // | GUI | | SPC | | ENT | | ALT |
bindings = < bindings = <
&kp TAB &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp KP_MULTIPLY &kp LPAR &kp RPAR &kp BSPC &kp TAB &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &kp BSPC
&kp LCTRL &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE &kp LCTRL &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE
&kp LSHFT &trans &trans &trans &trans &trans &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE &kp LSHFT &trans &trans &trans &trans &trans &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE
&kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT &kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT

View file

@ -27,6 +27,8 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-direct"; compatible = "zmk,kscan-gpio-direct";
wakeup-source;
input-gpios input-gpios
= <&pro_micro 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> = <&pro_micro 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
, <&pro_micro 18 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> , <&pro_micro 18 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>

View file

@ -13,6 +13,8 @@
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
col-gpios col-gpios

View file

@ -26,6 +26,8 @@
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
col-gpios col-gpios

View file

@ -26,6 +26,7 @@ RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7)
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -35,6 +35,7 @@ RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,13) RC(4,12
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";

View file

@ -14,6 +14,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";

View file

@ -30,6 +30,7 @@ RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) /**/ RC(3,6) RC(3,9
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -32,6 +32,7 @@ RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,7) RC(4,8) RC(4,9
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -13,14 +13,14 @@
#define SYM_L 3 #define SYM_L 3
// Using layer taps on thumbs, having quick tap as well helps w/ repeating space/backspace // Using layer taps on thumbs, having quick tap as well helps w/ repeating space/backspace
&lt { quick_tap_ms = <200>; }; &lt { quick-tap-ms = <200>; };
/ { / {
behaviors { behaviors {
hm: homerow_mods { hm: homerow_mods {
compatible = "zmk,behavior-hold-tap"; compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>; #binding-cells = <2>;
tapping_term_ms = <225>; tapping-term-ms = <225>;
flavor = "tap-preferred"; flavor = "tap-preferred";
bindings = <&kp>, <&kp>; bindings = <&kp>, <&kp>;
}; };

View file

@ -29,6 +29,8 @@
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "row2col"; diode-direction = "row2col";
col-gpios col-gpios

View file

@ -32,6 +32,7 @@ RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(4,2) RC(4,9) RC(3,6) RC(3,7)
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -38,8 +38,8 @@
bindings = < bindings = <
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans &trans &bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans &trans
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12
&kp GRAVE &kp EXCL &kp AT &kp HASH &kp DOLLAR &kp PRCNT &kp CARET &kp AMPS &kp KP_MULTIPLY &kp LPAR &kp RPAR &kp TILDE &kp GRAVE &kp EXCL &kp AT &kp HASH &kp DOLLAR &kp PRCNT &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &kp TILDE
&trans &trans &trans &trans &trans &trans &trans &trans &trans &kp MINUS &kp KP_PLUS &kp LBRC &kp RBRC &kp PIPE &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp MINUS &kp PLUS &kp LBRC &kp RBRC &kp PIPE
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
>; >;
}; };

View file

@ -62,6 +62,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -13,8 +13,8 @@
#define RSE 2 #define RSE 2
#define ADJ 3 #define ADJ 3
&lt { quick_tap_ms = <200>; }; &lt { quick-tap-ms = <200>; };
&mt { quick_tap_ms = <200>; }; &mt { quick-tap-ms = <200>; };
/ { / {
keymap { keymap {

View file

@ -67,6 +67,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -63,6 +63,7 @@ RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -14,6 +14,8 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -15,6 +15,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
}; };

View file

@ -32,6 +32,7 @@ RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(4,5) RC(4,6) RC(3,6) RC(3,7)
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";

View file

@ -31,6 +31,7 @@ RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(3,4) RC(3,5) RC(2,5) RC(2,6) RC(2,7)
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";

View file

@ -33,6 +33,7 @@ RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(4,5) RC(4,6) RC(3,6) RC(3,7)
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -41,8 +41,8 @@
bindings = < bindings = <
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans &trans &bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans &trans
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12
&kp GRAVE &kp EXCL &kp AT &kp HASH &kp DOLLAR &kp PRCNT &kp CARET &kp AMPS &kp KP_MULTIPLY &kp LPAR &kp RPAR &kp TILDE &kp GRAVE &kp EXCL &kp AT &kp HASH &kp DOLLAR &kp PRCNT &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &kp TILDE
&trans &ext_power EP_ON &ext_power EP_OFF &ext_power EP_TOG &trans &trans &trans &trans &trans &kp MINUS &kp KP_PLUS &kp LBRC &kp RBRC &kp PIPE &trans &ext_power EP_ON &ext_power EP_OFF &ext_power EP_TOG &trans &trans &trans &trans &trans &kp MINUS &kp PLUS &kp LBRC &kp RBRC &kp PIPE
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
>; >;

View file

@ -33,6 +33,7 @@ RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(4,5) RC(4,6) RC(3,6) RC(3,7
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -14,6 +14,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -9,6 +9,7 @@
/ { / {
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios
= <&pro_micro 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> = <&pro_micro 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>

View file

@ -46,7 +46,7 @@
// | | | | | | | _ | + | [ | ] | \ | // | | | | | | | _ | + | [ | ] | \ |
// | GUI | | SPC | | ENT | | ALT | // | GUI | | SPC | | ENT | | ALT |
bindings = < bindings = <
&kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp KP_MULTIPLY &kp LPAR &kp RPAR &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR
&trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp PIPE &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp PIPE
&trans &trans &trans &trans &trans &trans &trans &trans &trans &kp BSLH &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp BSLH
&kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT &kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT

View file

@ -9,6 +9,7 @@
/ { / {
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
}; };
}; };

View file

@ -14,6 +14,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -11,6 +11,7 @@
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
col-gpios col-gpios

View file

@ -15,7 +15,7 @@
&mt { &mt {
flavor = "tap-preferred"; flavor = "tap-preferred";
tapping_term_ms = <140>; tapping-term-ms = <140>;
}; };
/ { / {

View file

@ -26,6 +26,7 @@ RC(0,0) RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8)
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "row2col"; diode-direction = "row2col";
col-gpios col-gpios

View file

@ -11,6 +11,7 @@
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
col-gpios col-gpios

View file

@ -27,6 +27,7 @@
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
col-gpios col-gpios

View file

@ -12,6 +12,8 @@
*/ */
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";

View file

@ -17,6 +17,8 @@
*/ */
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";

View file

@ -32,6 +32,7 @@ RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,7) RC(4,8)
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -38,6 +38,8 @@ RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(3,7)
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
col-gpios col-gpios

View file

@ -27,6 +27,8 @@ RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(5,0) RC(5,1) RC(5,2) RC(5,3)
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
col-gpios col-gpios

View file

@ -22,6 +22,7 @@
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
col-gpios col-gpios

View file

@ -28,6 +28,8 @@ RC(6,0) RC(6,1) RC(6,2) RC(6,3) RC(6,4) RC(6,5)
kscan0: kscan_0 { kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
col-gpios col-gpios

View file

@ -13,6 +13,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -13,6 +13,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";

View file

@ -1 +1,4 @@
CONFIG_ZMK_BLE_CLEAR_BONDS_ON_START=y CONFIG_SETTINGS=y
CONFIG_ZMK_SETTINGS_RESET_ON_START=y
# Disable BLE so splits don't try to re-pair until normal firmware is flashed.
CONFIG_ZMK_BLE=n

View file

@ -33,6 +33,7 @@ RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(4,5) RC(4,6) RC(3,6) RC(3,7)
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -60,8 +60,8 @@
bindings = < bindings = <
&trans &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &trans &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp F12 &kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp F12
&trans &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp KP_MULTIPLY &kp LPAR &kp RPAR &kp PIPE &trans &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &kp PIPE
&trans &kp EQUAL &kp MINUS &kp KP_PLUS &kp LBRC &kp RBRC &trans &trans &kp LBKT &kp RBKT &kp SEMI &kp COLON &kp BSLH &trans &trans &kp EQUAL &kp MINUS &kp PLUS &kp LBRC &kp RBRC &trans &trans &kp LBKT &kp RBKT &kp SEMI &kp COLON &kp BSLH &trans
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
>; >;

View file

@ -46,7 +46,7 @@
// | SHFT | | | | | | | _ | + | { | } | "|" | ~ | // | SHFT | | | | | | | _ | + | { | } | "|" | ~ |
// | GUI | | SPC | | ENT | | ALT | // | GUI | | SPC | | ENT | | ALT |
bindings = < bindings = <
&kp TAB &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp KP_MULTIPLY &kp LPAR &kp RPAR &kp BSPC &kp TAB &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &kp BSPC
&kp LCTRL &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE &kp LCTRL &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE
&kp LSHFT &trans &trans &trans &trans &trans &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE &kp LSHFT &trans &trans &trans &trans &trans &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE
&kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT &kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT

View file

@ -13,6 +13,8 @@
kscan: kscan { kscan: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -13,6 +13,8 @@
kscan: kscan { kscan: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -13,6 +13,8 @@
kscan: kscan { kscan: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -13,6 +13,8 @@
kscan: kscan { kscan: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -13,6 +13,8 @@
kscan: kscan { kscan: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "row2col"; diode-direction = "row2col";
row-gpios row-gpios

View file

@ -13,6 +13,8 @@
kscan: kscan { kscan: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "row2col"; diode-direction = "row2col";
row-gpios row-gpios

View file

@ -13,6 +13,8 @@
kscan: kscan { kscan: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -13,6 +13,8 @@
kscan: kscan { kscan: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -11,7 +11,7 @@
&mt { &mt {
// flavor = "tap-preferred"; // flavor = "tap-preferred";
// tapping_term_ms = <200>; // tapping-term-ms = <200>;
}; };
/ { / {

View file

@ -13,6 +13,8 @@
kscan: kscan { kscan: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "row2col"; diode-direction = "row2col";
row-gpios row-gpios

View file

@ -13,6 +13,7 @@
kscan: kscan { kscan: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "row2col"; diode-direction = "row2col";
row-gpios row-gpios

View file

@ -34,6 +34,7 @@ RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,7)
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "row2col"; diode-direction = "row2col";
row-gpios row-gpios

View file

@ -9,6 +9,7 @@
/ { / {
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";

View file

@ -11,6 +11,7 @@
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-direct"; compatible = "zmk,kscan-gpio-direct";
wakeup-source;
input-gpios input-gpios
= <&pro_micro 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> = <&pro_micro 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>

View file

@ -31,6 +31,7 @@ RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5)
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -20,4 +20,7 @@ config ZMK_RGB_UNDERGLOW
select WS2812_STRIP select WS2812_STRIP
select SPI select SPI
config ZMK_PM_SOFT_OFF
default y if BOARD_NRF52840DK_NRF52840
endif endif

View file

@ -12,6 +12,15 @@
bias-pull-up; bias-pull-up;
}; };
}; };
qdec_sleep: qdec_sleep {
group1 {
psels = <NRF_PSEL(QDEC_A, 1, 11)>,
<NRF_PSEL(QDEC_B, 1, 10)>;
bias-pull-up;
low-power-enable;
};
};
}; };
// Set up the QDEC hardware based driver and give it the same label as the deleted node. // Set up the QDEC hardware based driver and give it the same label as the deleted node.
@ -20,6 +29,38 @@ encoder: &qdec0 {
led-pre = <0>; led-pre = <0>;
steps = <80>; steps = <80>;
pinctrl-0 = <&qdec_default>; pinctrl-0 = <&qdec_default>;
pinctrl-1 = <&qdec_default>; pinctrl-1 = <&qdec_sleep>;
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
}; };
/ {
behaviors {
hw_soft_off: hw_soft_off {
compatible = "zmk,behavior-soft-off";
#binding-cells = <0>;
};
};
soft_off_direct_kscan: soft_off_direct_kscan {
compatible = "zmk,kscan-gpio-direct";
input-keys = <&button0>;
wakeup-source;
};
soft_off_sideband_behaviors {
compatible = "zmk,kscan-sideband-behaviors";
kscan = <&soft_off_direct_kscan>;
soft_off {
row = <0>;
column = <0>;
bindings = <&hw_soft_off>;
};
};
soft_off_wakers {
compatible = "zmk,soft-off-wakeup-sources";
status = "okay";
wakeup-sources = <&soft_off_direct_kscan>;
};
};

View file

@ -40,7 +40,7 @@ nice_view_spi: &arduino_spi {
/ { / {
chosen { chosen {
zmk,kscan = &kscan_matrix_comp; zmk,kscan = &kscan_matrix;
zmk,backlight = &backlight; zmk,backlight = &backlight;
zmk,underglow = &led_strip; zmk,underglow = &led_strip;
zmk,matrix-transform = &matrix_transform; zmk,matrix-transform = &matrix_transform;
@ -74,7 +74,6 @@ nice_view_spi: &arduino_spi {
map = < map = <
RC(0,0) RC(0,1) RC(0,0) RC(0,1)
RC(1,0) RC(1,1) RC(1,0) RC(1,1)
RC(2,0) RC(2,1) RC(2,2)
>; >;
}; };
@ -86,44 +85,12 @@ nice_view_spi: &arduino_spi {
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(1,0) RC(1,1) RC(1,2)
>; >;
}; };
kscan_matrix_comp: kscan_matrix_comp {
compatible = "zmk,kscan-composite";
rows = <1>;
columns = <7>;
matrix {
kscan = <&kscan_matrix>;
};
toggle {
kscan = <&kscan_sp3t_toggle>;
row-offset = <2>;
};
};
kscan_direct_comp: kscan_direct_comp {
compatible = "zmk,kscan-composite";
status = "disabled";
matrix {
kscan = <&kscan_direct>;
};
toggle {
kscan = <&kscan_sp3t_toggle>;
row-offset = <1>;
};
};
kscan_matrix: kscan_matrix { kscan_matrix: kscan_matrix {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
@ -141,6 +108,7 @@ 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;
status = "disabled"; status = "disabled";
input-gpios input-gpios

View file

@ -9,42 +9,21 @@
#include <dt-bindings/zmk/backlight.h> #include <dt-bindings/zmk/backlight.h>
#include <dt-bindings/zmk/bt.h> #include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/ext_power.h> #include <dt-bindings/zmk/ext_power.h>
#include <dt-bindings/zmk/outputs.h>
#include <dt-bindings/zmk/rgb.h> #include <dt-bindings/zmk/rgb.h>
// Uncomment the following block 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.
/* :REMOVE ME // &kscan_direct { status = "okay"; };
// &kscan_matrix { status = "disabled"; };
&kscan_direct_comp { status = "okay"; }; // / {
&kscan_direct { status = "okay"; }; // chosen {
&kscan_matrix_comp { status = "disabled"; }; // zmk,matrix-transform = &direct_matrix_transform;
&kscan_matrix { status = "disabled"; }; // zmk,kscan = &kscan_direct;
// };
// };
/ { / {
chosen {
zmk,matrix-transform = &direct_matrix_transform;
zmk,kscan = &kscan_direct_comp;
};
};
REMOVE ME: */
/ {
macros {
ZMK_MACRO(ble_zero,
wait-ms = <1>;
tap-ms = <1>;
bindings = <&out OUT_BLE &bt BT_SEL 0>;
)
ZMK_MACRO(ble_one,
wait-ms = <1>;
tap-ms = <1>;
bindings = <&out OUT_BLE &bt BT_SEL 1>;
)
};
keymap { keymap {
compatible = "zmk,keymap"; compatible = "zmk,keymap";
@ -52,8 +31,6 @@ REMOVE ME: */
bindings = < bindings = <
&kp A &bl BL_TOG &kp A &bl BL_TOG
&rgb_ug RGB_EFF &bt BT_CLR &rgb_ug RGB_EFF &bt BT_CLR
&out OUT_USB &ble_zero &ble_one
>; >;
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>; sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;

View file

@ -6,6 +6,10 @@
#include "zmk_uno.dtsi" #include "zmk_uno.dtsi"
#include <behaviors.dtsi>
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/outputs.h>
/ { / {
chosen { chosen {
zmk,matrix-transform = &matrix_transform; zmk,matrix-transform = &matrix_transform;
@ -19,4 +23,37 @@
}; };
}; };
macros {
ZMK_MACRO(ble_zero,
wait-ms = <1>;
tap-ms = <1>;
bindings = <&out OUT_BLE &bt BT_SEL 0>;
)
ZMK_MACRO(ble_one,
wait-ms = <1>;
tap-ms = <1>;
bindings = <&out OUT_BLE &bt BT_SEL 1>;
)
};
endpoint_sideband_behaviors {
compatible = "zmk,kscan-sideband-behaviors";
kscan = <&kscan_sp3t_toggle>;
first_toggle_sideband: first_toggle_sideband {
column = <0>;
bindings = <&out OUT_USB>;
};
second_toggle_sideband: second_toggle_sideband {
column = <1>;
bindings = <&ble_zero>;
};
third_toggle_sideband: third_toggle_sideband {
column = <2>;
bindings = <&ble_one>;
};
};
}; };

View file

@ -17,16 +17,15 @@
split_matrix_transform: split_matrix_transform { split_matrix_transform: split_matrix_transform {
compatible = "zmk,matrix-transform"; compatible = "zmk,matrix-transform";
rows = <3>; rows = <4>;
columns = <4>; columns = <2>;
map = < map = <
RC(0,0) RC(0,1) RC(0,0) RC(0,1)
RC(1,0) RC(1,1) RC(1,0) RC(1,1)
RC(2,0) RC(2,1) RC(2,2)
RC(3,0) RC(3,1) RC(3,0) RC(3,1)
RC(4,0) RC(4,1) RC(4,0) RC(4,1)
RC(5,0) RC(5,1) RC(5,2)
>; >;
}; };
@ -38,10 +37,9 @@
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(1,0) RC(1,1) RC(1,2)
RC(2,0) RC(2,1) RC(2,0) RC(2,1)
RC(2,2) RC(2,3) RC(2,2) RC(2,3)
RC(3,0) RC(3,1) RC(3,2)
>; >;
}; };

View file

@ -12,38 +12,20 @@
#include <dt-bindings/zmk/outputs.h> #include <dt-bindings/zmk/outputs.h>
#include <dt-bindings/zmk/rgb.h> #include <dt-bindings/zmk/rgb.h>
// Uncomment the following block 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.
/* :REMOVE ME
&kscan_direct_comp { status = "okay"; }; // &kscan_direct { status = "okay"; };
&kscan_direct { status = "okay"; }; // &kscan_matrix { status = "disabled"; };
&kscan_matrix_comp { status = "disabled"; };
&kscan_matrix { status = "disabled"; }; // / {
// chosen {
// zmk,matrix-transform = &split_direct_matrix_transform;
// zmk,kscan = &kscan_direct;
// };
// };
/ { / {
chosen {
zmk,matrix-transform = &split_direct_matrix_transform;
zmk,kscan = &kscan_direct_comp;
};
};
REMOVE ME: */
/ {
macros {
ZMK_MACRO(ble_zero,
wait-ms = <1>;
tap-ms = <1>;
bindings = <&out OUT_BLE &bt BT_SEL 0>;
)
ZMK_MACRO(ble_one,
wait-ms = <1>;
tap-ms = <1>;
bindings = <&out OUT_BLE &bt BT_SEL 1>;
)
};
keymap { keymap {
compatible = "zmk,keymap"; compatible = "zmk,keymap";
@ -53,11 +35,8 @@ REMOVE ME: */
&kp A &bl BL_TOG &kp A &bl BL_TOG
&rgb_ug RGB_EFF &bt BT_CLR &rgb_ug RGB_EFF &bt BT_CLR
&out OUT_USB &ble_zero &ble_one
&kp C &kp D &kp C &kp D
&kp E &kp F &kp E &kp F
&none &none &none
>; >;
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>; sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>;

View file

@ -33,6 +33,7 @@ RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,7) R
kscan0: kscan { kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix"; compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row"; diode-direction = "col2row";
row-gpios row-gpios

View file

@ -20,3 +20,4 @@
#include <behaviors/backlight.dtsi> #include <behaviors/backlight.dtsi>
#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>

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