diff options
| author | Ryan <fauxpark@gmail.com> | 2020-05-14 04:34:31 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-13 19:34:31 +0100 |
| commit | 741c7d5eec7deb89a0043852ad711917137a5e61 (patch) | |
| tree | 6c7bba6c7312ea6cc42a3e23ce7993b11c436a49 /quantum/keymap_extras | |
| parent | f3c30e80cc4478ec48d49eba793ccca6ed950852 (diff) | |
| download | qmk_firmware-741c7d5eec7deb89a0043852ad711917137a5e61.tar.gz qmk_firmware-741c7d5eec7deb89a0043852ad711917137a5e61.zip | |
Update Canadian Multilingual keymap and add sendstring LUT (#8786)
Diffstat (limited to 'quantum/keymap_extras')
| -rw-r--r-- | quantum/keymap_extras/keymap_canadian_multilingual.h | 646 | ||||
| -rw-r--r-- | quantum/keymap_extras/sendstring_canadian_multilingual.h | 100 |
2 files changed, 510 insertions, 236 deletions
diff --git a/quantum/keymap_extras/keymap_canadian_multilingual.h b/quantum/keymap_extras/keymap_canadian_multilingual.h index 4fc174e73..d980dc2e4 100644 --- a/quantum/keymap_extras/keymap_canadian_multilingual.h +++ b/quantum/keymap_extras/keymap_canadian_multilingual.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* Copyright 2016 Didier Loiseau | 1 | /* Copyright 2020 |
| 2 | * | 2 | * |
| 3 | * This program is free software: you can redistribute it and/or modify | 3 | * This program is free software: you can redistribute it and/or modify |
| 4 | * it under the terms of the GNU General Public License as published by | 4 | * it under the terms of the GNU General Public License as published by |
| @@ -13,247 +13,421 @@ | |||
| 13 | * You should have received a copy of the GNU General Public License | 13 | * You should have received a copy of the GNU General Public License |
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 15 | */ | 15 | */ |
| 16 | #ifndef KEYMAP_CANADIAN_MULTILINGUAL_H | ||
| 17 | #define KEYMAP_CANADIAN_MULTILINGUAL_H | ||
| 18 | 16 | ||
| 19 | #include "keymap.h" | 17 | #pragma once |
| 20 | |||
| 21 | #ifndef GR2A | ||
| 22 | # define GR2A(kc) RCTL(kc) | ||
| 23 | #endif | ||
| 24 | |||
| 25 | // Normal characters | ||
| 26 | // First row | ||
| 27 | #define CSA_SLASH KC_GRV // / | ||
| 28 | #define CSA_SLSH CSA_SLASH | ||
| 29 | |||
| 30 | // Second row | ||
| 31 | #define CSA_DEAD_CIRCUMFLEX KC_LBRACKET // dead ^ | ||
| 32 | #define CSA_DCRC CSA_DEAD_CIRCUMFLEX | ||
| 33 | #define CSA_C_CEDILLA KC_RBRACKET // Ç | ||
| 34 | #define CSA_CCED CSA_C_CEDILLA | ||
| 35 | |||
| 36 | // Third row | ||
| 37 | #define CSA_E_GRAVE KC_QUOT // è | ||
| 38 | #define CSA_EGRV CSA_E_GRAVE | ||
| 39 | #define CSA_A_GRAVE KC_BSLASH // à | ||
| 40 | #define CSA_AGRV CSA_A_GRAVE | ||
| 41 | |||
| 42 | // Fourth row | ||
| 43 | #define CSA_U_GRAVE KC_NONUS_BSLASH // ù | ||
| 44 | #define CSA_UGRV CSA_U_GRAVE | ||
| 45 | #define CSA_E_ACUTE KC_SLSH // é | ||
| 46 | #define CSA_ECUT CSA_E_ACUTE | ||
| 47 | |||
| 48 | // Shifted characters | ||
| 49 | // First row | ||
| 50 | #define CSA_BACKSLASH LSFT(CSA_SLASH) /* \ */ | ||
| 51 | #define CSA_BSLS CSA_BACKSLASH | ||
| 52 | #define CSA_QUESTION LSFT(KC_6) // ? | ||
| 53 | #define CSA_QEST CSA_QUESTION | ||
| 54 | |||
| 55 | // Second row | ||
| 56 | #define CSA_DEAD_TREMA LSFT(CSA_DEAD_CIRCUMFLEX) // dead trema/umlaut/diaresis for ä ë ï ö ü | ||
| 57 | #define CSA_DTRM CSA_DEAD_TREMA | ||
| 58 | |||
| 59 | // Third row | ||
| 60 | // all same as US-QWERTY, or capitalised character of the non-shifted key | ||
| 61 | |||
| 62 | // Fourth row | ||
| 63 | #define CSA_APOSTROPHE LSFT(KC_COMMA) // ' | ||
| 64 | #define CSA_APOS CSA_APOSTROPHE | ||
| 65 | #define CSA_DOUBLE_QUOTE LSFT(KC_DOT) // " | ||
| 66 | #define CSA_DQOT CSA_DOUBLE_QUOTE | ||
| 67 | |||
| 68 | // Alt Gr-ed characters | ||
| 69 | // First row | ||
| 70 | #define CSA_PIPE ALGR(CSA_SLASH) // | | ||
| 71 | #define CSA_CURRENCY ALGR(KC_4) // ¤ | ||
| 72 | #define CSA_CURR CSA_CURRENCY | ||
| 73 | #define CSA_LEFT_CURLY_BRACE ALGR(KC_7) // { | ||
| 74 | #define CSA_LCBR CSA_LEFT_CURLY_BRACE | ||
| 75 | #define CSA_RIGHT_CURLY_BRACE ALGR(KC_8) // } | ||
| 76 | #define CSA_RCBR CSA_RIGHT_CURLY_BRACE | ||
| 77 | #define CSA_LBRACKET ALGR(KC_9) // [ | ||
| 78 | #define CSA_LBRC CSA_LBRACKET | ||
| 79 | #define CSA_RBRACKET ALGR(KC_0) // ] | ||
| 80 | #define CSA_RBRC CSA_RBRACKET | ||
| 81 | #define CSA_NEGATION ALGR(KC_EQUAL) // ¬ | ||
| 82 | #define CSA_NEGT CSA_NEGATION | ||
| 83 | 18 | ||
| 84 | // Second row | 19 | #include "keymap.h" |
| 85 | // euro symbol not available on Linux? (X.org) | ||
| 86 | #define CSA_EURO ALGR(KC_E) // € | ||
| 87 | #define CSA_DEAD_GRAVE ALGR(CSA_DEAD_CIRCUMFLEX) | ||
| 88 | #define CSA_DGRV CSA_DEAD_GRAVE // dead ` | ||
| 89 | #define CSA_DEAD_TILDE ALGR(CSA_C_CEDILLA) // ~ | ||
| 90 | #define CSA_DTLD CSA_DEAD_TILDE | ||
| 91 | |||
| 92 | // Third row | ||
| 93 | #define CSA_DEGREE ALGR(KC_SCOLON) // ° | ||
| 94 | #define CSA_DEGR CSA_DEGREE | ||
| 95 | |||
| 96 | // Fourth row | ||
| 97 | #define CSA_LEFT_GUILLEMET ALGR(KC_Z) // « | ||
| 98 | #define CSA_LGIL CSA_LEFT_GUILLEMET | ||
| 99 | #define CSA_RIGHT_GUILLEMET ALGR(KC_X) // » | ||
| 100 | #define CSA_RGIL CSA_RIGHT_GUILLEMET | ||
| 101 | #define CSA_LESS ALGR(KC_COMMA) // < | ||
| 102 | #define CSA_GREATER ALGR(KC_DOT) // > | ||
| 103 | #define CSA_GRTR CSA_GREATER | ||
| 104 | |||
| 105 | // Space bar | ||
| 106 | #define CSA_NON_BREAKING_SPACE ALGR(KC_SPACE) | ||
| 107 | #define CSA_NBSP CSA_NON_BREAKING_SPACE | ||
| 108 | |||
| 109 | // GR2A-ed characters | ||
| 110 | // First row | ||
| 111 | #define CSA_SUPERSCRIPT_ONE GR2A(KC_1) // ¹ | ||
| 112 | #define CSA_SUP1 CSA_SUPERSCRIPT_ONE | ||
| 113 | #define CSA_SUPERSCRIPT_TWO GR2A(KC_2) // ² | ||
| 114 | #define CSA_SUP2 CSA_SUPERSCRIPT_TWO | ||
| 115 | #define CSA_SUPERSCRIPT_THREE GR2A(KC_3) // ³ | ||
| 116 | #define CSA_SUP3 CSA_SUPERSCRIPT_THREE | ||
| 117 | #define CSA_ONE_QUARTER GR2A(KC_4) // ¼ | ||
| 118 | #define CSA_1QRT CSA_ONE_QUARTER | ||
| 119 | #define CSA_ONE_HALF GR2A(KC_5) // ½ | ||
| 120 | #define CSA_1HLF CSA_ONE_HALF | ||
| 121 | #define CSA_THREE_QUARTERS GR2A(KC_6) // ¾ | ||
| 122 | #define CSA_3QRT CSA_THREE_QUARTERS | ||
| 123 | // nothing on 7-0 and - | ||
| 124 | #define CSA_DEAD_CEDILLA GR2A(KC_EQUAL) // dead ¸ | ||
| 125 | #define CSA_DCED CSA_DEAD_CEDILLA | ||
| 126 | |||
| 127 | // Second row | ||
| 128 | #define CSA_OMEGA GR2A(KC_Q) // ω | ||
| 129 | #define CSA_OMEG CSA_OMEGA | ||
| 130 | #define CSA_L_STROKE GR2A(KC_W) // ł | ||
| 131 | #define CSA_LSTK CSA_L_STROKE | ||
| 132 | #define CSA_OE_LIGATURE GR2A(KC_E) // œ | ||
| 133 | #define CSA_OE CSA_OE_LIGATURE | ||
| 134 | #define CSA_PARAGRAPH GR2A(KC_R) // ¶ | ||
| 135 | #define CSA_PARG CSA_PARAGRAPH | ||
| 136 | #define CSA_T_STROKE GR2A(KC_T) // ŧ | ||
| 137 | #define CSA_LEFT_ARROW GR2A(KC_Y) // ← | ||
| 138 | #define CSA_LARW CSA_LEFT_ARROW | ||
| 139 | #define CSA_DOWN_ARROW GR2A(KC_U) // ↓ | ||
| 140 | #define CSA_DARW CSA_DOWN_ARROW | ||
| 141 | #define CSA_RIGHT_ARROW GR2A(KC_I) // → | ||
| 142 | #define CSA_RARW CSA_RIGHT_ARROW | ||
| 143 | #define CSA_O_STROKE GR2A(KC_O) // ø | ||
| 144 | #define CSA_OSTK CSA_O_STROKE | ||
| 145 | #define CSA_THORN GR2A(KC_P) // þ | ||
| 146 | #define CSA_THRN CSA_THORN | ||
| 147 | // nothing on ^ | ||
| 148 | #define CSA_TILDE GR2A(CSA_C_CEDILLA) // dead ~ | ||
| 149 | #define CSA_TILD CSA_TILDE | ||
| 150 | 20 | ||
| 151 | // Third row | 21 | // clang-format off |
| 152 | #define CSA_AE_LIGATURE GR2A(KC_A) // æ | ||
| 153 | #define CSA_AE CSA_AE_LIGATURE | ||
| 154 | #define CSA_SHARP_S GR2A(KC_S) // ß | ||
| 155 | #define CSA_SRPS CSA_SHARP_S | ||
| 156 | #define CSA_ETH GR2A(KC_D) // ð | ||
| 157 | // nothing on F | ||
| 158 | #define CSA_ENG GR2A(KC_G) // ŋ | ||
| 159 | #define CSA_H_SRTOKE GR2A(KC_H) // ħ | ||
| 160 | #define CSA_HSTK CSA_H_SRTOKE | ||
| 161 | #define CSA_IJ_LIGATURE GR2A(KC_J) // ij | ||
| 162 | #define CSA_IJ CSA_IJ_LIGATURE | ||
| 163 | #define CSA_KRA GR2A(KC_K) // ĸ | ||
| 164 | #define CSA_L_FLOWN_DOT GR2A(KC_L) // ŀ | ||
| 165 | #define CSA_LFLD CSA_L_FLOWN_DOT | ||
| 166 | #define CSA_DEAD_ACUTE GR2A(KC_SCLN) // dead acute accent | ||
| 167 | #define CSA_DACT CSA_DEAD_ACUTE | ||
| 168 | // nothing on È & À | ||
| 169 | 22 | ||
| 170 | // Fourth row | 23 | /* |
| 171 | #define CSA_CENT GR2A(KC_C) // ¢ | 24 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 172 | #define CSA_LEFT_DOUBLE_QUOTE GR2A(KC_V) // “ | 25 | * │ / │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │ |
| 173 | #define CSA_LDQT CSA_LEFT_DOUBLE_QUOTE | 26 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
| 174 | #define CSA_RIGHT_DOUBLE_QUOTE GR2A(KC_B) // ” | 27 | * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ Ç │ │ |
| 175 | #define CSA_RDQT CSA_RIGHT_DOUBLE_QUOTE | 28 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 176 | #define CSA_N_APOSTROPHE GR2A(KC_N) // ʼn (deprecated unicode codepoint) | 29 | * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ È │ À │ │ |
| 177 | #define CSA_NAPO CSA_N_APOSTROPHE | 30 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ |
| 178 | #define CSA_MU GR2A(KC_M) // μ | 31 | * │ │ Ù │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ É │ │ |
| 179 | #define CSA_HORIZONTAL_BAR GR2A(KC_COMMA) // ― | 32 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ |
| 180 | #define CSA_HZBR CSA_HORIZONTAL_BAR | 33 | * │ │ │ │ │ │ │ │ │ |
| 181 | #define CSA_DEAD_DOT_ABOVE GR2A(KC_DOT) // dead ˙ | 34 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ |
| 182 | #define CSA_DDTA CSA_DEAD_DOT_ABOVE | 35 | */ |
| 36 | // Row 1 | ||
| 37 | #define CA_SLSH KC_GRV // / | ||
| 38 | #define CA_1 KC_1 // 1 | ||
| 39 | #define CA_2 KC_2 // 2 | ||
| 40 | #define CA_3 KC_3 // 3 | ||
| 41 | #define CA_4 KC_4 // 4 | ||
| 42 | #define CA_5 KC_5 // 5 | ||
| 43 | #define CA_6 KC_6 // 6 | ||
| 44 | #define CA_7 KC_7 // 7 | ||
| 45 | #define CA_8 KC_8 // 8 | ||
| 46 | #define CA_9 KC_9 // 9 | ||
| 47 | #define CA_0 KC_0 // 0 | ||
| 48 | #define CA_MINS KC_MINS // - | ||
| 49 | #define CA_EQL KC_EQL // = | ||
| 50 | // Row 2 | ||
| 51 | #define CA_Q KC_Q // Q | ||
| 52 | #define CA_W KC_W // W | ||
| 53 | #define CA_E KC_E // E | ||
| 54 | #define CA_R KC_R // R | ||
| 55 | #define CA_T KC_T // T | ||
| 56 | #define CA_Y KC_Y // Y | ||
| 57 | #define CA_U KC_U // U | ||
| 58 | #define CA_I KC_I // I | ||
| 59 | #define CA_O KC_O // O | ||
| 60 | #define CA_P KC_P // P | ||
| 61 | #define CA_CIRC KC_LBRC // ^ (dead) | ||
| 62 | #define CA_CCED KC_RBRC // Ç | ||
| 63 | // Row 3 | ||
| 64 | #define CA_A KC_A // A | ||
| 65 | #define CA_S KC_S // S | ||
| 66 | #define CA_D KC_D // D | ||
| 67 | #define CA_F KC_F // F | ||
| 68 | #define CA_G KC_G // G | ||
| 69 | #define CA_H KC_H // H | ||
| 70 | #define CA_J KC_J // J | ||
| 71 | #define CA_K KC_K // K | ||
| 72 | #define CA_L KC_L // L | ||
| 73 | #define CA_SCLN KC_SCLN // ; | ||
| 74 | #define CA_EGRV KC_QUOT // É | ||
| 75 | #define CA_AGRV KC_NUHS // À | ||
| 76 | // Row 4 | ||
| 77 | #define CA_UGRV KC_NUBS // Ù | ||
| 78 | #define CA_Z KC_Z // Z | ||
| 79 | #define CA_X KC_X // X | ||
| 80 | #define CA_C KC_C // C | ||
| 81 | #define CA_V KC_V // V | ||
| 82 | #define CA_B KC_B // B | ||
| 83 | #define CA_N KC_N // N | ||
| 84 | #define CA_M KC_M // M | ||
| 85 | #define CA_COMM KC_COMM // , | ||
| 86 | #define CA_DOT KC_DOT // . | ||
| 87 | #define CA_EACU KC_SLSH // É | ||
| 183 | 88 | ||
| 184 | // GR2A-shifted characters (different from capitalised GR2A-ed characters) | 89 | /* Shifted symbols |
| 185 | // First row | 90 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 186 | #define CSA_SOFT_HYPHEN GR2A(LSFT(CSA_SLASH)) // soft-hyphen, appears as a hyphen in wrapped word | 91 | * │ \ │ ! │ @ │ # │ $ │ % │ ? │ & │ * │ ( │ ) │ _ │ + │ │ |
| 187 | #define CSA_SHYP CSA_SOFT_HYPHEN | 92 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
| 188 | #define CSA_INVERTED_EXCLAIM GR2A(KC_EXCLAIM) // ¡ | 93 | * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │ |
| 189 | #define CSA_IXLM CSA_INVERTED_EXCLAIM | 94 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 190 | // nothing on 2 | 95 | * │ │ │ │ │ │ │ │ │ │ │ : │ │ │ │ |
| 191 | #define CSA_POUND GR2A(LSFT(KC_3)) // £ | 96 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ |
| 192 | #define CSA_GBP CSA_POUND_SIGN | 97 | * │ │ │ │ │ │ │ │ │ │ ' │ " │ │ │ |
| 193 | // already on ALGR(KC_E) | 98 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ |
| 194 | #define CSA_EURO_BIS GR2A(LSFT(KC_4)) // € | 99 | * │ │ │ │ │ │ │ │ │ |
| 195 | #define CSA_EURB CSA_EURO_BIS | 100 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ |
| 196 | #define CSA_THREE_EIGHTHS GR2A(LSFT(KC_5)) // ⅜ | 101 | */ |
| 197 | #define CSA_3ON8 CSA_THREE_EIGHTHS | 102 | // Row 1 |
| 198 | #define CSA_FIVE_EIGHTHS GR2A(LSFT(KC_6)) // ⅝ | 103 | #define CA_BSLS S(CA_SLSH) // (backslash) |
| 199 | #define CSA_5ON8 CSA_FIVE_EIGHTHS | 104 | #define CA_EXLM S(CA_1) // ! |
| 200 | #define CSA_SEVEN_EIGHTHS GR2A(LSFT(KC_7)) // ⅞ | 105 | #define CA_AT S(CA_2) // @ |
| 201 | #define CSA_7ON8 CSA_SEVEN_EIGHTHS | 106 | #define CA_HASH S(CA_3) // # |
| 202 | #define CSA_TRADEMARK GR2A(LSFT(KC_8)) // ™ | 107 | #define CA_DLR S(CA_4) // $ |
| 203 | #define CSA_TM CSA_TRADEMARK | 108 | #define CA_PERC S(CA_5) // % |
| 204 | #define CSA_PLUS_MINUS GR2A(LSFT(KC_9)) // ± | 109 | #define CA_QUES S(CA_6) // ? |
| 205 | #define CSA_PSMS CSA_PLUS_MINUS | 110 | #define CA_AMPR S(CA_7) // & |
| 206 | // nothing on 0 | 111 | #define CA_ASTR S(CA_8) // * |
| 207 | #define CSA_INVERTED_QUESTION GR2A(LSFT(KC_MINUS)) // ¿ | 112 | #define CA_LPRN S(CA_9) // ( |
| 208 | #define CSA_IQST CSA_INVERTED_QUESTION | 113 | #define CA_RPRN S(CA_0) // ) |
| 209 | #define CSA_DEAD_OGONEK GR2A(LSFT(KC_EQUAL)) // dead ˛ | 114 | #define CA_UNDS S(CA_MINS) // _ |
| 210 | #define CSA_DOGO CSA_DEAD_OGONEK | 115 | #define CA_PLUS S(CA_EQL) // + |
| 116 | // Row 2 | ||
| 117 | #define CA_DIAE S(CA_CIRC) // ¨ (dead) | ||
| 118 | // Row 3 | ||
| 119 | #define CA_COLN S(CA_SCLN) // : | ||
| 120 | // Row 4 | ||
| 121 | #define CA_QUOT S(CA_COMM) // ' | ||
| 122 | #define CA_DQUO S(CA_DOT) // " | ||
| 211 | 123 | ||
| 212 | // Second row | 124 | /* AltGr symbols |
| 213 | #define CSA_REGISTERED_TRADEMARK GR2A(LSFT(KC_R)) // ® | 125 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 214 | #define CSA_RTM CSA_REGISTERED_TRADEMARK | 126 | * │ | │ │ │ │ ¤ │ │ │ { │ } │ [ │ ] │ │ ¬ │ │ |
| 215 | #define CSA_YEN GR2A(LSFT(KC_Y)) // ¥ | 127 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
| 216 | #define CSA_YUAN CSA_YEN | 128 | * │ │ │ │ € │ │ │ │ │ │ │ │ ` │ ~ │ │ |
| 217 | #define CSA_UP_ARROW LSFT(CSA_DOWN_ARROW) // ↑ | 129 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 218 | #define CSA_DOTLESS_I GR2A(LSFT(KC_I)) // ı | 130 | * │ │ │ │ │ │ │ │ │ │ │ ° │ │ │ │ |
| 219 | #define CSA_DLSI CSA_DOTLESS_I | 131 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ |
| 220 | #define CSA_DEAD_RING GR2A(LSFT(CSA_DCRC)) // dead ° | 132 | * │ │ │ « │ » │ │ │ │ │ │ < │ > │ │ │ |
| 221 | #define CSA_DRNG CSA_DEAD_RING | 133 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ |
| 222 | #define CSA_DEAD_MACRON GR2A(LSFT(CSA_C_CEDILLA)) // dead ¯ | 134 | * │ │ │ │ │ │ │ │ │ |
| 223 | #define CSA_DMCR CSA_DEAD_MACRON | 135 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ |
| 136 | */ | ||
| 137 | // Row 1 | ||
| 138 | #define CA_PIPE ALGR(CA_SLSH) // | | ||
| 139 | #define CA_CURR ALGR(CA_4) // ¤ | ||
| 140 | #define CA_LCBR ALGR(CA_7) // { | ||
| 141 | #define CA_RCBR ALGR(CA_8) // } | ||
| 142 | #define CA_LBRC ALGR(CA_9) // [ | ||
| 143 | #define CA_RBRC ALGR(CA_0) // ] | ||
| 144 | #define CA_NOT ALGR(CA_EQL) // ¬ | ||
| 145 | // Row 2 | ||
| 146 | #define CA_EURO ALGR(CA_E) // € | ||
| 147 | #define CA_GRV ALGR(CA_CIRC) // ` (dead) | ||
| 148 | #define CA_DTIL ALGR(CA_CCED) // ~ (dead) | ||
| 149 | // Row 3 | ||
| 150 | #define CA_DEG ALGR(CA_SCLN) // ° | ||
| 151 | // Row 4 | ||
| 152 | #define CA_LDAQ ALGR(CA_X) // « | ||
| 153 | #define CA_RDAQ ALGR(CA_C) // » | ||
| 154 | #define CA_LABK ALGR(CA_DOT) // < | ||
| 155 | #define CA_RABK ALGR(CA_COMM) // > | ||
| 224 | 156 | ||
| 225 | // Third row | 157 | /* Right Ctrl symbols |
| 226 | #define CSA_SECTION GR2A(LSFT(KC_S)) // § | 158 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 227 | #define CSA_SECT CSA_SECTION | 159 | * │ │ ¹ │ ² │ ³ │ ¼ │ ½ │ ¾ │ │ │ │ │ │ ¸ │ │ |
| 228 | #define CSA_ORDINAL_INDICATOR_A GR2A(LSFT(KC_F)) // ª | 160 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
| 229 | #define CSA_ORDA CSA_ORDINAL_INDICATOR_A | 161 | * │ │ Ω │ Ł │ Œ │ ¶ │ Ŧ │ ← │ ↓ │ → │ Ø │ Þ │ │ ~ │ │ |
| 230 | #define CSA_DEAD_DOUBLE_ACUTE LSFT(CSA_DEAD_ACUTE) // ˝ | 162 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 231 | #define CSA_DDCT CSA_DEAD_DOUBLE_ACUTE | 163 | * │ │ Æ │ ß │ Ð │ │ Ŋ │ Ħ │ IJ │ ĸ │ Ŀ │ ´ │ │ │ │ |
| 232 | #define CSA_DEAD_CARON GR2A(LSFT(CSA_E_GRAVE)) // dead ˇ | 164 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ |
| 233 | #define CSA_DCAR CSA_DEAD_CARON | 165 | * │ │ │ │ │ ¢ │ “ │ ” │ ʼn │ μ │ ― │ ˙ │ │ │ |
| 234 | #define CSA_DEAD_BREVE GR2A(LSFT(CSA_A_GRAVE)) // dead ˘ | 166 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ |
| 235 | #define CSA_DBRV CSA_DEAD_BREVE | 167 | * │ │ │ │ │ │ │ │ │ |
| 168 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
| 169 | */ | ||
| 170 | // Row 1 | ||
| 171 | #define CA_SUP1 RCTL(CA_1) // ¹ | ||
| 172 | #define CA_SUP2 RCTL(CA_2) // ² | ||
| 173 | #define CA_SUP3 RCTL(CA_3) // ³ | ||
| 174 | #define CA_QRTR RCTL(CA_4) // ¼ | ||
| 175 | #define CA_HALF RCTL(CA_5) // ½ | ||
| 176 | #define CA_TQTR RCTL(CA_6) // ¾ | ||
| 177 | #define CA_CEDL RCTL(CA_EQL) // ¸ (dead) | ||
| 178 | // Row 2 | ||
| 179 | #define CA_OMEG RCTL(CA_Q) // Ω | ||
| 180 | #define CA_LSTR RCTL(CA_W) // Ł | ||
| 181 | #define CA_OE RCTL(CA_E) // Œ | ||
| 182 | #define CA_PARA RCTL(CA_R) // ¶ | ||
| 183 | #define CA_TSTR RCTL(CA_T) // Ŧ | ||
| 184 | #define CA_LARR RCTL(CA_Y) // ← | ||
| 185 | #define CA_DARR RCTL(CA_U) // ↓ | ||
| 186 | #define CA_RARR RCTL(CA_I) // → | ||
| 187 | #define CA_OSTR RCTL(CA_O) // Ø | ||
| 188 | #define CA_THRN RCTL(CA_P) // Þ | ||
| 189 | #define CA_TILD RCTL(CA_CCED) // ~ | ||
| 190 | // Row 3 | ||
| 191 | #define CA_AE RCTL(CA_A) // Æ | ||
| 192 | #define CA_SS RCTL(CA_S) // ß | ||
| 193 | #define CA_ETH RCTL(CA_D) // Ð | ||
| 194 | #define CA_ENG RCTL(CA_G) // Ŋ | ||
| 195 | #define CA_HSTR RCTL(CA_H) // Ħ | ||
| 196 | #define CA_IJ RCTL(CA_J) // IJ | ||
| 197 | #define CA_KRA RCTL(CA_K) // ĸ | ||
| 198 | #define CA_LMDT RCTL(CA_L) // Ŀ | ||
| 199 | #define CA_ACUT RCTL(CA_SCLN) // ´ (dead) | ||
| 200 | // Row 4 | ||
| 201 | #define CA_CENT RCTL(CA_C) // ¢ | ||
| 202 | #define CA_LDQU RCTL(CA_V) // “ | ||
| 203 | #define CA_RDQU RCTL(CA_B) // ” | ||
| 204 | #define CA_APSN RCTL(CA_N) // ʼn | ||
| 205 | #define CA_MICR RCTL(CA_M) // μ | ||
| 206 | #define CA_HRZB RCTL(CA_COMM) // ― | ||
| 207 | #define CA_DOTA ALGR(CA_DOT) // ˙ (dead) | ||
| 236 | 208 | ||
| 237 | // Fourth row | 209 | /* Shift+Right Ctrl symbols |
| 238 | #define CSA_BROKEN_PIPE GR2A(LSFT(CSA_U_GRAVE)) // ¦ | 210 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 239 | #define CSA_BPIP CSA_BROKEN_PIPE | 211 | * │ - │ ¡ │ │ £ │ │ ⅜ │ ⅝ │ ⅞ │ ™ │ ± │ │ ¿ │ ˛ │ │ |
| 240 | #define CSA_COPYRIGHT GR2A(LSFT(KC_C)) // © | 212 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
| 241 | #define CSA_CPRT CSA_COPYRIGHT | 213 | * │ │ │ │ │ ® │ │ ¥ │ ↑ │ ı │ │ │ ° │ ¯ │ │ |
| 242 | #define CSA_LEFT_QUOTE GR2A(LSFT(KC_V)) // ‘ | 214 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 243 | #define CSA_LQOT CSA_LEFT_QUOTE | 215 | * │ │ │ § │ │ ª │ │ │ │ │ │ ˝ │ ˇ │ ˘ │ │ |
| 244 | #define CSA_RIGHT_QUOTE GR2A(LSFT(KC_B)) // ’ | 216 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ |
| 245 | #define CSA_RQOT CSA_RIGHT_QUOTE | 217 | * │ │ ¦ │ │ │ © │ ‘ │ ’ │ ♪ │ º │ × │ ÷ │ │ │ |
| 246 | #define CSA_EIGHTH_NOTE GR2A(LSFT(KC_N)) // ♪ | 218 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ |
| 247 | #define CSA_8NOT CSA_EIGHTH_NOTE | 219 | * │ │ │ │ │ │ │ │ │ |
| 248 | #define CSA_ORDINAL_INDICATOR_O GR2A(LSFT(KC_M)) // º | 220 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ |
| 249 | #define CSA_ORDO CSA_ORDINAL_INDICATOR_O | 221 | */ |
| 250 | #define CSA_TIMES GR2A(LSFT(KC_COMMA)) // × | 222 | // Row 1 |
| 251 | #define CSA_TIMS CSA_TIMES | 223 | #define CA_SHYP RCTL(S(CA_SLSH)) // (soft hyphen) |
| 252 | #define CSA_OBELUS GR2A(LSFT(KC_DOT)) // ÷ | 224 | #define CA_IEXL RCTL(S(CA_1)) // ¡ |
| 253 | #define CSA_OBEL CSA_OBELUS | 225 | #define CA_PND RCTL(S(CA_3)) // £ |
| 254 | // more conventional name of the symbol | 226 | #define CA_TEIG RCTL(S(CA_5)) // ⅜ |
| 255 | #define CSA_DIVISION_SIGN CSA_OBELUS | 227 | #define CA_FEIG RCTL(S(CA_6)) // ⅝ |
| 256 | #define CSA_DVSN CSA_DIVISION_SIGN | 228 | #define CA_SEIG RCTL(S(CA_7)) // ⅞ |
| 257 | // TODO GR2A(LSFT(CSA_E_ACUTE)) | 229 | #define CA_TM RCTL(S(CA_8)) // ™ |
| 230 | #define CA_PLMN RCTL(S(CA_9)) // ± | ||
| 231 | #define CA_IQUE RCTL(S(CA_MINS)) // ¿ | ||
| 232 | #define CA_OGON RCTL(S(CA_EQL)) // ˛ (dead) | ||
| 233 | // Row 2 | ||
| 234 | #define CA_REGD RCTL(S(CA_R)) // ® | ||
| 235 | #define CA_YEN RCTL(S(CA_Y)) // ¥ | ||
| 236 | #define CA_UARR RCTL(S(CA_U)) // ↑ | ||
| 237 | #define CA_DLSI RCTL(S(CA_I)) // ı | ||
| 238 | #define CA_RNGA RCTL(S(CA_CIRC)) // ° (dead) | ||
| 239 | #define CA_MACR RCTL(S(CA_CCED)) // ¯ (dead) | ||
| 240 | // Row 3 | ||
| 241 | #define CA_SECT RCTL(S(CA_S)) // § | ||
| 242 | #define CA_FORD RCTL(S(CA_F)) // ª | ||
| 243 | #define CA_DACU RCTL(S(CA_SCLN)) // ˝ (dead) | ||
| 244 | #define CA_CARN RCTL(S(CA_EGRV)) // ˇ (dead) | ||
| 245 | #define CA_BREV RCTL(S(CA_AGRV)) // ˘ (dead) | ||
| 246 | // Row 4 | ||
| 247 | #define CA_BRKP RCTL(S(CA_UGRV)) // ¦ | ||
| 248 | #define CA_COPY RCTL(S(CA_C)) // © | ||
| 249 | #define CA_LSQU RCTL(S(CA_V)) // ‘ | ||
| 250 | #define CA_RSQU RCTL(S(CA_B)) // ’ | ||
| 251 | #define CA_ENOT RCTL(S(CA_N)) // ♪ | ||
| 252 | #define CA_MORD RCTL(S(CA_M)) // º | ||
| 253 | #define CA_MUL RCTL(S(CA_COMM)) // × | ||
| 254 | #define CA_DIV RCTL(S(CA_DOT)) // ÷ | ||
| 258 | 255 | ||
| 259 | #endif | 256 | // DEPRECATED |
| 257 | #define GR2A(kc) RCTL(kc) | ||
| 258 | #define CSA_SLASH CA_SLSH | ||
| 259 | #define CSA_SLSH CA_SLSH | ||
| 260 | #define CSA_DEAD_CIRCUMFLEX CA_CIRC | ||
| 261 | #define CSA_DCRC CA_CIRC | ||
| 262 | #define CSA_C_CEDILLA CA_CCED | ||
| 263 | #define CSA_CCED CA_CCED | ||
| 264 | #define CSA_E_GRAVE CA_EGRV | ||
| 265 | #define CSA_EGRV CA_EGRV | ||
| 266 | #define CSA_A_GRAVE CA_AGRV | ||
| 267 | #define CSA_AGRV CA_AGRV | ||
| 268 | #define CSA_U_GRAVE CA_UGRV | ||
| 269 | #define CSA_UGRV CA_UGRV | ||
| 270 | #define CSA_E_ACUTE CA_EACU | ||
| 271 | #define CSA_ECUT CA_EACU | ||
| 272 | #define CSA_BACKSLASH CA_BSLS | ||
| 273 | #define CSA_BSLS CA_BSLS | ||
| 274 | #define CSA_QUESTION CA_QUES | ||
| 275 | #define CSA_QEST CA_QUES | ||
| 276 | #define CSA_DEAD_TREMA CA_DIAE | ||
| 277 | #define CSA_DTRM CA_DIAE | ||
| 278 | #define CSA_APOSTROPHE CA_QUOT | ||
| 279 | #define CSA_APOS CA_QUOT | ||
| 280 | #define CSA_DOUBLE_QUOTE CA_DQUO | ||
| 281 | #define CSA_DQOT CA_DQUO | ||
| 282 | #define CSA_PIPE CA_PIPE | ||
| 283 | #define CSA_CURRENCY CA_CURR | ||
| 284 | #define CSA_CURR CA_CURR | ||
| 285 | #define CSA_LEFT_CURLY_BRACE CA_LCBR | ||
| 286 | #define CSA_LCBR CA_LCBR | ||
| 287 | #define CSA_RIGHT_CURLY_BRACE CA_RCBR | ||
| 288 | #define CSA_RCBR CA_RCBR | ||
| 289 | #define CSA_LBRACKET CA_LBRC | ||
| 290 | #define CSA_LBRC CA_LBRC | ||
| 291 | #define CSA_RBRACKET CA_RBRC | ||
| 292 | #define CSA_RBRC CA_RBRC | ||
| 293 | #define CSA_NEGATION CA_NOT | ||
| 294 | #define CSA_NEGT CA_NOT | ||
| 295 | #define CSA_EURO CA_EURO | ||
| 296 | #define CSA_DEAD_GRAVE CA_GRV | ||
| 297 | #define CSA_DGRV CA_GRV | ||
| 298 | #define CSA_DEAD_TILDE CA_DTIL | ||
| 299 | #define CSA_DTLD CA_DTIL | ||
| 300 | #define CSA_DEGREE CA_DEG | ||
| 301 | #define CSA_DEGR CA_DEG | ||
| 302 | #define CSA_LEFT_GUILLEMET CA_LDAQ | ||
| 303 | #define CSA_LGIL CA_LDAQ | ||
| 304 | #define CSA_RIGHT_GUILLEMET CA_RDAQ | ||
| 305 | #define CSA_RGIL CA_RDAQ | ||
| 306 | #define CSA_LESS CA_LABK | ||
| 307 | #define CSA_GREATER CA_RABK | ||
| 308 | #define CSA_GRTR CA_RABK | ||
| 309 | #define CSA_NON_BREAKING_SPACE ALGR(KC_SPC) | ||
| 310 | #define CSA_NBSP ALGR(KC_SPC) | ||
| 311 | #define CSA_SUPERSCRIPT_ONE CA_SUP1 | ||
| 312 | #define CSA_SUP1 CA_SUP1 | ||
| 313 | #define CSA_SUPERSCRIPT_TWO CA_SUP2 | ||
| 314 | #define CSA_SUP2 CA_SUP2 | ||
| 315 | #define CSA_SUPERSCRIPT_THREE CA_SUP3 | ||
| 316 | #define CSA_SUP3 CA_SUP3 | ||
| 317 | #define CSA_ONE_QUARTER CA_QRTR | ||
| 318 | #define CSA_1QRT CA_QRTR | ||
| 319 | #define CSA_ONE_HALF CA_HALF | ||
| 320 | #define CSA_1HLF CA_HALF | ||
| 321 | #define CSA_THREE_QUARTERS CA_TQTR | ||
| 322 | #define CSA_3QRT CA_TQTR | ||
| 323 | #define CSA_DEAD_CEDILLA CA_CEDL | ||
| 324 | #define CSA_DCED CA_CEDL | ||
| 325 | #define CSA_OMEGA CA_OMEG | ||
| 326 | #define CSA_OMEG CA_OMEG | ||
| 327 | #define CSA_L_STROKE CA_LSTR | ||
| 328 | #define CSA_LSTK CA_LSTR | ||
| 329 | #define CSA_OE_LIGATURE CA_OE | ||
| 330 | #define CSA_OE CA_OE | ||
| 331 | #define CSA_PARAGRAPH CA_PARA | ||
| 332 | #define CSA_PARG CA_PARA | ||
| 333 | #define CSA_T_STROKE CA_TSTR | ||
| 334 | #define CSA_LEFT_ARROW CA_LARR | ||
| 335 | #define CSA_LARW CA_LARR | ||
| 336 | #define CSA_DOWN_ARROW CA_DARR | ||
| 337 | #define CSA_DARW CA_DARR | ||
| 338 | #define CSA_RIGHT_ARROW CA_RARR | ||
| 339 | #define CSA_RARW CA_RARR | ||
| 340 | #define CSA_O_STROKE CA_OSTR | ||
| 341 | #define CSA_OSTK CA_OSTR | ||
| 342 | #define CSA_THORN CA_THRN | ||
| 343 | #define CSA_THRN CA_THRN | ||
| 344 | #define CSA_TILDE CA_TILD | ||
| 345 | #define CSA_TILD CA_TILD | ||
| 346 | #define CSA_AE_LIGATURE CA_AE | ||
| 347 | #define CSA_AE CA_AE | ||
| 348 | #define CSA_SHARP_S CA_SS | ||
| 349 | #define CSA_SRPS CA_SS | ||
| 350 | #define CSA_ETH CA_ETH | ||
| 351 | #define CSA_ENG CA_ENG | ||
| 352 | #define CSA_H_SRTOKE CA_HSTR | ||
| 353 | #define CSA_HSTK CA_HSTR | ||
| 354 | #define CSA_IJ_LIGATURE CA_IJ | ||
| 355 | #define CSA_IJ CA_IJ | ||
| 356 | #define CSA_KRA CA_KRA | ||
| 357 | #define CSA_L_FLOWN_DOT CA_LMDT | ||
| 358 | #define CSA_LFLD CA_LMDT | ||
| 359 | #define CSA_DEAD_ACUTE CA_ACUT | ||
| 360 | #define CSA_DACT CA_ACUT | ||
| 361 | #define CSA_CENT CA_CENT | ||
| 362 | #define CSA_LEFT_DOUBLE_QUOTE CA_LDQU | ||
| 363 | #define CSA_LDQT CA_LDQU | ||
| 364 | #define CSA_RIGHT_DOUBLE_QUOTE CA_RDQU | ||
| 365 | #define CSA_RDQT CA_RDQU | ||
| 366 | #define CSA_N_APOSTROPHE CA_APSN | ||
| 367 | #define CSA_NAPO CA_APSN | ||
| 368 | #define CSA_MU CA_MICR | ||
| 369 | #define CSA_HORIZONTAL_BAR CA_HRZB | ||
| 370 | #define CSA_HZBR CA_HRZB | ||
| 371 | #define CSA_DEAD_DOT_ABOVE CA_DOTA | ||
| 372 | #define CSA_DDTA CA_DOTA | ||
| 373 | #define CSA_SOFT_HYPHEN CA_SHYP | ||
| 374 | #define CSA_SHYP CA_SHYP | ||
| 375 | #define CSA_INVERTED_EXCLAIM CA_IEXL | ||
| 376 | #define CSA_IXLM CA_IEXL | ||
| 377 | #define CSA_POUND CA_PND | ||
| 378 | #define CSA_GBP CA_PND | ||
| 379 | #define CSA_EURO_BIS CA_EURO | ||
| 380 | #define CSA_EURB CA_EURO | ||
| 381 | #define CSA_THREE_EIGHTHS CA_TEIG | ||
| 382 | #define CSA_3ON8 CA_TEIG | ||
| 383 | #define CSA_FIVE_EIGHTHS CA_FEIG | ||
| 384 | #define CSA_5ON8 CA_FEIG | ||
| 385 | #define CSA_SEVEN_EIGHTHS CA_SEIG | ||
| 386 | #define CSA_7ON8 CA_SEIG | ||
| 387 | #define CSA_TRADEMARK CA_TM | ||
| 388 | #define CSA_TM CA_TM | ||
| 389 | #define CSA_PLUS_MINUS CA_PLMN | ||
| 390 | #define CSA_PSMS CA_PLMN | ||
| 391 | #define CSA_INVERTED_QUESTION CA_IQUE | ||
| 392 | #define CSA_IQST CA_IQUE | ||
| 393 | #define CSA_DEAD_OGONEK CA_OGON | ||
| 394 | #define CSA_DOGO CA_OGON | ||
| 395 | #define CSA_REGISTERED_TRADEMARK CA_REGD | ||
| 396 | #define CSA_RTM CA_REGD | ||
| 397 | #define CSA_YEN CA_YEN | ||
| 398 | #define CSA_YUAN CA_YEN | ||
| 399 | #define CSA_UP_ARROW CA_UARR | ||
| 400 | #define CSA_DOTLESS_I CA_DLSI | ||
| 401 | #define CSA_DLSI CA_DLSI | ||
| 402 | #define CSA_DEAD_RING CA_RNGA | ||
| 403 | #define CSA_DRNG CA_RNGA | ||
| 404 | #define CSA_DEAD_MACRON CA_MACR | ||
| 405 | #define CSA_DMCR CA_MACR | ||
| 406 | #define CSA_SECTION CA_SECT | ||
| 407 | #define CSA_SECT CA_SECT | ||
| 408 | #define CSA_ORDINAL_INDICATOR_A CA_FORD | ||
| 409 | #define CSA_ORDA CA_FORD | ||
| 410 | #define CSA_DEAD_DOUBLE_ACUTE CA_DACU | ||
| 411 | #define CSA_DDCT CA_DACU | ||
| 412 | #define CSA_DEAD_CARON CA_CARN | ||
| 413 | #define CSA_DCAR CA_CARN | ||
| 414 | #define CSA_DEAD_BREVE CA_BREV | ||
| 415 | #define CSA_DBRV CA_BREV | ||
| 416 | #define CSA_BROKEN_PIPE CA_BRKP | ||
| 417 | #define CSA_BPIP CA_BRKP | ||
| 418 | #define CSA_COPYRIGHT CA_COPY | ||
| 419 | #define CSA_CPRT CA_COPY | ||
| 420 | #define CSA_LEFT_QUOTE CA_LSQU | ||
| 421 | #define CSA_LQOT CA_LSQU | ||
| 422 | #define CSA_RIGHT_QUOTE CA_RSQU | ||
| 423 | #define CSA_RQOT CA_RSQU | ||
| 424 | #define CSA_EIGHTH_NOTE CA_ENOT | ||
| 425 | #define CSA_8NOT CA_ENOT | ||
| 426 | #define CSA_ORDINAL_INDICATOR_O CA_MORD | ||
| 427 | #define CSA_ORDO CA_MORD | ||
| 428 | #define CSA_TIMES CA_MUL | ||
| 429 | #define CSA_TIMS CA_MUL | ||
| 430 | #define CSA_OBELUS CA_DIV | ||
| 431 | #define CSA_OBEL CA_DIV | ||
| 432 | #define CSA_DIVISION_SIGN CA_DIV | ||
| 433 | #define CSA_DVSN CA_DIV | ||
diff --git a/quantum/keymap_extras/sendstring_canadian_multilingual.h b/quantum/keymap_extras/sendstring_canadian_multilingual.h new file mode 100644 index 000000000..c3fcc62c3 --- /dev/null +++ b/quantum/keymap_extras/sendstring_canadian_multilingual.h | |||
| @@ -0,0 +1,100 @@ | |||
| 1 | /* Copyright 2020 | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | // Sendstring lookup tables for Canadian Multilingual layouts | ||
| 18 | |||
| 19 | #pragma once | ||
| 20 | |||
| 21 | #include "keymap_canadian_multilingual.h" | ||
| 22 | #include "quantum.h" | ||
| 23 | |||
| 24 | // clang-format off | ||
| 25 | |||
| 26 | const uint8_t ascii_to_shift_lut[16] PROGMEM = { | ||
| 27 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 28 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 29 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 30 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 31 | |||
| 32 | KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1), | ||
| 33 | KCLUT_ENTRY(1, 1, 1, 1, 0, 0, 0, 0), | ||
| 34 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 35 | KCLUT_ENTRY(0, 0, 1, 0, 0, 0, 0, 1), | ||
| 36 | KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), | ||
| 37 | KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), | ||
| 38 | KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), | ||
| 39 | KCLUT_ENTRY(1, 1, 1, 0, 1, 0, 0, 1), | ||
| 40 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 41 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 42 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 43 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) | ||
| 44 | }; | ||
| 45 | |||
| 46 | const uint8_t ascii_to_altgr_lut[16] PROGMEM = { | ||
| 47 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 48 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 49 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 50 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 51 | |||
| 52 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 53 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 54 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 55 | KCLUT_ENTRY(0, 0, 0, 0, 1, 0, 1, 0), | ||
| 56 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 57 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 58 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 59 | KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 0, 0), | ||
| 60 | KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), | ||
| 61 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 62 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 63 | KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) | ||
| 64 | }; | ||
| 65 | |||
| 66 | const uint8_t ascii_to_keycode_lut[128] PROGMEM = { | ||
| 67 | // NUL SOH STX ETX EOT ENQ ACK BEL | ||
| 68 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 69 | // BS TAB LF VT FF CR SO SI | ||
| 70 | KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 71 | // DLE DC1 DC2 DC3 DC4 NAK SYN ETB | ||
| 72 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 73 | // CAN EM SUB ESC FS GS RS US | ||
| 74 | XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 75 | |||
| 76 | // ! " # $ % & ' | ||
| 77 | KC_SPC, CA_1, CA_DOT, CA_3, CA_4, CA_5, CA_7, CA_COMM, | ||
| 78 | // ( ) * + , - . / | ||
| 79 | CA_9, CA_0, CA_8, CA_EQL, CA_COMM, CA_MINS, CA_DOT, CA_SLSH, | ||
| 80 | // 0 1 2 3 4 5 6 7 | ||
| 81 | CA_0, CA_1, CA_2, CA_3, CA_4, CA_5, CA_6, CA_7, | ||
| 82 | // 8 9 : ; < = > ? | ||
| 83 | CA_8, CA_9, CA_SCLN, CA_SCLN, CA_DOT, CA_EQL, CA_COMM, CA_6, | ||
| 84 | // @ A B C D E F G | ||
| 85 | CA_2, CA_A, CA_B, CA_C, CA_D, CA_E, CA_F, CA_G, | ||
| 86 | // H I J K L M N O | ||
| 87 | CA_H, CA_I, CA_J, CA_K, CA_L, CA_M, CA_N, CA_O, | ||
| 88 | // P Q R S T U V W | ||
| 89 | CA_P, CA_Q, CA_R, CA_S, CA_T, CA_U, CA_V, CA_W, | ||
| 90 | // X Y Z [ \ ] ^ _ | ||
| 91 | CA_X, CA_Y, CA_Z, CA_9, CA_SLSH, CA_0, CA_CIRC, CA_MINS, | ||
| 92 | // ` a b c d e f g | ||
| 93 | CA_CIRC, CA_A, CA_B, CA_C, CA_D, CA_E, CA_F, CA_G, | ||
| 94 | // h i j k l m n o | ||
| 95 | CA_H, CA_I, CA_J, CA_K, CA_L, CA_M, CA_N, CA_O, | ||
| 96 | // p q r s t u v w | ||
| 97 | CA_P, CA_Q, CA_R, CA_S, CA_T, CA_U, CA_V, CA_W, | ||
| 98 | // x y z { | } ~ DEL | ||
| 99 | CA_X, CA_Y, CA_Z, CA_7, CA_SLSH, CA_8, CA_CCED, KC_DEL | ||
| 100 | }; | ||
