Commit 3f44036e86a4

Vincent Demeester <vincent@sbr.pm>
2025-11-19 20:18:18
feat(eyelash_corne): Implement numword smart layer
- Streamline number entry with auto-activating layer behavior - Eliminate manual layer switching during numeric input - Bring numword ergonomics to match Moonlander configuration Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Vincent Demeester <vincent@sbr.pm>
1 parent c1272f8
keyboards/eyelash_corne/config/eyelash_corne.keymap
@@ -15,6 +15,7 @@
 #include "zmk-helpers/unicode-chars/currency.dtsi"
 #include "zmk-helpers/unicode-chars/french.dtsi"
 #include "combos.dtsi"
+#include "numword.dtsi"
 #include "hold-tap.dtsi"
 #include "mod-morph.dtsi"
 #include "mouse.dtsi"
@@ -35,7 +36,7 @@ ZMK_LAYER(Bepo,
 // ╭───────────┬───────────┬───────────┬───────────┬────────────┬────────────╮                                ╭───────────┬─────────────┬─────────────┬────────────┬────────────┬────────────╮
      &kp TAB     &b_pipe     &kp EACUT   &p_amp      &kp O        &AGRA E                 &kp UP                &car_excl   &kp V         &kp D         &kp L        &kp J        &kp Z
 // ├───────────┼───────────┼───────────┼───────────┼────────────┼────────────┤                                ├───────────┼─────────────┼─────────────┼────────────┼────────────┼────────────┤
-     &kp EQUAL   &hml GL A   &hml AL U   &hml SL I   &cl_e_euro   &hyp_com_smc  &kp LEFT  &kp RET  &kp RIGHT    &hmr HL C   &hmr CR T     &hmr SR S     &hmr AR R    &hmr GL N    &kp M
+     &smart_num NUM NUM   &hml GL A   &hml AL U   &hml SL I   &cl_e_euro   &hyp_com_smc  &kp LEFT  &kp RET  &kp RIGHT    &hmr HL C   &hmr CR T     &hmr SR S     &hmr AR R    &hmr GL N    &kp M
 // ├───────────┼───────────┼───────────┼───────────┼────────────┼────────────┤                                ├───────────┼─────────────┼─────────────┼────────────┼────────────┼────────────┤
      &kp GRAVE   &AGRA A     &kp Y       &kp X       &dot_col     &kp K        &kp C_MUTE &kp DOWN              &sqt_qma    &kp Q         &kp G         &kp H        &kp F        &kp W
 // ╰───────────┴───────────────────────┼───────────┼────────────┼────────────┤                                ├───────────┼─────────────┼─────────────┼────────────┴────────────┴────────────╯
keyboards/eyelash_corne/config/hold-tap.dtsi
@@ -56,6 +56,15 @@ ZMK_HOLD_TAP(hmr,
  *     global-quick-tap;
  *     bindings = <&kp>, <&E_CI_E>;
  * ) */
+
+// Smart number: hold for NUM layer, tap for numword
+ZMK_HOLD_TAP(smart_num,
+    flavor = "balanced";
+    tapping-term-ms = <200>;
+    quick-tap-ms = <175>;
+    bindings = <&mo>, <&num_word>;
+)
+
 /*
 Local Variables:
 mode: c
keyboards/eyelash_corne/config/numword.dtsi
@@ -0,0 +1,19 @@
+// Numword behavior - smart number layer
+// Based on https://github.com/urob/zmk-auto-layer
+
+/ {
+    behaviors {
+        num_word: num_word {
+            compatible = "zmk,behavior-auto-layer";
+            #binding-cells = <1>;
+            continue-list = <BACKSPACE DELETE DOT COMMA PLUS MINUS STAR FSLH EQUAL>;
+            ignore-numbers;
+        };
+    };
+};
+
+/*
+Local Variables:
+mode: c
+End:
+*/
keyboards/eyelash_corne/config/west.yml
@@ -26,6 +26,9 @@ manifest:
     - name: zmk-helpers
       remote: urob
       revision: main
+    - name: zmk-auto-layer
+      remote: urob
+      revision: next
     - name: nice-view-gem #new entry
       remote: m165437 #new entry
       revision: main #new entry
CLAUDE.md
@@ -160,11 +160,11 @@ go test ./...
 ### Keyboard Firmware
 
 ```bash
-# Build Moonlander QMK firmware
-cd keyboards/moonlander && ./go.sh build
+# Build Moonlander QMK firmware in folder keyboards/moonlander of the git repository
+./go.sh build
 
-# Build eyelash_corne ZMK firmware
-cd keyboards && ./eyelash_corne.sh build
+# Build eyelash_corne ZMK firmware in folder keyboards of the git repository
+./eyelash_corne.sh build
 ```
 
 ## Special Notes