diff --git a/app/dts/behaviors/key_tap.dtsi b/app/dts/behaviors/key_tap.dtsi new file mode 100644 index 000000000..9a8067efb --- /dev/null +++ b/app/dts/behaviors/key_tap.dtsi @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2025 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + */ + +#include + +/ { + behaviors { +#if ZMK_BEHAVIOR_OMIT(KTAP) + /omit-if-no-ref/ +#endif + ktap: key_tap { + compatible = "zmk,behavior-macro-one-param"; + #binding-cells = <1>; + display-name = "Key Tap"; + bindings = <¯o_param_1to1>, <&kp MACRO_PLACEHOLDER>; + }; + }; +}; diff --git a/app/dts/behaviors/key_toggle.dtsi b/app/dts/behaviors/key_toggle.dtsi index cd43c592b..a5b01f4c7 100644 --- a/app/dts/behaviors/key_toggle.dtsi +++ b/app/dts/behaviors/key_toggle.dtsi @@ -16,5 +16,25 @@ #binding-cells = <1>; display-name = "Key Toggle"; }; + +#if ZMK_BEHAVIOR_OMIT(KT_ON) + /omit-if-no-ref/ +#endif + kt_on: key_toggle_on { + compatible = "zmk,behavior-key-toggle"; + #binding-cells = <1>; + display-name = "Key Toggle On"; + toggle-mode = "on"; + }; + +#if ZMK_BEHAVIOR_OMIT(KT_OFF) + /omit-if-no-ref/ +#endif + kt_off: key_toggle_off { + compatible = "zmk,behavior-key-toggle"; + #binding-cells = <1>; + display-name = "Key Toggle Off"; + toggle-mode = "off"; + }; }; }; diff --git a/app/dts/behaviors/toggle_layer.dtsi b/app/dts/behaviors/toggle_layer.dtsi index a0c853403..b29a314ba 100644 --- a/app/dts/behaviors/toggle_layer.dtsi +++ b/app/dts/behaviors/toggle_layer.dtsi @@ -17,5 +17,25 @@ display-name = "Toggle Layer"; locking; }; + +#if ZMK_BEHAVIOR_OMIT(TOG_ON) + /omit-if-no-ref/ +#endif + tog_on: toggle_layer_on { + compatible = "zmk,behavior-toggle-layer"; + #binding-cells = <1>; + display-name = "Toggle Layer On"; + toggle-mode = "on"; + }; + +#if ZMK_BEHAVIOR_OMIT(TOG_OFF) + /omit-if-no-ref/ +#endif + tog_off: toggle_layer_off { + compatible = "zmk,behavior-toggle-layer"; + #binding-cells = <1>; + display-name = "Toggle Layer Off"; + toggle-mode = "off"; + }; }; }; diff --git a/app/tests/toggle-layer/behavior_keymap.dtsi b/app/tests/toggle-layer/behavior_keymap.dtsi index 8fbf4858d..e58a21bf7 100644 --- a/app/tests/toggle-layer/behavior_keymap.dtsi +++ b/app/tests/toggle-layer/behavior_keymap.dtsi @@ -3,16 +3,6 @@ #include / { - behaviors { - tog_off: toggle_layer_off_only { - compatible = "zmk,behavior-toggle-layer"; - #binding-cells = <1>; - display-name = "Toggle Layer Off"; - toggle-mode = "off"; - locking; - }; - }; - keymap { compatible = "zmk,keymap";