auto-update-daily-20260202
  1#define EACUT  RA(E)      // é/É
  2#define EURO   RA(N5)     // €
  3#define AE     RA(Z)      // æ/Æ
  4#define OE     RA(K)       // œ/Œ
  5#define CDIL   RA(COMMA)  // ç/Ç
  6#define NTIL   RA(N)      // ñ/Ñ
  7
  8#define ACC_AC RC(SEMI)         // ´
  9#define ACC_AI RA(SLASH)        // ´
 10#define ACC_CI LBKT             // ^
 11#define ACC_GR RA(LBKT)         // `
 12#define ACC_TI RC(RBKT)         // ~
 13#define ACC_TR LS(LBKT)         // ¨
 14
 15// ` to input
 16ZMK_MACRO_ONE_PARAM(AGRA, bindings =
 17    <&kp GRAVE>,
 18    <&macro_param_1to1>,
 19    <&macro_tap &kp MACRO_PLACEHOLDER>;
 20)
 21
 22// ´ to input
 23ZMK_MACRO_ONE_PARAM(AIGU, bindings =
 24    <&kp SQT>,
 25    <&macro_param_1to1>,
 26    <&macro_tap &kp MACRO_PLACEHOLDER>;
 27)
 28
 29// ¨ to input
 30ZMK_MACRO_ONE_PARAM(TREM, bindings =
 31    <&kp DQT>,
 32    <&macro_param_1to1>,
 33    <&macro_tap &kp MACRO_PLACEHOLDER>;
 34)
 35
 36// ^ to input
 37ZMK_MACRO_ONE_PARAM(CIRC, bindings =
 38    <&kp CARET>,
 39    <&macro_param_1to1>,
 40    <&macro_tap &kp MACRO_PLACEHOLDER>;
 41)
 42
 43// tap: minus | shift + tap: question mark
 44ZMK_MOD_MORPH(min_qma,
 45    bindings = <&kp MINUS>, <&kp QMARK>;
 46    mods = <(MOD_LSFT|MOD_RSFT)>;
 47)
 48
 49// tap: comma | shift + tab: semicolon
 50ZMK_MOD_MORPH(com_smc,
 51    bindings = <&kp COMMA>, <&kp SEMICOLON>;
 52    mods = <(MOD_LSFT|MOD_RSFT)>;
 53)
 54  
 55// tap: period | shift + tap: colon
 56ZMK_MOD_MORPH(dot_col,
 57    bindings = <&kp DOT>, <&kp COLON>;
 58    mods = <(MOD_LSFT|MOD_RSFT)>;
 59)
 60
 61// Bépo morphs
 62
 63// tap: quote (') | shift + tab: question mark
 64ZMK_MOD_MORPH(sqt_qma,
 65    bindings = <&AIGU SPACE>, <&kp QMARK>;
 66    mods = <(MOD_LSFT|MOD_RSFT)>;
 67)
 68
 69// tap: Caret (^) | shift + tap: EXCLAMATION (!)
 70ZMK_MOD_MORPH(car_excl,
 71    bindings = <&kp CARET>, <&kp EXCLAMATION>;
 72    mods = <(MOD_LSFT|MOD_RSFT)>;
 73)
 74
 75// tap: B | right_alt + tap : pipe (|)
 76ZMK_MOD_MORPH(b_pipe,
 77    bindings = <&kp B>, <&kp PIPE>;
 78    mods = <(MOD_RALT)>;
 79)
 80
 81// tap: P | right_alt + tap : ampersand (&)
 82ZMK_MOD_MORPH(p_amp,
 83    bindings = <&kp P>, <&kp AMPERSAND>;
 84    mods = <(MOD_RALT)>;
 85)
 86
 87// hold: numbers layer | tap: SPACE | right_alt + tap : undercore (_)
 88ZMK_MOD_MORPH(num_spc_und,
 89    bindings = <&lt NUM SPACE>, <&kp UNDERSCORE>;
 90    mods = <(MOD_RALT)>;
 91)
 92
 93// hold: left control | tap: E | right_alt + tap: EURO (€)
 94ZMK_MOD_MORPH(cl_e_euro,
 95    bindings = <&hml CL E>, <&kp EURO>;
 96    mods = <(MOD_RALT)>;
 97)
 98
 99// hold: right_hype | tap: comma | shift + tab: semicolon
100ZMK_MOD_MORPH(hyp_com_smc,
101    bindings = <&hml HL COMMA>, <&kp SEMICOLON>;
102    mods = <(MOD_LSFT|MOD_RSFT)>;
103)
104
105/*
106Local Variables:
107mode: c
108End:
109*/