]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/keymap_extras/keymap_canadian_multilingual.h
BÉPO over CSA: GR2A characters in AltGr layer
[qmk_firmware.git] / quantum / keymap_extras / keymap_canadian_multilingual.h
index e30419b5bef7f7664355db14d4d308a686d60665..9b13b1e4e60f730777711abeac33fe9e926bb9dd 100644 (file)
 #define CM_NBSP                 CM_NON_BREAKING_SPACE
 
 // GR2A-ed characters (non-exhaustive list)
-// second row
-#define CM_OE_LIGATURE  GR2A(KC_E)      // œ
-#define CM_OE           CM_OE_LIGATURE
+// First row
+#define CM_SUPERSCRIPT_ONE      GR2A(KC_1)  // ¹
+#define CM_SUP1                 CM_SUPERSCRIPT_ONE
+#define CM_SUPERSCRIPT_TWO      GR2A(KC_2)  // ²
+#define CM_SUP2                 CM_SUPERSCRIPT_TWO
+#define CM_SUPERSCRIPT_THREE    GR2A(KC_3)  // ³
+#define CM_SUP3                 CM_SUPERSCRIPT_THREE
+#define CM_ONE_QUARTER          GR2A(KC_4)  // ¼
+#define CM_1QRT                 CM_ONE_QUARTER
+#define CM_ONE_HALF             GR2A(KC_5)  // ½
+#define CM_1HLF                 CM_ONE_HALF
+#define CM_THREE_QUARTERS       GR2A(KC_6)  // ¾
+#define CM_3QRT                 CM_THREE_QUARTERS
+// nothing on 7-0 and -
+#define CM_DEAD_CEDILLA         GR2A(KC_EQUAL)  // dead ¸
+#define CM_DCED                 CM_DEAD_CEDILLA
+
+// Second row
+#define CM_OMEGA            GR2A(KC_Q)  // ω
+#define CM_OMEG             CM_OMEGA
+#define CM_L_STROKE         GR2A(KC_W)  // ł
+#define CM_LSTK             CM_L_STROKE
+#define CM_OE_LIGATURE      GR2A(KC_E)  // œ
+#define CM_OE               CM_OE_LIGATURE
+#define CM_PARAGRAPH        GR2A(KC_R)  // ¶
+#define CM_PARG             CM_PARAGRAPH
+#define CM_T_STROKE         GR2A(KC_T)  // ŧ
+#define CM_LEFT_ARROW       GR2A(KC_Y)  // ←
+#define CM_LARW             CM_LEFT_ARROW
+#define CM_DOWN_ARROW       GR2A(KC_U)  // ↓
+#define CM_DARW             CM_DOWN_ARROW
+#define CM_RIGHT_ARROW      GR2A(KC_I)  // →
+#define CM_RARW             CM_RIGHT_ARROW
+#define CM_O_STROKE         GR2A(KC_O)  // ø
+#define CM_OSTK             CM_O_STROKE
+#define CM_THORN            GR2A(KC_P)  // þ
+#define CM_THRN             CM_THORN
+// nothing on ^
+#define CM_DEAD_TILDE       GR2A(CM_C_CEDILLA)  // dead ~
+#define CM_DTLD             CM_DEAD_TILDE
 
-// third row
+// Third row
 #define CM_AE_LIGATURE  GR2A(KC_A)      // æ
 #define CM_AE           CM_AE_LIGATURE
+#define CM_SHARP_S      GR2A(KC_S)      // ß
+#define CM_SRPS         CM_SHARP_S
+#define CM_ETH          GR2A(KC_D)      // ð
+// nothing on F
+#define CM_ENG          GR2A(KC_G)      // ŋ
+#define CM_H_SRTOKE     GR2A(KC_H)      // ħ
+#define CM_HSTK         CM_H_SRTOKE
+#define CM_IJ_LIGATURE  GR2A(KC_J)      // ij
+#define CM_IJ           CM_IJ_LIGATURE
+#define CM_KRA          GR2A(KC_K)      // ĸ
+#define CM_L_FLOWN_DOT  GR2A(KC_L)      // ŀ
+#define CM_LFLD         CM_L_FLOWN_DOT
 #define CM_DEAD_ACUTE   GR2A(KC_SCLN)   // dead acute accent
 #define CM_DACT         CM_DEAD_ACUTE
+// nothing on È & À
+
+// Fourth row
+#define CM_CENT                 GR2A(KC_C)  // ¢
+#define CM_LEFT_DOUBLE_QUOTE    GR2A(KC_V)  // “
+#define CM_LDQT                 CM_LEFT_DOUBLE_QUOTE
+#define CM_RIGHT_DOUBLE_QUOTE   GR2A(KC_B)  // ”
+#define CM_RDQT                 CM_RIGHT_DOUBLE_QUOTE
+#define CM_N_APOSTROPHE         GR2A(KC_N)  // ʼn (deprecated unicode codepoint)
+#define CM_NAPO                 CM_N_APOSTROPHE
+#define CM_MU   GR2A(KC_M)      // μ
+// ─ TODO box drawing character?
+#define CM_HYPHENATION_POINT    GR2A(CM_DOT)    // ‧  TODO not an interpunct ?
+
+// GR2A-shifted characters (non-exhaustive list)
+// First row
+#define CM_PLUS_MINUS   LSFT(GR2A(KC_9))    // ±
+#define CM_PSMS         CM_PLUS_MINUS
+
+// Fourth row
+#define CM_LEFT_QUOTE           LSFT(GR2A(KC_V))    // ‘
+#define CM_LQOT                 CM_LEFT_QUOTE
+#define CM_RIGHT_QUOTE          LSFT(GR2A(KC_B))    // ’
+#define CM_RQOT                 CM_RIGHT_QUOTE
 
 #endif