Merge branch 'zmkfirmware:main' into reviung5-underglow
This commit is contained in:
commit
c71eea7326
173 changed files with 2148 additions and 373 deletions
8
.github/workflows/build-user-config.yml
vendored
8
.github/workflows/build-user-config.yml
vendored
|
@ -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
7
.gitignore
vendored
|
@ -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/
|
||||||
|
|
|
@ -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)
|
||||||
|
|
66
app/Kconfig
66
app/Kconfig
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
< { quick_tap_ms = <200>; };
|
< { 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>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -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>;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)>,
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)>
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
&mt {
|
&mt {
|
||||||
flavor = "tap-preferred";
|
flavor = "tap-preferred";
|
||||||
tapping_term_ms = <140>;
|
tapping-term-ms = <140>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)>
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
< { quick_tap_ms = <200>; };
|
< { 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>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
#define RSE 2
|
#define RSE 2
|
||||||
#define ADJ 3
|
#define ADJ 3
|
||||||
|
|
||||||
< { quick_tap_ms = <200>; };
|
< { quick-tap-ms = <200>; };
|
||||||
&mt { quick_tap_ms = <200>; };
|
&mt { quick-tap-ms = <200>; };
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
keymap {
|
keymap {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
>;
|
>;
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)>
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
&mt {
|
&mt {
|
||||||
flavor = "tap-preferred";
|
flavor = "tap-preferred";
|
||||||
tapping_term_ms = <140>;
|
tapping-term-ms = <140>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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";
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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";
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
>;
|
>;
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
&mt {
|
&mt {
|
||||||
// flavor = "tap-preferred";
|
// flavor = "tap-preferred";
|
||||||
// tapping_term_ms = <200>;
|
// tapping-term-ms = <200>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
@ -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)>
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -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
|
||||||
|
|
|
@ -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>;
|
||||||
|
|
|
@ -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>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -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)
|
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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>;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
Loading…
Add table
Reference in a new issue