diff --git a/layouts/canadian-multilingual-standard.dtsi b/layouts/canadian-multilingual-standard.dtsi index 3dcdcd0..73fd321 100644 --- a/layouts/canadian-multilingual-standard.dtsi +++ b/layouts/canadian-multilingual-standard.dtsi @@ -25,53 +25,55 @@ #define ACC_TR LS(LBKT) // ¨ /* Fractions */ -#define MATH_1_4 RA(4) // ¼ -#define MATH_1_2 RA(5) // ½ -#define MATH_3_4 RA(6) // ¾ +#define MATH_1_4 RA(RC(4)) // ¼ +#define MATH_1_2 RA(RC(5)) // ½ +#define MATH_3_4 RA(RC(6)) // ¾ #define MATH_3_8 RC(5) // ⅜ #define MATH_5_8 RC(6) // ⅝ #define MATH_7_8 RC(7) // ⅞ /* Symbols */ -#define MATH_PM RC(9) // ± -#define MATH_DEG RA(SEMI) // ° -#define MATH_MICRO RA(M) // µ +#define MATH_PM RA(1) // ± +#define MATH_DEG RA(SEMI) // ° +#define MATH_MICRO RA(M) // µ /* Typography */ #define LAQUO RA(Z) // « #define RAQUO RA(X) // » + + // Mod-morph - lowercase / uppercase accented characters -ZMK_MOD_MORPH(morph_a_circ, bindings = <&CIRC A>, <&CIRC LS(A)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // â /  -ZMK_MOD_MORPH(morph_e_circ, bindings = <&CIRC E>, <&CIRC LS(E)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // ê / Ê -ZMK_MOD_MORPH(morph_e_trem, bindings = <&TREM E>, <&TREM LS(E)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // ê / Ê -ZMK_MOD_MORPH(morph_i_circ, bindings = <&CIRC I>, <&CIRC LS(I)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // î / Î -ZMK_MOD_MORPH(morph_i_trem, bindings = <&TREM I>, <&TREM LS(I)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // ê / Ê -ZMK_MOD_MORPH(morph_o_circ, bindings = <&CIRC O>, <&CIRC LS(O)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // ô / Ô -ZMK_MOD_MORPH(morph_o_trem, bindings = <&TREM O>, <&TREM LS(O)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // ê / Ê -ZMK_MOD_MORPH(morph_u_circ, bindings = <&CIRC U>, <&CIRC LS(U)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // û / Û -ZMK_MOD_MORPH(morph_u_grav, bindings = <&AGRA U>, <&AGRA LS(U)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // ù / Ù -ZMK_MOD_MORPH(morph_u_trem, bindings = <&TREM U>, <&TREM LS(U)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // ê / Ê +ZMK_MOD_MORPH(morph_a_circ, bindings = <&CIRC A>, <&CIRC LS(A)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // â /  +ZMK_MOD_MORPH(morph_e_circ, bindings = <&CIRC E>, <&CIRC LS(E)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // ê / Ê +ZMK_MOD_MORPH(morph_e_trem, bindings = <&TREM E>, <&TREM LS(E)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // ê / Ê +ZMK_MOD_MORPH(morph_i_circ, bindings = <&CIRC I>, <&CIRC LS(I)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // î / Î +ZMK_MOD_MORPH(morph_i_trem, bindings = <&TREM I>, <&TREM LS(I)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // ê / Ê +ZMK_MOD_MORPH(morph_o_circ, bindings = <&CIRC O>, <&CIRC LS(O)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // ô / Ô +ZMK_MOD_MORPH(morph_o_trem, bindings = <&TREM O>, <&TREM LS(O)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // ê / Ê +ZMK_MOD_MORPH(morph_u_circ, bindings = <&CIRC U>, <&CIRC LS(U)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // û / Û +ZMK_MOD_MORPH(morph_u_grav, bindings = <&AGRA U>, <&AGRA LS(U)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // ù / Ù +ZMK_MOD_MORPH(morph_u_trem, bindings = <&TREM U>, <&TREM LS(U)>; mods = <(MOD_LSFT|MOD_RSFT)>;) // ê / Ê ZMK_MOD_MORPH(morph__ae, bindings = <&kp RC(A)>, <&kp LS(RC(A))>; mods = <(MOD_LSFT|MOD_RSFT)>;) // æ / Æ ZMK_MOD_MORPH(morph__oe, bindings = <&kp RC(E)>, <&kp LS(RC(E))>; mods = <(MOD_LSFT|MOD_RSFT)>;) // œ / Œ // The following macros return to the base layer after being pressed -ZMK_MACRO_ONE_PARAM(A_GR, bindings = <&kp BACKSLASH>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // À -ZMK_MACRO_ONE_PARAM(A_CI, bindings = <&morph_a_circ>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) //  -ZMK_MACRO_ONE_PARAM(E_CU, bindings = <&kp SLASH>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // É -ZMK_MACRO_ONE_PARAM(E_GR, bindings = <&kp APOS>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // È -ZMK_MACRO_ONE_PARAM(E_CI, bindings = <&morph_e_circ>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ê -ZMK_MACRO_ONE_PARAM(E_TR, bindings = <&morph_e_trem>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ê -ZMK_MACRO_ONE_PARAM(I_CI, bindings = <&morph_i_circ>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Î -ZMK_MACRO_ONE_PARAM(I_TR, bindings = <&morph_i_trem>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ê -ZMK_MACRO_ONE_PARAM(O_CI, bindings = <&morph_o_circ>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ô -ZMK_MACRO_ONE_PARAM(O_TR, bindings = <&morph_o_trem>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ê -ZMK_MACRO_ONE_PARAM(U_CI, bindings = <&morph_u_circ>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Û -ZMK_MACRO_ONE_PARAM(U_GR, bindings = <&morph_u_grav>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ù -ZMK_MACRO_ONE_PARAM(U_TR, bindings = <&morph_u_trem>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ê -ZMK_MACRO_ONE_PARAM(AE_L, bindings = <&morph__ae>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Æ -ZMK_MACRO_ONE_PARAM(OE_L, bindings = <&morph__oe>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Œ -ZMK_MACRO_ONE_PARAM(CEDIL, bindings = <&kp RBKT>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ç +ZMK_MACRO_ONE_PARAM(A_GR, bindings = <&kp BACKSLASH>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // À +ZMK_MACRO_ONE_PARAM(A_CI, bindings = <&morph_a_circ>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) //  +ZMK_MACRO_ONE_PARAM(E_CU, bindings = <&kp SLASH>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // É +ZMK_MACRO_ONE_PARAM(E_GR, bindings = <&kp APOS>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // È +ZMK_MACRO_ONE_PARAM(E_CI, bindings = <&morph_e_circ>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ê +ZMK_MACRO_ONE_PARAM(E_TR, bindings = <&morph_e_trem>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ê +ZMK_MACRO_ONE_PARAM(I_CI, bindings = <&morph_i_circ>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Î +ZMK_MACRO_ONE_PARAM(I_TR, bindings = <&morph_i_trem>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ê +ZMK_MACRO_ONE_PARAM(O_CI, bindings = <&morph_o_circ>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ô +ZMK_MACRO_ONE_PARAM(O_TR, bindings = <&morph_o_trem>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ê +ZMK_MACRO_ONE_PARAM(U_CI, bindings = <&morph_u_circ>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Û +ZMK_MACRO_ONE_PARAM(U_GR, bindings = <&morph_u_grav>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ù +ZMK_MACRO_ONE_PARAM(U_TR, bindings = <&morph_u_trem>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ê +ZMK_MACRO_ONE_PARAM(AE_L, bindings = <&morph__ae>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Æ +ZMK_MACRO_ONE_PARAM(OE_L, bindings = <&morph__oe>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Œ +ZMK_MACRO_ONE_PARAM(CEDIL, bindings = <&kp RBKT>, <¯o_param_1to1>, <&to MACRO_PLACEHOLDER>;) // Ç // QWERTY Homerow Mods ZMK_MACRO(E_GR_D, bindings = <&kp APOS>, <&to QWE>;) // È