diff options
Diffstat (limited to 'quantum/keymap_extras')
20 files changed, 2818 insertions, 811 deletions
diff --git a/quantum/keymap_extras/keymap_bepo.h b/quantum/keymap_extras/keymap_bepo.h index 718baaa68..ea04aed3c 100644 --- a/quantum/keymap_extras/keymap_bepo.h +++ b/quantum/keymap_extras/keymap_bepo.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,305 +13,393 @@ | |||
| 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 | /* Keymap macros for the French BÉPO layout - http://bepo.fr */ | ||
| 17 | #ifndef KEYMAP_BEPO_H | ||
| 18 | #define KEYMAP_BEPO_H | ||
| 19 | 16 | ||
| 20 | #include "keymap.h" | 17 | #pragma once |
| 21 | |||
| 22 | // Normal characters | ||
| 23 | // First row (on usual keyboards) | ||
| 24 | #define BP_DOLLAR KC_GRAVE // $ | ||
| 25 | #define BP_DLR BP_DOLLAR | ||
| 26 | #define BP_DOUBLE_QUOTE KC_1 // " | ||
| 27 | #define BP_DQOT BP_DOUBLE_QUOTE | ||
| 28 | #define BP_LEFT_GUILLEMET KC_2 // « | ||
| 29 | #define BP_LGIL BP_LEFT_GUILLEMET | ||
| 30 | #define BP_RIGHT_GUILLEMET KC_3 // » | ||
| 31 | #define BP_RGIL BP_RIGHT_GUILLEMET | ||
| 32 | #define BP_LEFT_PAREN KC_4 // ( | ||
| 33 | #define BP_LPRN BP_LEFT_PAREN | ||
| 34 | #define BP_RIGHT_PAREN KC_5 // ) | ||
| 35 | #define BP_RPRN BP_RIGHT_PAREN | ||
| 36 | #define BP_AT KC_6 // @ | ||
| 37 | #define BP_PLUS KC_7 // + | ||
| 38 | #define BP_MINUS KC_8 // - | ||
| 39 | #define BP_MINS BP_MINUS | ||
| 40 | #define BP_SLASH KC_9 // / | ||
| 41 | #define BP_SLSH BP_SLASH | ||
| 42 | #define BP_ASTERISK KC_0 // * | ||
| 43 | #define BP_ASTR BP_ASTERISK | ||
| 44 | #define BP_EQUAL KC_MINUS // = | ||
| 45 | #define BP_EQL BP_EQUAL | ||
| 46 | #define BP_PERCENT KC_EQUAL // % | ||
| 47 | #define BP_PERC BP_PERCENT | ||
| 48 | |||
| 49 | // Second row | ||
| 50 | #define BP_B KC_Q | ||
| 51 | #define BP_E_ACUTE KC_W // é | ||
| 52 | #define BP_ECUT BP_E_ACUTE | ||
| 53 | #define BP_P KC_E | ||
| 54 | #define BP_O KC_R | ||
| 55 | #define BP_E_GRAVE KC_T // è | ||
| 56 | #define BP_EGRV BP_E_GRAVE | ||
| 57 | #define BP_DEAD_CIRCUMFLEX KC_Y // dead ^ | ||
| 58 | #define BP_DCRC BP_DEAD_CIRCUMFLEX | ||
| 59 | #define BP_V KC_U | ||
| 60 | #define BP_D KC_I | ||
| 61 | #define BP_L KC_O | ||
| 62 | #define BP_J KC_P | ||
| 63 | #define BP_Z KC_LBRACKET | ||
| 64 | #define BP_W KC_RBRACKET | ||
| 65 | |||
| 66 | // Third row | ||
| 67 | #define BP_A KC_A | ||
| 68 | #define BP_U KC_S | ||
| 69 | #define BP_I KC_D | ||
| 70 | #define BP_E KC_F | ||
| 71 | #define BP_COMMA KC_G // , | ||
| 72 | #define BP_COMM BP_COMMA | ||
| 73 | #define BP_C KC_H | ||
| 74 | #define BP_T KC_J | ||
| 75 | #define BP_S KC_K | ||
| 76 | #define BP_R KC_L | ||
| 77 | #define BP_N KC_SCOLON | ||
| 78 | #define BP_M KC_QUOTE | ||
| 79 | #define BP_C_CEDILLA KC_BSLASH // ç | ||
| 80 | #define BP_CCED BP_C_CEDILLA | ||
| 81 | |||
| 82 | // Fourth row | ||
| 83 | #define BP_E_CIRCUMFLEX KC_NONUS_BSLASH // ê | ||
| 84 | #define BP_ECRC BP_E_CIRCUMFLEX | ||
| 85 | #define BP_A_GRAVE KC_Z // à | ||
| 86 | #define BP_AGRV BP_A_GRAVE | ||
| 87 | #define BP_Y KC_X | ||
| 88 | #define BP_X KC_C | ||
| 89 | #define BP_DOT KC_V // . | ||
| 90 | #define BP_K KC_B | ||
| 91 | #define BP_APOSTROPHE KC_N | ||
| 92 | #define BP_APOS BP_APOSTROPHE // ' | ||
| 93 | #define BP_Q KC_M | ||
| 94 | #define BP_G KC_COMMA | ||
| 95 | #define BP_H KC_DOT | ||
| 96 | #define BP_F KC_SLASH | ||
| 97 | |||
| 98 | // Shifted characters | ||
| 99 | // First row | ||
| 100 | #define BP_HASH LSFT(BP_DOLLAR) // # | ||
| 101 | #define BP_1 LSFT(KC_1) | ||
| 102 | #define BP_2 LSFT(KC_2) | ||
| 103 | #define BP_3 LSFT(KC_3) | ||
| 104 | #define BP_4 LSFT(KC_4) | ||
| 105 | #define BP_5 LSFT(KC_5) | ||
| 106 | #define BP_6 LSFT(KC_6) | ||
| 107 | #define BP_7 LSFT(KC_7) | ||
| 108 | #define BP_8 LSFT(KC_8) | ||
| 109 | #define BP_9 LSFT(KC_9) | ||
| 110 | #define BP_0 LSFT(KC_0) | ||
| 111 | #define BP_DEGREE LSFT(BP_EQUAL) // ° | ||
| 112 | #define BP_DEGR BP_DEGREE | ||
| 113 | #define BP_GRAVE LSFT(BP_PERCENT) // ` | ||
| 114 | #define BP_GRV BP_GRAVE | ||
| 115 | |||
| 116 | // Second row | ||
| 117 | #define BP_EXCLAIM LSFT(BP_DEAD_CIRCUMFLEX) // ! | ||
| 118 | #define BP_EXLM BP_EXCLAIM | ||
| 119 | |||
| 120 | // Third row | ||
| 121 | #define BP_SCOLON LSFT(BP_COMMA) // ; | ||
| 122 | #define BP_SCLN BP_SCOLON | ||
| 123 | |||
| 124 | // Fourth row | ||
| 125 | #define BP_COLON LSFT(BP_DOT) // : | ||
| 126 | #define BP_COLN BP_COLON | ||
| 127 | #define BP_QUESTION LSFT(BP_APOS) // ? | ||
| 128 | #define BP_QEST BP_QUESTION | ||
| 129 | |||
| 130 | // Space bar | ||
| 131 | #define BP_NON_BREAKING_SPACE LSFT(KC_SPACE) | ||
| 132 | #define BP_NBSP BP_NON_BREAKING_SPACE | ||
| 133 | 18 | ||
| 134 | // AltGr-ed characters | 19 | #include "keymap.h" |
| 135 | // First row | ||
| 136 | #define BP_EN_DASH ALGR(BP_DOLLAR) // – | ||
| 137 | #define BP_NDSH BP_EN_DASH | ||
| 138 | #define BP_EM_DASH ALGR(KC_1) // — | ||
| 139 | #define BP_MDSH BP_EM_DASH | ||
| 140 | #define BP_LESS ALGR(KC_2) // < | ||
| 141 | #define BP_GREATER ALGR(KC_3) // > | ||
| 142 | #define BP_GRTR BP_GREATER | ||
| 143 | #define BP_LBRACKET ALGR(KC_4) // [ | ||
| 144 | #define BP_LBRC BP_LBRACKET | ||
| 145 | #define BP_RBRACKET ALGR(KC_5) // ] | ||
| 146 | #define BP_RBRC BP_RBRACKET | ||
| 147 | #define BP_CIRCUMFLEX ALGR(KC_6) // ^ | ||
| 148 | #define BP_CIRC BP_CIRCUMFLEX | ||
| 149 | #define BP_PLUS_MINUS ALGR(KC_7) // ± | ||
| 150 | #define BP_PSMS BP_PLUS_MINUS | ||
| 151 | #define BP_MATH_MINUS ALGR(KC_8) // − | ||
| 152 | #define BP_MMNS BP_MATH_MINUS | ||
| 153 | #define BP_OBELUS ALGR(KC_9) // ÷ | ||
| 154 | #define BP_OBEL BP_OBELUS | ||
| 155 | // more conventional name of the symbol | ||
| 156 | #define BP_DIVISION_SIGN BP_OBELUS | ||
| 157 | #define BP_DVSN BP_DIVISION_SIGN | ||
| 158 | #define BP_TIMES ALGR(KC_0) // × | ||
| 159 | #define BP_TIMS BP_TIMES | ||
| 160 | #define BP_DIFFERENT ALGR(BP_EQUAL) // ≠ | ||
| 161 | #define BP_DIFF BP_DIFFERENT | ||
| 162 | #define BP_PERMILLE ALGR(BP_PERCENT) // ‰ | ||
| 163 | #define BP_PMIL BP_PERMILLE | ||
| 164 | |||
| 165 | // Second row | ||
| 166 | #define BP_PIPE ALGR(BP_B) // | | ||
| 167 | #define BP_DEAD_ACUTE ALGR(BP_E_ACUTE) // dead ´ | ||
| 168 | #define BP_DACT BP_DEAD_ACUTE | ||
| 169 | #define BP_AMPERSAND ALGR(BP_P) // & | ||
| 170 | #define BP_AMPR BP_AMPERSAND | ||
| 171 | #define BP_OE_LIGATURE ALGR(BP_O) // œ | ||
| 172 | #define BP_OE BP_OE_LIGATURE | ||
| 173 | #define BP_DEAD_GRAVE ALGR(BP_E_GRAVE) // ` | ||
| 174 | #define BP_DGRV BP_DEAD_GRAVE | ||
| 175 | #define BP_INVERTED_EXCLAIM ALGR(BP_DEAD_CIRCUMFLEX) // ¡ | ||
| 176 | #define BP_IXLM BP_INVERTED_EXCLAIM | ||
| 177 | #define BP_DEAD_CARON ALGR(BP_V) // dead ˇ | ||
| 178 | #define BP_DCAR BP_DEAD_CARON | ||
| 179 | #define BP_ETH ALGR(BP_D) // ð | ||
| 180 | #define BP_DEAD_SLASH ALGR(BP_L) // dead / | ||
| 181 | #define BP_DSLH BP_DEAD_SLASH | ||
| 182 | #define BP_IJ_LIGATURE ALGR(BP_J) // ij | ||
| 183 | #define BP_IJ BP_IJ_LIGATURE | ||
| 184 | #define BP_SCHWA ALGR(BP_Z) // ə | ||
| 185 | #define BP_SCWA BP_SCHWA | ||
| 186 | #define BP_DEAD_BREVE ALGR(BP_W) // dead ˘ | ||
| 187 | #define BP_DBRV BP_DEAD_BREVE | ||
| 188 | |||
| 189 | // Third row | ||
| 190 | #define BP_AE_LIGATURE ALGR(BP_A) // æ | ||
| 191 | #define BP_AE BP_AE_LIGATURE | ||
| 192 | #define BP_U_GRAVE ALGR(BP_U) // ù | ||
| 193 | #define BP_UGRV BP_U_GRAVE | ||
| 194 | #define BP_DEAD_TREMA ALGR(BP_I) // dead ¨ (trema/umlaut/diaresis) | ||
| 195 | #define BP_DTRM BP_DEAD_TREMA | ||
| 196 | #define BP_EURO ALGR(BP_E) // € | ||
| 197 | #define BP_TYPOGRAPHICAL_APOSTROPHE ALGR(BP_COMMA) // ’ | ||
| 198 | #define BP_TAPO BP_TYPOGRAPHICAL_APOSTROPHE | ||
| 199 | #define BP_COPYRIGHT ALGR(BP_C) // © | ||
| 200 | #define BP_CPRT BP_COPYRIGHT | ||
| 201 | #define BP_THORN ALGR(BP_T) // þ | ||
| 202 | #define BP_THRN BP_THORN | ||
| 203 | #define BP_SHARP_S ALGR(BP_S) // ß | ||
| 204 | #define BP_SRPS BP_SHARP_S | ||
| 205 | #define BP_REGISTERED_TRADEMARK ALGR(BP_R) // ® | ||
| 206 | #define BP_RTM BP_REGISTERED_TRADEMARK | ||
| 207 | #define BP_DEAD_TILDE ALGR(BP_N) // dead ~ | ||
| 208 | #define BP_DTLD BP_DEAD_TILDE | ||
| 209 | #define BP_DEAD_MACRON ALGR(BP_M) // dead ¯ | ||
| 210 | #define BP_DMCR BP_DEAD_MACRON | ||
| 211 | #define BP_DEAD_CEDILLA ALGR(BP_C_CEDILLA) // dead ¸ | ||
| 212 | #define BP_DCED BP_DEAD_CEDILLA | ||
| 213 | |||
| 214 | // Fourth row | ||
| 215 | #define BP_NONUS_SLASH ALGR(BP_E_CIRCUMFLEX) // / on non-us backslash key (102nd key, ê in bépo) | ||
| 216 | #define BP_NUSL BP_NONUS_SLASH | ||
| 217 | #define BP_BACKSLASH ALGR(BP_A_GRAVE) /* \ */ | ||
| 218 | #define BP_BSLS BP_BACKSLASH | ||
| 219 | #define BP_LEFT_CURLY_BRACE ALGR(BP_Y) // { | ||
| 220 | #define BP_LCBR BP_LEFT_CURLY_BRACE | ||
| 221 | #define BP_RIGHT_CURLY_BRACE ALGR(BP_X) // } | ||
| 222 | #define BP_RCBR BP_RIGHT_CURLY_BRACE | ||
| 223 | #define BP_ELLIPSIS ALGR(BP_DOT) // … | ||
| 224 | #define BP_ELPS BP_ELLIPSIS | ||
| 225 | #define BP_TILDE ALGR(BP_K) // ~ | ||
| 226 | #define BP_TILD BP_TILDE | ||
| 227 | #define BP_INVERTED_QUESTION ALGR(BP_QUESTION) // ¿ | ||
| 228 | #define BP_IQST BP_INVERTED_QUESTION | ||
| 229 | #define BP_DEAD_RING ALGR(BP_Q) // dead ° | ||
| 230 | #define BP_DRNG BP_DEAD_RING | ||
| 231 | #define BP_DEAD_GREEK ALGR(BP_G) // dead Greek key (following key will make a Greek letter) | ||
| 232 | #define BP_DGRK BP_DEAD_GREEK | ||
| 233 | #define BP_DAGGER ALGR(BP_H) // † | ||
| 234 | #define BP_DAGR BP_DAGGER | ||
| 235 | #define BP_DEAD_OGONEK ALGR(BP_F) // dead ˛ | ||
| 236 | #define BP_DOGO BP_DEAD_OGONEK | ||
| 237 | |||
| 238 | // Space bar | ||
| 239 | #define BP_UNDERSCORE ALGR(KC_SPACE) // _ | ||
| 240 | #define BP_UNDS BP_UNDERSCORE | ||
| 241 | 20 | ||
| 242 | // AltGr-Shifted characters (different from capitalised AltGr-ed characters) | 21 | // clang-format off |
| 243 | // First row | ||
| 244 | #define BP_PARAGRAPH ALGR(BP_HASH) // ¶ | ||
| 245 | #define BP_PARG BP_PARAGRAPH | ||
| 246 | #define BP_LOW_DOUBLE_QUOTE ALGR(BP_1) // „ | ||
| 247 | #define BP_LWQT BP_LOW_DOUBLE_QUOTE | ||
| 248 | #define BP_LEFT_DOUBLE_QUOTE ALGR(BP_2) // “ | ||
| 249 | #define BP_LDQT BP_LEFT_DOUBLE_QUOTE | ||
| 250 | #define BP_RIGHT_DOUBLE_QUOTE ALGR(BP_3) // ” | ||
| 251 | #define BP_RDQT BP_RIGHT_DOUBLE_QUOTE | ||
| 252 | #define BP_LESS_OR_EQUAL ALGR(BP_4) // ≤ | ||
| 253 | #define BP_LEQL BP_LESS_OR_EQUAL | ||
| 254 | #define BP_GREATER_OR_EQUAL ALGR(BP_5) // ≥ | ||
| 255 | #define BP_GEQL BP_GREATER_OR_EQUAL | ||
| 256 | // nothing on ALGR(BP_6) | ||
| 257 | #define BP_NEGATION ALGR(BP_7) // ¬ | ||
| 258 | #define BP_NEGT BP_NEGATION | ||
| 259 | #define BP_ONE_QUARTER ALGR(BP_8) // ¼ | ||
| 260 | #define BP_1QRT BP_ONE_QUARTER | ||
| 261 | #define BP_ONE_HALF ALGR(BP_9) // ½ | ||
| 262 | #define BP_1HLF BP_ONE_HALF | ||
| 263 | #define BP_THREE_QUARTERS ALGR(BP_0) // ¾ | ||
| 264 | #define BP_3QRT BP_THREE_QUARTERS | ||
| 265 | #define BP_MINUTES ALGR(BP_DEGREE) // ′ | ||
| 266 | #define BP_MNUT BP_MINUTES | ||
| 267 | #define BP_SECONDS ALGR(BP_GRAVE) // ″ | ||
| 268 | #define BP_SCND BP_SECONDS | ||
| 269 | 22 | ||
| 270 | // Second row | 23 | /* |
| 271 | #define BP_BROKEN_PIPE LSFT(BP_PIPE) // ¦ | 24 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 272 | #define BP_BPIP BP_BROKEN_PIPE | 25 | * │ $ │ " │ « │ » │ ( │ ) │ @ │ + │ - │ / │ * │ = │ % │ │ |
| 273 | #define BP_DEAD_DOUBLE_ACUTE LSFT(BP_DEAD_ACUTE) // ˝ | 26 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
| 274 | #define BP_DDCT BP_DEAD_DOUBLE_ACUTE | 27 | * │ │ B │ É │ P │ O │ È │ ^ │ V │ D │ L │ J │ Z │ W │ │ |
| 275 | #define BP_SECTION ALGR(LSFT(BP_P)) // § | 28 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 276 | #define BP_SECT BP_SECTION | 29 | * │ │ A │ U │ I │ E │ , │ C │ T │ S │ R │ N │ M │ Ç │ │ |
| 277 | // LSFT(BP_DEAD_GRAVE) is actually the same character as LSFT(BP_PERCENT) | 30 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ |
| 278 | #define BP_GRAVE_BIS LSFT(BP_DEAD_GRAVE) // ` | 31 | * │ │ Ê │ À │ Y │ X │ . │ K │ ' │ Q │ G │ H │ F │ │ |
| 279 | #define BP_GRVB BP_GRAVE_BIS | 32 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ |
| 33 | * │ │ │ │ │ │ │ │ │ | ||
| 34 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
| 35 | */ | ||
| 36 | // Row 1 | ||
| 37 | #define BP_DLR KC_GRV // $ | ||
| 38 | #define BP_DQUO KC_1 // " | ||
| 39 | #define BP_LDAQ KC_2 // « | ||
| 40 | #define BP_RDAQ KC_3 // » | ||
| 41 | #define BP_LPRN KC_4 // ( | ||
| 42 | #define BP_RPRN KC_5 // ) | ||
| 43 | #define BP_AT KC_6 // @ | ||
| 44 | #define BP_PLUS KC_7 // + | ||
| 45 | #define BP_MINS KC_8 // - | ||
| 46 | #define BP_SLSH KC_9 // / | ||
| 47 | #define BP_ASTR KC_0 // * | ||
| 48 | #define BP_EQL KC_MINS // = | ||
| 49 | #define BP_PERC KC_EQL // % | ||
| 50 | // Row 2 | ||
| 51 | #define BP_B KC_Q // B | ||
| 52 | #define BP_EACU KC_W // É | ||
| 53 | #define BP_P KC_E // P | ||
| 54 | #define BP_O KC_R // O | ||
| 55 | #define BP_EGRV KC_T // È | ||
| 56 | #define BP_DCIR KC_Y // ^ (dead) | ||
| 57 | #define BP_V KC_U // V | ||
| 58 | #define BP_D KC_I // D | ||
| 59 | #define BP_L KC_O // L | ||
| 60 | #define BP_J KC_P // J | ||
| 61 | #define BP_Z KC_LBRC // Z | ||
| 62 | #define BP_W KC_RBRC // W | ||
| 63 | // Row 3 | ||
| 64 | #define BP_A KC_A // A | ||
| 65 | #define BP_U KC_S // U | ||
| 66 | #define BP_I KC_D // I | ||
| 67 | #define BP_E KC_F // E | ||
| 68 | #define BP_COMM KC_G // , | ||
| 69 | #define BP_C KC_H // C | ||
| 70 | #define BP_T KC_J // T | ||
| 71 | #define BP_S KC_K // S | ||
| 72 | #define BP_R KC_L // R | ||
| 73 | #define BP_N KC_SCLN // N | ||
| 74 | #define BP_M KC_QUOT // M | ||
| 75 | #define BP_CCED KC_BSLS // Ç | ||
| 76 | // Row 4 | ||
| 77 | #define BP_ECIR KC_NUBS // Ê | ||
| 78 | #define BP_AGRV KC_Z // À | ||
| 79 | #define BP_Y KC_X // Y | ||
| 80 | #define BP_X KC_C // X | ||
| 81 | #define BP_DOT KC_V // . | ||
| 82 | #define BP_K KC_B // K | ||
| 83 | #define BP_QUOT KC_N // ' | ||
| 84 | #define BP_Q KC_M // Q | ||
| 85 | #define BP_G KC_COMM // G | ||
| 86 | #define BP_H KC_DOT // H | ||
| 87 | #define BP_F KC_SLSH // F | ||
| 280 | 88 | ||
| 281 | // Third row | 89 | /* Shifted symbols |
| 282 | #define BP_DEAD_DOT_ABOVE LSFT(BP_DEAD_TREMA) // dead ˙ | 90 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 283 | #define BP_DDTA BP_DEAD_DOT_ABOVE | 91 | * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ ` │ │ |
| 284 | #define BP_DEAD_CURRENCY LSFT(BP_EURO) // dead ¤ (next key will generate a currency code like ¥ or £) | 92 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
| 285 | #define BP_DCUR BP_DEAD_CURRENCY | 93 | * │ │ │ │ │ │ │ ! │ │ │ │ │ │ │ │ |
| 286 | #define BP_DEAD_HORN LSFT(ALGR(BP_COMMA)) // dead ̛ | 94 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 287 | #define BP_DHRN BP_DEAD_HORN | 95 | * │ │ │ │ │ │ ; │ │ │ │ │ │ │ │ │ |
| 288 | #define BP_LONG_S LSFT(ALGR(BP_C)) // ſ | 96 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ |
| 289 | #define BP_LNGS BP_LONG_S | 97 | * │ │ │ │ │ │ : │ │ ? │ │ │ │ │ │ |
| 290 | #define BP_TRADEMARK LSFT(BP_REGISTERED_TRADEMARK) // ™ | 98 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ |
| 291 | #define BP_TM BP_TRADEMARK | 99 | * │ │ │ │ │ │ │ │ │ |
| 292 | #define BP_ORDINAL_INDICATOR_O LSFT(ALGR(BP_M)) // º | 100 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ |
| 293 | #define BP_ORDO BP_ORDINAL_INDICATOR_O | 101 | */ |
| 294 | #define BP_DEAD_COMMA LSFT(BP_DEAD_CEDILLA) // dead ˛ | 102 | // Row 1 |
| 295 | #define BP_DCOM BP_DEAD_COMMA | 103 | #define BP_HASH S(BP_DLR) // # |
| 104 | #define BP_1 S(BP_DQUO) // 1 | ||
| 105 | #define BP_2 S(BP_LDAQ) // 2 | ||
| 106 | #define BP_3 S(BP_RDAQ) // 3 | ||
| 107 | #define BP_4 S(BP_LPRN) // 4 | ||
| 108 | #define BP_5 S(BP_RPRN) // 5 | ||
| 109 | #define BP_6 S(BP_AT) // 6 | ||
| 110 | #define BP_7 S(BP_PLUS) // 7 | ||
| 111 | #define BP_8 S(BP_MINS) // 8 | ||
| 112 | #define BP_9 S(BP_SLSH) // 9 | ||
| 113 | #define BP_0 S(BP_ASTR) // 0 | ||
| 114 | #define BP_DEG S(BP_EQL) // ° | ||
| 115 | #define BP_GRV S(BP_PERC) // ` | ||
| 116 | // Row 2 | ||
| 117 | #define BP_EXLM S(BP_DCIR) // ! | ||
| 118 | // Row 3 | ||
| 119 | #define BP_SCLN S(BP_COMM) // ; | ||
| 120 | // Row 4 | ||
| 121 | #define BP_COLN S(BP_DOT) // : | ||
| 122 | #define BP_QUES S(BP_QUOT) // ? | ||
| 123 | // Row 5 | ||
| 124 | #define BP_NBSP S(KC_SPC) // (non-breaking space) | ||
| 296 | 125 | ||
| 297 | // Fourth row | 126 | /* AltGr symbols |
| 298 | #define BP_LEFT_QUOTE LSFT(ALGR(BP_Y)) // ‘ | 127 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 299 | #define BP_LQOT BP_LEFT_QUOTE | 128 | * │ – │ — │ < │ > │ [ │ ] │ ^ │ ± │ − │ ÷ │ × │ ≠ │ ‰ │ │ |
| 300 | #define BP_RIGHT_QUOTE LSFT(ALGR(BP_X)) // ’ | 129 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
| 301 | #define BP_RQOT BP_RIGHT_QUOTE | 130 | * │ │ | │ ´ │ & │ Œ │ ` │ ¡ │ ˇ │ Ð │ / │ IJ │ Ə │ ˘ │ │ |
| 302 | #define BP_INTERPUNCT LSFT(ALGR(BP_DOT)) // · | 131 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 303 | #define BP_IPCT BP_INTERPUNCT | 132 | * │ │ Æ │ Ù │ ¨ │ € │ │ © │ Þ │ ẞ │ ® │ ~ │ ¯ │ ¸ │ │ |
| 304 | #define BP_DEAD_HOOK_ABOVE LSFT(ALGR(BP_QUESTION)) // dead ̉ | 133 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ |
| 305 | #define BP_DHKA BP_DEAD_HOOK_ABOVE | 134 | * │ │ │ \ │ { │ } │ … │ ~ │ ¿ │ ° │ │ † │ ˛ │ │ |
| 306 | #define BP_DEAD_UNDERDOT LSFT(BP_DEAD_RING) // dead ̣ | 135 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ |
| 307 | #define BP_DUDT BP_DEAD_UNDERDOT | 136 | * │ │ │ │ _ │ │ │ │ │ |
| 308 | #define BP_DOUBLE_DAGGER LSFT(BP_DAGGER) // ‡ | 137 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ |
| 309 | #define BP_DDGR BP_DOUBLE_DAGGER | 138 | */ |
| 310 | #define BP_ORDINAL_INDICATOR_A LSFT(ALGR(BP_F)) // ª | 139 | // Row 1 |
| 311 | #define BP_ORDA BP_ORDINAL_INDICATOR_A | 140 | #define BP_NDSH ALGR(BP_DLR) // – |
| 141 | #define BP_MDSH ALGR(BP_DQUO) // — | ||
| 142 | #define BP_LABK ALGR(BP_LDAQ) // < | ||
| 143 | #define BP_RABK ALGR(BP_RDAQ) // > | ||
| 144 | #define BP_LBRC ALGR(BP_LPRN) // [ | ||
| 145 | #define BP_RBRC ALGR(BP_RPRN) // ] | ||
| 146 | #define BP_CIRC ALGR(BP_AT) // ^ | ||
| 147 | #define BP_PLMN ALGR(BP_PLUS) // ± | ||
| 148 | #define BP_MMNS ALGR(BP_MINS) // − | ||
| 149 | #define BP_DIV ALGR(BP_SLSH) // ÷ | ||
| 150 | #define BP_MUL ALGR(BP_ASTR) // × | ||
| 151 | #define BP_NEQL ALGR(BP_EQL) // ≠ | ||
| 152 | #define BP_PERM ALGR(BP_PERC) // ‰ | ||
| 153 | // Row 2 | ||
| 154 | #define BP_PIPE ALGR(BP_B) // | | ||
| 155 | #define BP_ACUT ALGR(BP_EACU) // ´ (dead) | ||
| 156 | #define BP_AMPR ALGR(BP_P) // & | ||
| 157 | #define BP_OE ALGR(BP_O) // Œ | ||
| 158 | #define BP_DGRV ALGR(BP_EGRV) // ` (dead) | ||
| 159 | #define BP_IEXL ALGR(BP_DCIR) // ¡ | ||
| 160 | #define BP_CARN ALGR(BP_V) // ˇ (dead) | ||
| 161 | #define BP_ETH ALGR(BP_D) // Ð | ||
| 162 | #define BP_DSLS ALGR(BP_L) // / (dead) | ||
| 163 | #define BP_IJ ALGR(BP_J) // IJ | ||
| 164 | #define BP_SCHW ALGR(BP_Z) // Ə | ||
| 165 | #define BP_BREV ALGR(BP_W) // ˘ (dead) | ||
| 166 | // Row 3 | ||
| 167 | #define BP_AE ALGR(BP_A) // Æ | ||
| 168 | #define BP_UGRV ALGR(BP_U) // Ù | ||
| 169 | #define BP_DIAE ALGR(BP_I) // ¨ (dead) | ||
| 170 | #define BP_EURO ALGR(BP_E) // € | ||
| 171 | #define BP_COPY ALGR(BP_C) // © | ||
| 172 | #define BP_THRN ALGR(BP_T) // Þ | ||
| 173 | #define BP_SS ALGR(BP_S) // ẞ | ||
| 174 | #define BP_REGD ALGR(BP_R) // ® | ||
| 175 | #define BP_DTIL ALGR(BP_N) // ~ (dead) | ||
| 176 | #define BP_MACR ALGR(BP_M) // ¯ (dead) | ||
| 177 | #define BP_CEDL ALGR(BP_CCED) // ¸ (dead) | ||
| 178 | // Row 4 | ||
| 179 | #define BP_BSLS ALGR(BP_AGRV) // (backslash) | ||
| 180 | #define BP_LCBR ALGR(BP_Y) // { | ||
| 181 | #define BP_RCBR ALGR(BP_X) // } | ||
| 182 | #define BP_ELLP ALGR(BP_DOT) // … | ||
| 183 | #define BP_TILD ALGR(BP_K) // ~ | ||
| 184 | #define BP_IQUE ALGR(BP_QEST) // ¿ | ||
| 185 | #define BP_RNGA ALGR(BP_Q) // ° (dead) | ||
| 186 | #define BP_DGRK ALGR(BP_G) // µ (dead Greek key) | ||
| 187 | #define BP_DAGG ALGR(BP_H) // † | ||
| 188 | #define BP_OGON ALGR(BP_F) // ˛ (dead) | ||
| 189 | // Row 5 | ||
| 190 | #define BP_UNDS ALGR(KC_SPC) // _ | ||
| 312 | 191 | ||
| 313 | // Space bar | 192 | /* Shift+AltGr symbols |
| 314 | #define BP_NARROW_NON_BREAKING_SPACE ALGR(BP_NON_BREAKING_SPACE) | 193 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 315 | #define BP_NNBS BP_NARROW_NON_BREAKING_SPACE | 194 | * │ ¶ │ „ │ “ │ ” │ ≤ │ ≥ │ │ ¬ │ ¼ │ ½ │ ¾ │ ′ │ ″ │ │ |
| 195 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ | ||
| 196 | * │ │ ¦ │ ˝ │ § │ │ │ │ │ │ │ │ │ │ │ | ||
| 197 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
| 198 | * │ │ │ │ ˙ │ ¤ │ ̛ │ ſ │ │ │ ™ │ │ º │ , │ │ | ||
| 199 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ | ||
| 200 | * │ │ │ │ ‘ │ ’ │ · │ ⌨ │ ̉ │ ̣ │ │ ‡ │ ª │ │ | ||
| 201 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ | ||
| 202 | * │ │ │ │ │ │ │ │ │ | ||
| 203 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
| 204 | */ | ||
| 205 | // Row 1 | ||
| 206 | #define BP_PARA S(ALGR(BP_DLR)) // ¶ | ||
| 207 | #define BP_DLQU S(ALGR(BP_DQUO)) // „ | ||
| 208 | #define BP_LDQU S(ALGR(BP_LDAQ)) // “ | ||
| 209 | #define BP_RDQU S(ALGR(BP_RDAQ)) // ” | ||
| 210 | #define BP_LEQL S(ALGR(BP_LPRN)) // ≤ | ||
| 211 | #define BP_GEQL S(ALGR(BP_RPRN)) // ≥ | ||
| 212 | #define BP_NOT S(ALGR(BP_PLUS)) // ¬ | ||
| 213 | #define BP_QRTR S(ALGR(BP_MINS)) // ¼ | ||
| 214 | #define BP_HALF S(ALGR(BP_SLSH)) // ½ | ||
| 215 | #define BP_TQTR S(ALGR(BP_ASTR)) // ¾ | ||
| 216 | #define BP_PRIM S(ALGR(BP_EQL)) // ′ | ||
| 217 | #define BP_DPRM S(ALGR(BP_PERC)) // ″ | ||
| 218 | // Row 2 | ||
| 219 | #define BP_BRKP S(ALGR(BP_B)) // ¦ | ||
| 220 | #define BP_DACU S(ALGR(BP_EACU)) // ˝ (dead) | ||
| 221 | #define BP_SECT S(ALGR(BP_P)) // § | ||
| 222 | // Row 3 | ||
| 223 | #define BP_DOTA S(ALGR(BP_I)) // ˙ (dead) | ||
| 224 | #define BP_CURR S(ALGR(BP_E)) // ¤ (dead) | ||
| 225 | #define BP_HORN S(ALGR(BP_COMM)) // ̛ (dead) | ||
| 226 | #define BP_LNGS S(ALGR(BP_C)) // ſ | ||
| 227 | #define BP_TM S(ALGR(BP_R)) // ™ | ||
| 228 | #define BP_MORD S(ALGR(BP_M)) // º | ||
| 229 | #define BP_DCMM S(ALGR(BP_CCED)) // , (dead) | ||
| 230 | // Row 4 | ||
| 231 | #define BP_LSQU S(ALGR(BP_Y)) // ‘ | ||
| 232 | #define BP_RSQU S(ALGR(BP_X)) // ’ | ||
| 233 | #define BP_MDDT S(ALGR(BP_DOT)) // · | ||
| 234 | #define BP_KEYB S(ALGR(BP_K)) // ⌨ | ||
| 235 | #define BP_HOKA S(ALGR(BP_QUOT)) // ̉ (dead) | ||
| 236 | #define BP_DOTB S(ALGR(BP_Q)) // ̣ (dead) | ||
| 237 | #define BP_DDAG S(ALGR(BP_H)) // ‡ | ||
| 238 | #define BP_FORD S(ALGR(BP_F)) // ª | ||
| 239 | // Row 5 | ||
| 240 | #define BP_NNBS S(ALGR(BP_)) // (narrow non-breaking space) | ||
| 316 | 241 | ||
| 317 | #endif | 242 | // DEPRECATED |
| 243 | #define BP_DOLLAR BP_DLR | ||
| 244 | #define BP_DOUBLE_QUOTE BP_DQUO | ||
| 245 | #define BP_DQOT BP_DQUO | ||
| 246 | #define BP_LEFT_GUILLEMET BP_LDAQ | ||
| 247 | #define BP_LGIL BP_LDAQ | ||
| 248 | #define BP_RIGHT_GUILLEMET BP_RDAQ | ||
| 249 | #define BP_RGIL BP_RDAQ | ||
| 250 | #define BP_LEFT_PAREN BP_LPRN | ||
| 251 | #define BP_RIGHT_PAREN BP_RPRN | ||
| 252 | #define BP_MINUS BP_MINS | ||
| 253 | #define BP_SLASH BP_SLSH | ||
| 254 | #define BP_ASTERISK BP_ASTR | ||
| 255 | #define BP_EQUAL BP_EQL | ||
| 256 | #define BP_PERCENT BP_PERC | ||
| 257 | #define BP_E_ACUTE BP_EACU | ||
| 258 | #define BP_ECUT BP_EACU | ||
| 259 | #define BP_E_GRAVE BP_EGRV | ||
| 260 | #define BP_DEAD_CIRCUMFLEX BP_DCIR | ||
| 261 | #define BP_DCRC BP_DCIR | ||
| 262 | #define BP_COMMA BP_COMM | ||
| 263 | #define BP_C_CEDILLA BP_CCED | ||
| 264 | #define BP_E_CIRCUMFLEX BP_ECIR | ||
| 265 | #define BP_ECRC BP_ECIR | ||
| 266 | #define BP_A_GRAVE BP_AGRV | ||
| 267 | #define BP_APOSTROPHE BP_QUOT | ||
| 268 | #define BP_APOS BP_QUOT | ||
| 269 | #define BP_DEGREE BP_DEG | ||
| 270 | #define BP_DEGR BP_DEG | ||
| 271 | #define BP_GRAVE BP_GRV | ||
| 272 | #define BP_EXCLAIM BP_EXLM | ||
| 273 | #define BP_SCOLON BP_SCLN | ||
| 274 | #define BP_COLON BP_COLN | ||
| 275 | #define BP_QUESTION BP_QUES | ||
| 276 | #define BP_QEST BP_QUES | ||
| 277 | #define BP_NON_BREAKING_SPACE BP_NBSP | ||
| 278 | #define BP_EN_DASH BP_NDSH | ||
| 279 | #define BP_EM_DASH BP_MDSH | ||
| 280 | #define BP_LESS BP_LABK | ||
| 281 | #define BP_GREATER BP_RABK | ||
| 282 | #define BP_GRTR BP_RABK | ||
| 283 | #define BP_LBRACKET BP_LBRC | ||
| 284 | #define BP_RBRACKET BP_RBRC | ||
| 285 | #define BP_CIRCUMFLEX CIRC | ||
| 286 | #define BP_PLUS_MINUS BP_PLMN | ||
| 287 | #define BP_PSMS BP_PLMN | ||
| 288 | #define BP_MATH_MINUS BP_MMNS | ||
| 289 | #define BP_OBELUS BP_DIV | ||
| 290 | #define BP_OBEL BP_DIV | ||
| 291 | #define BP_DIVISION_SIGN BP_DIV | ||
| 292 | #define BP_DVSN BP_DIV | ||
| 293 | #define BP_TIMES BP_MUL | ||
| 294 | #define BP_TIMS BP_MUL | ||
| 295 | #define BP_DIFFERENT BP_NEQL | ||
| 296 | #define BP_DIFF BP_NEQL | ||
| 297 | #define BP_PERMILLE BP_PERM | ||
| 298 | #define BP_PMIL BP_PERM | ||
| 299 | #define BP_DEAD_ACUTE BP_ACUT | ||
| 300 | #define BP_DACT BP_ACUT | ||
| 301 | #define BP_AMPERSAND BP_AMPR | ||
| 302 | #define BP_OE_LIGATURE BP_OE | ||
| 303 | #define BP_DEAD_GRAVE BP_DGRV | ||
| 304 | #define BP_INVERTED_EXCLAIM BP_IEXL | ||
| 305 | #define BP_IXLM BP_IEXL | ||
| 306 | #define BP_DEAD_CARON BP_CARN | ||
| 307 | #define BP_DCAR BP_CARN | ||
| 308 | #define BP_DEAD_SLASH BP_DSLS | ||
| 309 | #define BP_DSLH BP_DSLS | ||
| 310 | #define BP_IJ_LIGATURE BP_IJ | ||
| 311 | #define BP_SCHWA BP_SCHW | ||
| 312 | #define BP_SCWA BP_SCHW | ||
| 313 | #define BP_DEAD_BREVE BP_BREV | ||
| 314 | #define BP_DBRV BP_BREV | ||
| 315 | #define BP_AE_LIGATURE BP_AE | ||
| 316 | #define BP_U_GRAVE BP_UGRV | ||
| 317 | #define BP_DEAD_TREMA BP_DIAE | ||
| 318 | #define BP_DTRM BP_DIAE | ||
| 319 | #define BP_TYPOGRAPHICAL_APOSTROPHE BP_COMM | ||
| 320 | #define BP_TAPO BP_COMM | ||
| 321 | #define BP_COPYRIGHT BP_COPY | ||
| 322 | #define BP_CPRT BP_COPY | ||
| 323 | #define BP_THORN BP_THRN | ||
| 324 | #define BP_SHARP_S BP_SS | ||
| 325 | #define BP_SRPS BP_SS | ||
| 326 | #define BP_REGISTERED_TRADEMARK BP_REGD | ||
| 327 | #define BP_RTM BP_REGD | ||
| 328 | #define BP_DEAD_TILDE BP_DTIL | ||
| 329 | #define BP_DTLD BP_DTIL | ||
| 330 | #define BP_DEAD_MACRON BP_MACR | ||
| 331 | #define BP_DMCR BP_MACR | ||
| 332 | #define BP_DEAD_CEDILLA BP_CEDL | ||
| 333 | #define BP_DCED BP_CEDL | ||
| 334 | #define BP_NONUS_SLASH BP_SLSH | ||
| 335 | #define BP_NUSL BP_SLSH | ||
| 336 | #define BP_BACKSLASH BP_BSLS | ||
| 337 | #define BP_LEFT_CURLY_BRACE BP_LCBR | ||
| 338 | #define BP_RIGHT_CURLY_BRACE BP_RCBR | ||
| 339 | #define BP_ELLIPSIS BP_ELLP | ||
| 340 | #define BP_ELPS BP_ELLP | ||
| 341 | #define BP_TILDE BP_TILD | ||
| 342 | #define BP_INVERTED_QUESTION BP_IQUE | ||
| 343 | #define BP_IQST BP_IQUE | ||
| 344 | #define BP_DEAD_RING BP_RNGA | ||
| 345 | #define BP_DRNG BP_RNGA | ||
| 346 | #define BP_DEAD_GREEK BP_DGRK | ||
| 347 | #define BP_DAGGER BP_DAGG | ||
| 348 | #define BP_DAGR BP_DAGG | ||
| 349 | #define BP_DEAD_OGONEK BP_OGON | ||
| 350 | #define BP_DOGO BP_OGON | ||
| 351 | #define BP_UNDERSCORE BP_UNDS | ||
| 352 | #define BP_PARAGRAPH BP_PARA | ||
| 353 | #define BP_PARG BP_PARA | ||
| 354 | #define BP_LOW_DOUBLE_QUOTE BP_DLQU | ||
| 355 | #define BP_LWQT BP_DLQU | ||
| 356 | #define BP_LEFT_DOUBLE_QUOTE BP_RDQU | ||
| 357 | #define BP_RIGHT_DOUBLE_QUOTE BP_RDQU | ||
| 358 | #define BP_LESS_OR_EQUAL BP_LEQL | ||
| 359 | #define BP_GREATER_OR_EQUAL BP_GEQL | ||
| 360 | #define BP_NEGATION BP_NOT | ||
| 361 | #define BP_NEGT BP_NOT | ||
| 362 | #define BP_ONE_QUARTER BP_QRTR | ||
| 363 | #define BP_1QRT BP_QRTR | ||
| 364 | #define BP_ONE_HALF BP_HALF | ||
| 365 | #define BP_1HLF BP_HALF | ||
| 366 | #define BP_THREE_QUARTERS TQTR | ||
| 367 | #define BP_3QRT BP_TQTR | ||
| 368 | #define BP_MINUTES BP_PRIM | ||
| 369 | #define BP_MNUT BP_PRIM | ||
| 370 | #define BP_SECONDS BP_DPRM | ||
| 371 | #define BP_SCND BP_DPRM | ||
| 372 | #define BP_BROKEN_PIPE BP_BRKP | ||
| 373 | #define BP_BPIP BP_BRKP | ||
| 374 | #define BP_DEAD_DOUBLE_ACUTE BP_DACU | ||
| 375 | #define BP_DDCT BP_DACU | ||
| 376 | #define BP_SECTION BP_SECT | ||
| 377 | #define BP_GRAVE_BIS BP_GRV | ||
| 378 | #define BP_GRVB BP_GRV | ||
| 379 | #define BP_DEAD_DOT_ABOVE BP_DOTA | ||
| 380 | #define BP_DDTA BP_DOTA | ||
| 381 | #define BP_DEAD_CURRENCY BP_CURR | ||
| 382 | #define BP_DCUR BP_CURR | ||
| 383 | #define BP_DEAD_HORN BP_HORN | ||
| 384 | #define BP_DHRN BP_HORN | ||
| 385 | #define BP_LONG_S BP_LNGS | ||
| 386 | #define BP_TRADEMARK BP_TM | ||
| 387 | #define BP_ORDINAL_INDICATOR_O MORD | ||
| 388 | #define BP_ORDO BP_MORD | ||
| 389 | #define BP_DEAD_COMMA BP_DCMM | ||
| 390 | #define BP_DCOM BP_DCMM | ||
| 391 | #define BP_LEFT_QUOTE BP_LSQU | ||
| 392 | #define BP_LQOT BP_LSQU | ||
| 393 | #define BP_RIGHT_QUOTE BP_RSQU | ||
| 394 | #define BP_RQOT BP_RSQU | ||
| 395 | #define BP_INTERPUNCT BP_MDDT | ||
| 396 | #define BP_IPCT BP_MDDT | ||
| 397 | #define BP_DEAD_HOOK_ABOVE BP_HOKA | ||
| 398 | #define BP_DHKA BP_HOKA | ||
| 399 | #define BP_DEAD_UNDERDOT BP_DOTB | ||
| 400 | #define BP_DUDT BP_DOTB | ||
| 401 | #define BP_DOUBLE_DAGGER BP_DDAG | ||
| 402 | #define BP_DDGR BP_DDAG | ||
| 403 | #define BP_ORDINAL_INDICATOR_A BP_FORD | ||
| 404 | #define BP_ORDA BP_FORD | ||
| 405 | #define BP_NARROW_NON_BREAKING_SPACE BP_NNBS | ||
diff --git a/quantum/keymap_extras/keymap_fr_ch.h b/quantum/keymap_extras/keymap_fr_ch.h index 8da5ae6aa..02ee22a12 100644 --- a/quantum/keymap_extras/keymap_fr_ch.h +++ b/quantum/keymap_extras/keymap_fr_ch.h | |||
| @@ -13,97 +13,226 @@ | |||
| 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_FR_CH | ||
| 17 | #define KEYMAP_FR_CH | ||
| 18 | 16 | ||
| 19 | #include "keymap.h" | 17 | #pragma once |
| 20 | |||
| 21 | // normal characters | ||
| 22 | #define FR_CH_Z KC_Y | ||
| 23 | #define FR_CH_Y KC_Z | ||
| 24 | |||
| 25 | #define FR_CH_A KC_A | ||
| 26 | #define FR_CH_B KC_B | ||
| 27 | #define FR_CH_C KC_C | ||
| 28 | #define FR_CH_D KC_D | ||
| 29 | #define FR_CH_E KC_E | ||
| 30 | #define FR_CH_F KC_F | ||
| 31 | #define FR_CH_G KC_G | ||
| 32 | #define FR_CH_H KC_H | ||
| 33 | #define FR_CH_I KC_I | ||
| 34 | #define FR_CH_J KC_J | ||
| 35 | #define FR_CH_K KC_K | ||
| 36 | #define FR_CH_L KC_L | ||
| 37 | #define FR_CH_M KC_M | ||
| 38 | #define FR_CH_N KC_N | ||
| 39 | #define FR_CH_O KC_O | ||
| 40 | #define FR_CH_P KC_P | ||
| 41 | #define FR_CH_Q KC_Q | ||
| 42 | #define FR_CH_R KC_R | ||
| 43 | #define FR_CH_S KC_S | ||
| 44 | #define FR_CH_T KC_T | ||
| 45 | #define FR_CH_U KC_U | ||
| 46 | #define FR_CH_V KC_V | ||
| 47 | #define FR_CH_W KC_W | ||
| 48 | #define FR_CH_X KC_X | ||
| 49 | |||
| 50 | #define FR_CH_0 KC_0 | ||
| 51 | #define FR_CH_1 KC_1 | ||
| 52 | #define FR_CH_2 KC_2 | ||
| 53 | #define FR_CH_3 KC_3 | ||
| 54 | #define FR_CH_4 KC_4 | ||
| 55 | #define FR_CH_5 KC_5 | ||
| 56 | #define FR_CH_6 KC_6 | ||
| 57 | #define FR_CH_7 KC_7 | ||
| 58 | #define FR_CH_8 KC_8 | ||
| 59 | #define FR_CH_9 KC_9 | ||
| 60 | 18 | ||
| 61 | #define FR_CH_DOT KC_DOT | 19 | #include "keymap.h" |
| 62 | #define FR_CH_COMM KC_COMM | ||
| 63 | 20 | ||
| 64 | #define FR_CH_QUOT KC_MINS | 21 | // clang-format off |
| 65 | #define FR_CH_AE KC_QUOT | ||
| 66 | #define FR_CH_UE KC_LBRC | ||
| 67 | #define FR_CH_OE KC_SCLN | ||
| 68 | 22 | ||
| 69 | #define FR_CH_CIRC KC_EQL // accent circumflex ^ and grave ` and ~ | 23 | /* |
| 70 | #define FR_CH_LESS KC_NUBS // < and > and backslash | 24 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 71 | #define FR_CH_MINS KC_SLSH // - and _ | 25 | * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ^ │ │ |
| 72 | #define FR_CH_DLR KC_BSLS // $, £ and } | 26 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
| 73 | #define FR_CH_PARA KC_GRV // § and ring ° | 27 | * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ è │ ¨ │ │ |
| 74 | #define FR_CH_DIAE KC_RBRC // accent ¨ | 28 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 29 | * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ é │ à │ $ │ │ | ||
| 30 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ | ||
| 31 | * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │ | ||
| 32 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ | ||
| 33 | * │ │ │ │ │ │ │ │ │ | ||
| 34 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
| 35 | */ | ||
| 36 | // Row 1 | ||
| 37 | #define CH_SECT KC_GRV // § | ||
| 38 | #define CH_1 KC_1 // 1 | ||
| 39 | #define CH_2 KC_2 // 2 | ||
| 40 | #define CH_3 KC_3 // 3 | ||
| 41 | #define CH_4 KC_4 // 4 | ||
| 42 | #define CH_5 KC_5 // 5 | ||
| 43 | #define CH_6 KC_6 // 6 | ||
| 44 | #define CH_7 KC_7 // 7 | ||
| 45 | #define CH_8 KC_8 // 8 | ||
| 46 | #define CH_9 KC_9 // 9 | ||
| 47 | #define CH_0 KC_0 // 0 | ||
| 48 | #define CH_QUOT KC_MINS // ' | ||
| 49 | #define CH_CIRC KC_EQL // ^ (dead) | ||
| 50 | // Row 2 | ||
| 51 | #define CH_Q KC_Q // Q | ||
| 52 | #define CH_W KC_W // W | ||
| 53 | #define CH_E KC_E // E | ||
| 54 | #define CH_R KC_R // R | ||
| 55 | #define CH_T KC_T // T | ||
| 56 | #define CH_Z KC_Y // Z | ||
| 57 | #define CH_U KC_U // U | ||
| 58 | #define CH_I KC_I // I | ||
| 59 | #define CH_O KC_O // O | ||
| 60 | #define CH_P KC_P // P | ||
| 61 | #define CH_EGRV KC_LBRC // è | ||
| 62 | #define CH_DIAE KC_RBRC // ¨ (dead) | ||
| 63 | // Row 3 | ||
| 64 | #define CH_A KC_A // A | ||
| 65 | #define CH_S KC_S // S | ||
| 66 | #define CH_D KC_D // D | ||
| 67 | #define CH_F KC_F // F | ||
| 68 | #define CH_G KC_G // G | ||
| 69 | #define CH_H KC_H // H | ||
| 70 | #define CH_J KC_J // J | ||
| 71 | #define CH_K KC_K // K | ||
| 72 | #define CH_L KC_L // L | ||
| 73 | #define CH_EACU KC_SCLN // é | ||
| 74 | #define CH_AGRV KC_QUOT // à | ||
| 75 | #define CH_DLR KC_NUHS // $ | ||
| 76 | // Row 4 | ||
| 77 | #define CH_LABK KC_NUBS // < | ||
| 78 | #define CH_Y KC_Z // Y | ||
| 79 | #define CH_X KC_X // X | ||
| 80 | #define CH_C KC_C // C | ||
| 81 | #define CH_V KC_V // V | ||
| 82 | #define CH_B KC_B // B | ||
| 83 | #define CH_N KC_N // N | ||
| 84 | #define CH_M KC_M // M | ||
| 85 | #define CH_COMM KC_COMM // , | ||
| 86 | #define CH_DOT KC_DOT // . | ||
| 87 | #define CH_MINS KC_SLSH // - | ||
| 75 | 88 | ||
| 76 | // shifted characters | 89 | /* Shifted symbols |
| 77 | #define FR_CH_RING LSFT(KC_GRV) // ° | 90 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 78 | #define FR_CH_EXLM LSFT(KC_RBRC) // ! | 91 | * │ ° │ + │ " │ * │ ç │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │ |
| 79 | #define FR_CH_PLUS LSFT(KC_1) // + | 92 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
| 80 | #define FR_CH_DQOT LSFT(KC_2) // " | 93 | * │ │ │ │ │ │ │ │ │ │ │ │ ü │ ! │ │ |
| 81 | #define FR_CH_ASTR LSFT(KC_3) // * | 94 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 82 | #define FR_CH_PERC LSFT(KC_5) // % | 95 | * │ │ │ │ │ │ │ │ │ │ │ ö │ ä │ £ │ │ |
| 83 | #define FR_CH_AMPR LSFT(KC_6) // & | 96 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ |
| 84 | #define FR_CH_SLSH LSFT(KC_7) // / | 97 | * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │ |
| 85 | #define FR_CH_LPRN LSFT(KC_8) // ( | 98 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ |
| 86 | #define FR_CH_RPRN LSFT(KC_9) // ) | 99 | * │ │ │ │ │ │ │ │ │ |
| 87 | #define FR_CH_EQL LSFT(KC_0) // = | 100 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ |
| 88 | #define FR_CH_QST LSFT(FR_CH_QUOT) // ? | 101 | */ |
| 89 | #define FR_CH_MORE LSFT(FR_CH_LESS) // > | 102 | // Row 1 |
| 90 | #define FR_CH_COLN LSFT(KC_DOT) // : | 103 | #define CH_DEG S(CH_SECT) // ° |
| 91 | #define FR_CH_SCLN LSFT(KC_COMM) // ; | 104 | #define CH_PLUS S(CH_1) // + |
| 92 | #define FR_CH_UNDS LSFT(FR_CH_MINS) // _ | 105 | #define CH_DQUO S(CH_2) // " |
| 93 | #define FR_CH_CCED LSFT(KC_4) // ç | 106 | #define CH_ASTR S(CH_3) // * |
| 94 | #define FR_CH_GRV LSFT(FR_CH_CIRC) // accent grave ` | 107 | #define CH_CCED S(CH_4) // ç |
| 108 | #define CH_PERC S(CH_5) // % | ||
| 109 | #define CH_AMPR S(CH_6) // & | ||
| 110 | #define CH_SLSH S(CH_7) // / | ||
| 111 | #define CH_LPRN S(CH_8) // ( | ||
| 112 | #define CH_RPRN S(CH_9) // ) | ||
| 113 | #define CH_EQL S(CH_0) // = | ||
| 114 | #define CH_QUES S(CH_QUOT) // ? | ||
| 115 | #define CH_GRV S(CH_CIRC) // ` (dead) | ||
| 116 | // Row 2 | ||
| 117 | #define CH_UDIA S(CH_EGRV) // ü | ||
| 118 | #define CH_EXLM S(CH_DIAE) // ! | ||
| 119 | // Row 3 | ||
| 120 | #define CH_ODIA S(CH_EACU) // ö | ||
| 121 | #define CH_ADIA S(CH_AGRV) // ä | ||
| 122 | #define CH_PND S(CH_DLR) // £ | ||
| 123 | // Row 4 | ||
| 124 | #define CH_RABK S(CH_LABK) // > | ||
| 125 | #define CH_SCLN S(CH_COMM) // ; | ||
| 126 | #define CH_COLN S(CH_DOT) // : | ||
| 127 | #define CH_UNDS S(CH_MINS) // _ | ||
| 95 | 128 | ||
| 96 | // Alt Gr-ed characters | 129 | /* AltGr symbols |
| 97 | #define FR_CH_LCBR ALGR(KC_QUOT) // { | 130 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 98 | #define FR_CH_LBRC ALGR(KC_LBRC) // [ | 131 | * │ │ ¦ │ @ │ # │ │ │ ¬ │ | │ ¢ │ │ │ ´ │ ~ │ │ |
| 99 | #define FR_CH_RBRC ALGR(KC_9) // ] | 132 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
| 100 | #define FR_CH_RCBR ALGR(KC_0) // } | 133 | * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │ |
| 101 | #define FR_CH_BSLS ALGR(FR_CH_LESS) // backslash | 134 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 102 | #define FR_CH_AT ALGR(KC_2) // @ | 135 | * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │ |
| 103 | #define FR_CH_EURO ALGR(KC_E) // € | 136 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ |
| 104 | #define FR_CH_TILD ALGR(FR_CH_CIRC) // ~ | 137 | * │ │ \ │ │ │ │ │ │ │ │ │ │ │ │ |
| 105 | #define FR_CH_PIPE ALGR(KC_1) // | | 138 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ |
| 106 | #define FR_CH_HASH ALGR(KC_3) // # | 139 | * │ │ │ │ │ │ │ │ │ |
| 107 | #define FR_CH_ACUT ALGR(FR_CH_QUOT) // accent acute ´ | 140 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ |
| 141 | */ | ||
| 142 | // Row 1 | ||
| 143 | #define CH_BRKP ALGR(CH_1) // ¦ | ||
| 144 | #define CH_AT ALGR(CH_2) // @ | ||
| 145 | #define CH_HASH ALGR(CH_3) // # | ||
| 146 | #define CH_NOT ALGR(CH_6) // ¬ | ||
| 147 | #define CH_PIPE ALGR(CH_7) // | | ||
| 148 | #define CH_CENT ALGR(CH_8) // ¢ | ||
| 149 | #define CH_ACUT ALGR(CH_QUOT) // ´ (dead) | ||
| 150 | #define CH_TILD ALGR(CH_CIRC) // ~ (dead) | ||
| 151 | // Row 2 | ||
| 152 | #define CH_EURO ALGR(CH_E) // € | ||
| 153 | #define CH_LBRC ALGR(CH_EGRV) // [ | ||
| 154 | #define CH_RBRC ALGR(CH_DIAE) // ] | ||
| 155 | // Row 3 | ||
| 156 | #define CH_LCBR ALGR(CH_AGRV) // { | ||
| 157 | #define CH_RCBR ALGR(CH_DLR) // } | ||
| 158 | // Row 4 | ||
| 159 | #define CH_BSLS ALGR(CH_LABK) // (backslash) | ||
| 108 | 160 | ||
| 109 | #endif | 161 | // DEPRECATED |
| 162 | #define FR_CH_Z CH_Z | ||
| 163 | #define FR_CH_Y CH_Y | ||
| 164 | #define FR_CH_A CH_A | ||
| 165 | #define FR_CH_B CH_B | ||
| 166 | #define FR_CH_C CH_C | ||
| 167 | #define FR_CH_D CH_D | ||
| 168 | #define FR_CH_E CH_E | ||
| 169 | #define FR_CH_F CH_F | ||
| 170 | #define FR_CH_G CH_G | ||
| 171 | #define FR_CH_H CH_H | ||
| 172 | #define FR_CH_I CH_I | ||
| 173 | #define FR_CH_J CH_J | ||
| 174 | #define FR_CH_K CH_K | ||
| 175 | #define FR_CH_L CH_L | ||
| 176 | #define FR_CH_M CH_M | ||
| 177 | #define FR_CH_N CH_N | ||
| 178 | #define FR_CH_O CH_O | ||
| 179 | #define FR_CH_P CH_P | ||
| 180 | #define FR_CH_Q CH_Q | ||
| 181 | #define FR_CH_R CH_R | ||
| 182 | #define FR_CH_S CH_S | ||
| 183 | #define FR_CH_T CH_T | ||
| 184 | #define FR_CH_U CH_U | ||
| 185 | #define FR_CH_V CH_V | ||
| 186 | #define FR_CH_W CH_W | ||
| 187 | #define FR_CH_X CH_X | ||
| 188 | #define FR_CH_0 CH_0 | ||
| 189 | #define FR_CH_1 CH_1 | ||
| 190 | #define FR_CH_2 CH_2 | ||
| 191 | #define FR_CH_3 CH_3 | ||
| 192 | #define FR_CH_4 CH_4 | ||
| 193 | #define FR_CH_5 CH_5 | ||
| 194 | #define FR_CH_6 CH_6 | ||
| 195 | #define FR_CH_7 CH_7 | ||
| 196 | #define FR_CH_8 CH_8 | ||
| 197 | #define FR_CH_9 CH_9 | ||
| 198 | #define FR_CH_DOT CH_DOT | ||
| 199 | #define FR_CH_COMM CH_COMM | ||
| 200 | #define FR_CH_QUOT CH_QUOT | ||
| 201 | #define FR_CH_AE CH_AGRV | ||
| 202 | #define FR_CH_UE CH_EGRV | ||
| 203 | #define FR_CH_OE CH_EACU | ||
| 204 | #define FR_CH_CIRC CH_CIRC | ||
| 205 | #define FR_CH_LESS CH_LABK | ||
| 206 | #define FR_CH_MINS CH_MINS | ||
| 207 | #define FR_CH_DLR CH_DLR | ||
| 208 | #define FR_CH_PARA CH_SECT | ||
| 209 | #define FR_CH_DIAE CH_DIAE | ||
| 210 | #define FR_CH_RING CH_DEG | ||
| 211 | #define FR_CH_EXLM CH_EXLM | ||
| 212 | #define FR_CH_PLUS CH_PLUS | ||
| 213 | #define FR_CH_DQOT CH_DQUO | ||
| 214 | #define FR_CH_ASTR CH_ASTR | ||
| 215 | #define FR_CH_PERC CH_PERC | ||
| 216 | #define FR_CH_AMPR CH_AMPR | ||
| 217 | #define FR_CH_SLSH CH_SLSH | ||
| 218 | #define FR_CH_LPRN CH_LPRN | ||
| 219 | #define FR_CH_RPRN CH_RPRN | ||
| 220 | #define FR_CH_EQL CH_EQL | ||
| 221 | #define FR_CH_QST CH_QUES | ||
| 222 | #define FR_CH_MORE CH_RABK | ||
| 223 | #define FR_CH_COLN CH_COLN | ||
| 224 | #define FR_CH_SCLN CH_SCLN | ||
| 225 | #define FR_CH_UNDS CH_UNDS | ||
| 226 | #define FR_CH_CCED CH_CCED | ||
| 227 | #define FR_CH_GRV CH_GRV | ||
| 228 | #define FR_CH_LCBR CH_LCBR | ||
| 229 | #define FR_CH_LBRC CH_LBRC | ||
| 230 | #define FR_CH_RBRC CH_RBRC | ||
| 231 | #define FR_CH_RCBR CH_RCBR | ||
| 232 | #define FR_CH_BSLS CH_BSLS | ||
| 233 | #define FR_CH_AT CH_AT | ||
| 234 | #define FR_CH_EURO CH_EURO | ||
| 235 | #define FR_CH_TILD CH_TILD | ||
| 236 | #define FR_CH_PIPE CH_PIPE | ||
| 237 | #define FR_CH_HASH CH_HASH | ||
| 238 | #define FR_CH_ACUT CH_ACUT | ||
diff --git a/quantum/keymap_extras/keymap_french_osx.h b/quantum/keymap_extras/keymap_french_osx.h index 3a231874a..d0132a2d8 100644 --- a/quantum/keymap_extras/keymap_french_osx.h +++ b/quantum/keymap_extras/keymap_french_osx.h | |||
| @@ -13,80 +13,248 @@ | |||
| 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_FRENCH_OSX_H | ||
| 17 | #define KEYMAP_FRENCH_OSX_H | ||
| 18 | 16 | ||
| 19 | #include "keymap.h" | 17 | #pragma once |
| 20 | |||
| 21 | // Normal characters | ||
| 22 | #define FR_AT KC_GRV | ||
| 23 | #define FR_AMP KC_1 | ||
| 24 | #define FR_EACU KC_2 | ||
| 25 | #define FR_QUOT KC_3 | ||
| 26 | #define FR_APOS KC_4 | ||
| 27 | #define FR_LPRN KC_5 | ||
| 28 | #define FR_SECT KC_6 | ||
| 29 | #define FR_EGRV KC_7 | ||
| 30 | #define FR_EXLM KC_8 | ||
| 31 | #define FR_CCED KC_9 | ||
| 32 | #define FR_AGRV KC_0 | ||
| 33 | #define FR_RPRN KC_MINS | ||
| 34 | #define FR_MINS KC_EQL | ||
| 35 | |||
| 36 | #define FR_A KC_Q | ||
| 37 | #define FR_Z KC_W | ||
| 38 | #define FR_CIRC KC_LBRC | ||
| 39 | #define FR_DLR KC_RBRC | ||
| 40 | |||
| 41 | #define FR_Q KC_A | ||
| 42 | #define FR_M KC_SCLN | ||
| 43 | #define FR_UGRV KC_QUOT | ||
| 44 | #define FR_GRV KC_NUHS | ||
| 45 | |||
| 46 | #define FR_LESS KC_NUBS | ||
| 47 | #define FR_W KC_Z | ||
| 48 | #define FR_COMM KC_M | ||
| 49 | #define FR_SCLN KC_COMM | ||
| 50 | #define FR_COLN KC_DOT | ||
| 51 | #define FR_EQL KC_SLSH | ||
| 52 | 18 | ||
| 53 | // Shifted characters | 19 | #include "keymap.h" |
| 54 | #define FR_HASH LSFT(KC_GRV) | ||
| 55 | #define FR_1 LSFT(KC_1) | ||
| 56 | #define FR_2 LSFT(KC_2) | ||
| 57 | #define FR_3 LSFT(KC_3) | ||
| 58 | #define FR_4 LSFT(KC_4) | ||
| 59 | #define FR_5 LSFT(KC_5) | ||
| 60 | #define FR_6 LSFT(KC_6) | ||
| 61 | #define FR_7 LSFT(KC_7) | ||
| 62 | #define FR_8 LSFT(KC_8) | ||
| 63 | #define FR_9 LSFT(KC_9) | ||
| 64 | #define FR_0 LSFT(KC_0) | ||
| 65 | #define FR_UNDS LSFT(FR_MINS) | ||
| 66 | 20 | ||
| 67 | #define FR_UMLT LSFT(FR_CIRC) | 21 | // clang-format off |
| 68 | #define FR_ASTR LSFT(FR_DLR) | ||
| 69 | 22 | ||
| 70 | #define FR_PERC LSFT(FR_UGRV) | 23 | /* |
| 71 | #define FR_PND LSFT(FR_GRV) | 24 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 25 | * │ @ │ & │ é │ " │ ' │ ( │ § │ è │ ! │ ç │ à │ ) │ - │ │ | ||
| 26 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ | ||
| 27 | * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │ | ||
| 28 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
| 29 | * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ ` │ │ | ||
| 30 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
| 31 | * │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ = │ │ | ||
| 32 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
| 33 | * │ │ │ │ │ │ │ │ | ||
| 34 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
| 35 | */ | ||
| 36 | // Row 1 | ||
| 37 | #define FR_AT KC_GRV // @ | ||
| 38 | #define FR_AMPR KC_1 // & | ||
| 39 | #define FR_LEAC KC_2 // é | ||
| 40 | #define FR_DQUO KC_3 // " | ||
| 41 | #define FR_QUOT KC_4 // ' | ||
| 42 | #define FR_LPRN KC_5 // ( | ||
| 43 | #define FR_SECT KC_6 // § | ||
| 44 | #define FR_LEGR KC_7 // è | ||
| 45 | #define FR_EXLM KC_8 // ! | ||
| 46 | #define FR_LCCE KC_9 // ç | ||
| 47 | #define FR_LAGR KC_0 // à | ||
| 48 | #define FR_RPRN KC_MINS // ) | ||
| 49 | #define FR_MINS KC_EQL // - | ||
| 50 | // Row 2 | ||
| 51 | #define FR_A KC_Q // A | ||
| 52 | #define FR_Z KC_W // Z | ||
| 53 | #define FR_E KC_E // E | ||
| 54 | #define FR_R KC_R // R | ||
| 55 | #define FR_T KC_T // T | ||
| 56 | #define FR_Y KC_Y // Y | ||
| 57 | #define FR_U KC_U // U | ||
| 58 | #define FR_I KC_I // I | ||
| 59 | #define FR_O KC_O // O | ||
| 60 | #define FR_P KC_P // P | ||
| 61 | #define FR_CIRC KC_LBRC // ^ | ||
| 62 | #define FR_DLR KC_RBRC // $ | ||
| 63 | // Row 3 | ||
| 64 | #define FR_Q KC_A // Q | ||
| 65 | #define FR_S KC_S // S | ||
| 66 | #define FR_D KC_D // D | ||
| 67 | #define FR_F KC_F // F | ||
| 68 | #define FR_G KC_G // G | ||
| 69 | #define FR_H KC_H // H | ||
| 70 | #define FR_J KC_J // J | ||
| 71 | #define FR_K KC_K // K | ||
| 72 | #define FR_L KC_L // L | ||
| 73 | #define FR_M KC_SCLN // M | ||
| 74 | #define FR_LUGR KC_QUOT // ù | ||
| 75 | #define FR_GRV KC_NUHS // ` | ||
| 76 | // Row 4 | ||
| 77 | #define FR_LABK KC_NUBS // < | ||
| 78 | #define FR_W KC_Z // W | ||
| 79 | #define FR_X KC_X // X | ||
| 80 | #define FR_C KC_C // C | ||
| 81 | #define FR_V KC_V // V | ||
| 82 | #define FR_B KC_B // B | ||
| 83 | #define FR_N KC_N // N | ||
| 84 | #define FR_COMM KC_M // , | ||
| 85 | #define FR_SCLN KC_COMM // ; | ||
| 86 | #define FR_COLN KC_DOT // : | ||
| 87 | #define FR_EQL KC_SLSH // = | ||
| 72 | 88 | ||
| 73 | #define FR_GRTR LSFT(FR_LESS) | 89 | /* Shifted symbols |
| 74 | #define FR_QUES LSFT(FR_COMM) | 90 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 75 | #define FR_DOT LSFT(FR_SCLN) | 91 | * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ _ │ │ |
| 76 | #define FR_SLSH LSFT(FR_COLN) | 92 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
| 77 | #define FR_PLUS LSFT(FR_EQL) | 93 | * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ * │ │ |
| 94 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
| 95 | * │ │ │ │ │ │ │ │ │ │ │ │ % │ £ │ │ | ||
| 96 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
| 97 | * │ │ > │ │ │ │ │ │ │ ? │ . │ / │ + │ │ | ||
| 98 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
| 99 | * │ │ │ │ │ │ │ │ | ||
| 100 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
| 101 | */ | ||
| 102 | // Row 1 | ||
| 103 | #define FR_HASH S(FR_AT) // # | ||
| 104 | #define FR_1 S(FR_AMPR) // 1 | ||
| 105 | #define FR_2 S(FR_LEAC) // 2 | ||
| 106 | #define FR_3 S(FR_DQUO) // 3 | ||
| 107 | #define FR_4 S(FR_QUOT) // 4 | ||
| 108 | #define FR_5 S(FR_LPRN) // 5 | ||
| 109 | #define FR_6 S(FR_SECT) // 6 | ||
| 110 | #define FR_7 S(FR_LEGR) // 7 | ||
| 111 | #define FR_8 S(FR_EXLM) // 8 | ||
| 112 | #define FR_9 S(FR_LCCE) // 9 | ||
| 113 | #define FR_0 S(FR_LAGR) // 0 | ||
| 114 | #define FR_DEG S(FR_RPRN) // ° | ||
| 115 | #define FR_UNDS S(FR_MINS) // _ | ||
| 116 | // Row 2 | ||
| 117 | #define FR_DIAE S(FR_CIRC) // ¨ (dead) | ||
| 118 | #define FR_ASTR S(FR_DLR) // * | ||
| 119 | // Row 3 | ||
| 120 | #define FR_PERC S(FR_LUGR) // % | ||
| 121 | #define FR_PND S(FR_GRV) // £ | ||
| 122 | // Row 4 | ||
| 123 | #define FR_RABK S(FR_LABK) // > | ||
| 124 | #define FR_QUES S(FR_COMM) // ? | ||
| 125 | #define FR_DOT S(FR_SCLN) // . | ||
| 126 | #define FR_SLSH S(FR_COLN) // / | ||
| 127 | #define FR_PLUS S(FR_EQL) // + | ||
| 78 | 128 | ||
| 79 | // Alted characters | 129 | /* Alted symbols |
| 80 | #define FR_LCBR LALT(KC_5) | 130 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 81 | #define FR_RCBR LALT(FR_RPRN) | 131 | * │ • │ │ ë │ “ │ ‘ │ { │ ¶ │ « │ ¡ │ Ç │ Ø │ } │ — │ │ |
| 82 | #define FR_EURO LALT(KC_E) | 132 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
| 83 | #define FR_BULT LALT(FR_DLR) | 133 | * │ │ Æ │  │ Ê │ ® │ † │ Ú │ º │ î │ Œ │ π │ Ô │ € │ │ |
| 84 | #define FR_TILD LALT(KC_N) | 134 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 135 | * │ │ ‡ │ Ò │ ∂ │ ƒ │ fi │ Ì │ Ï │ È │ ¬ │ µ │ Ù │ │ │ | ||
| 136 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
| 137 | * │ │ ≤ │ ‹ │ ≈ │ © │ ◊ │ ß │ ~ │ ∞ │ … │ ÷ │ ≠ │ │ | ||
| 138 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
| 139 | * │ │ │ │ │ │ │ │ | ||
| 140 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
| 141 | */ | ||
| 142 | // Row 1 | ||
| 143 | #define FR_BULT A(FR_AT) // • | ||
| 144 | #define FR_APPL A(FR_AMPR) // (Apple logo) | ||
| 145 | #define FR_LEDI A(FR_LEAC) // ë | ||
| 146 | #define FR_LDQU A(FR_DQUO) // “ | ||
| 147 | #define FR_LSQU A(FR_QUOT) // ‘ | ||
| 148 | #define FR_LCBR A(FR_LPRN) // { | ||
| 149 | #define FR_PILC A(FR_SECT) // ¶ | ||
| 150 | #define FR_LDAQ A(FR_LEGR) // « | ||
| 151 | #define FR_IEXL A(FR_EXLM) // ¡ | ||
| 152 | #define FR_CCCE A(FR_LCCE) // Ç | ||
| 153 | #define FR_OSTR A(FR_LAGR) // Ø | ||
| 154 | #define FR_RCBR A(FR_RPRN) // } | ||
| 155 | #define FR_MDSH A(FR_MINS) // — | ||
| 156 | // Row 2 | ||
| 157 | #define FR_AE A(FR_A) // Æ | ||
| 158 | #define FR_CACI A(FR_Z) // Â | ||
| 159 | #define FR_ECIR A(FR_E) // Ê | ||
| 160 | #define FR_REGD A(FR_R) // ® | ||
| 161 | #define FR_DAGG A(FR_T) // † | ||
| 162 | #define FR_CUAC A(FR_Y) // Ú | ||
| 163 | #define FR_MORD A(FR_U) // º | ||
| 164 | #define FR_LICI A(FR_I) // î | ||
| 165 | #define FR_OE A(FR_O) // Œ | ||
| 166 | #define FR_PI A(FR_P) // π | ||
| 167 | #define FR_OCIR A(FR_CIRC) // Ô | ||
| 168 | #define FR_EURO A(FR_DLR) // € | ||
| 169 | // Row 3 | ||
| 170 | #define FR_DDAG A(FR_Q) // ‡ | ||
| 171 | #define FR_COGR A(FR_S) // Ò | ||
| 172 | #define FR_PDIF A(FR_D) // ∂ | ||
| 173 | #define FR_FHK A(FR_F) // ƒ | ||
| 174 | #define FR_FI A(FR_G) // fi | ||
| 175 | #define FR_CIGR A(FR_H) // Ì | ||
| 176 | #define FR_CIDI A(FR_J) // Ï | ||
| 177 | #define FR_CEGR A(FR_K) // È | ||
| 178 | #define FR_NOT A(FR_L) // ¬ | ||
| 179 | #define FR_MICR A(FR_M) // µ | ||
| 180 | #define FR_CUGR A(FR_LUGR) // Ù | ||
| 181 | // Row 4 | ||
| 182 | #define FR_LTEQ A(FR_LABK) // ≤ | ||
| 183 | #define FR_LSAQ A(FR_W) // ‹ | ||
| 184 | #define FR_AEQL A(FR_X) // ≈ | ||
| 185 | #define FR_COPY A(FR_C) // © | ||
| 186 | #define FR_LOZN A(FR_V) // ◊ | ||
| 187 | #define FR_SS A(FR_B) // ß | ||
| 188 | #define FR_TILD A(FR_N) // ~ (dead) | ||
| 189 | #define FR_INFN A(FR_COMM) // ∞ | ||
| 190 | #define FR_ELLP A(FR_SCLN) // … | ||
| 191 | #define FR_DIV A(FR_COLN) // ÷ | ||
| 192 | #define FR_NEQL A(FR_EQL) // ≠ | ||
| 85 | 193 | ||
| 86 | // Shift+Alt-ed characters | 194 | /* Shift+Alted symbols |
| 87 | #define FR_LBRC LSFT(LALT(KC_5)) | 195 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 88 | #define FR_RBRC LSFT(LALT(FR_RPRN)) | 196 | * │ Ÿ │ ´ │ „ │ │ │ [ │ å │ » │ Û │ Á │ │ ] │ – │ │ |
| 89 | #define FR_PIPE LSFT(LALT(KC_L)) | 197 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
| 90 | #define FR_BSLS LSFT(LALT(FR_COLN)) | 198 | * │ │ │ Å │ │ ‚ │ ™ │ │ ª │ ï │ │ ∏ │ │ ¥ │ │ |
| 199 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
| 200 | * │ │ Ω │ ∑ │ ∆ │ · │ fl │ Î │ Í │ Ë │ | │ Ó │ ‰ │ │ │ | ||
| 201 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
| 202 | * │ │ ≥ │ › │ ⁄ │ ¢ │ √ │ ∫ │ ı │ ¿ │ │ \ │ ± │ │ | ||
| 203 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
| 204 | * │ │ │ │ │ │ │ │ | ||
| 205 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
| 206 | */ | ||
| 207 | // Row 1 | ||
| 208 | #define FR_CYDI S(A(FR_AT)) // Ÿ | ||
| 209 | #define FR_ACUT S(A(FR_AMPR)) // ´ (dead) | ||
| 210 | #define FR_DLQU S(A(FR_LEAC)) // „ | ||
| 211 | #define FR_LBRC S(A(FR_LPRN)) // [ | ||
| 212 | #define FR_LARI S(A(FR_SECT)) // å | ||
| 213 | #define FR_RDAQ S(A(FR_LEGR)) // » | ||
| 214 | #define FR_CUCI S(A(FR_EXLM)) // Û | ||
| 215 | #define FR_CAAC S(A(FR_LCCE)) // Á | ||
| 216 | #define FR_RBRC S(A(FR_RPRN)) // ] | ||
| 217 | #define FR_NDSH S(A(FR_MINS)) // – | ||
| 218 | // Row 2 | ||
| 219 | #define FR_CARI S(A(FR_Z)) // Å | ||
| 220 | #define FR_SLQU S(A(FR_R)) // ‚ | ||
| 221 | #define FR_TM S(A(FR_T)) // ™ | ||
| 222 | #define FR_FORD S(A(FR_U)) // ª | ||
| 223 | #define FR_LIDI S(A(FR_I)) // ï | ||
| 224 | #define FR_NARP S(A(FR_P)) // ∏ | ||
| 225 | #define FR_YEN S(A(FR_DLR)) // ¥ | ||
| 226 | // Row 3 | ||
| 227 | #define FR_OMEG S(A(FR_Q)) // Ω | ||
| 228 | #define FR_NARS S(A(FR_S)) // ∑ | ||
| 229 | #define FR_INCR S(A(FR_D)) // ∆ | ||
| 230 | #define FR_MDDT S(A(FR_F)) // · | ||
| 231 | #define FR_FL S(A(FR_G)) // fl | ||
| 232 | #define FR_CICI S(A(FR_H)) // Î | ||
| 233 | #define FR_CIAC S(A(FR_J)) // Í | ||
| 234 | #define FR_CEDI S(A(FR_K)) // Ë | ||
| 235 | #define FR_PIPE S(A(FR_L)) // | | ||
| 236 | #define FR_COAC S(A(FR_M)) // Ó | ||
| 237 | #define FR_PERM S(A(FR_LUGR)) // ‰ | ||
| 238 | // Row 4 | ||
| 239 | #define FR_GTEQ S(A(FR_LABK)) // ≥ | ||
| 240 | #define FR_LSAQ S(A(FR_W)) // › | ||
| 241 | #define FR_FRSL S(A(FR_X)) // ⁄ | ||
| 242 | #define FR_CENT S(A(FR_C)) // ¢ | ||
| 243 | #define FR_SQRT S(A(FR_V)) // √ | ||
| 244 | #define FR_INTG S(A(FR_B)) // ∫ | ||
| 245 | #define FR_DLSI S(A(FR_N)) // ı | ||
| 246 | #define FR_IQUE S(A(FR_COMM)) // ¿ | ||
| 247 | #define FR_BSLS S(A(FR_COLN)) // (backslash) | ||
| 248 | #define FR_PLMN S(A(FR_EQL)) // ± | ||
| 91 | 249 | ||
| 92 | #endif | 250 | // DEPRECATED |
| 251 | #define FR_AMP FR_AMPR | ||
| 252 | #define FR_EACU FR_LEAC | ||
| 253 | #define FR_APOS FR_QUOT | ||
| 254 | #define FR_EGRV FR_LEGR | ||
| 255 | #define FR_CCED FR_LCCE | ||
| 256 | #define FR_AGRV FR_LAGR | ||
| 257 | #define FR_UGRV FR_LUGR | ||
| 258 | #define FR_LESS FR_LABK | ||
| 259 | #define FR_UMLT FR_DIAE | ||
| 260 | #define FR_GRTR FR_RABK | ||
diff --git a/quantum/keymap_extras/keymap_german_ch.h b/quantum/keymap_extras/keymap_german_ch.h index 19b362758..07f4503a1 100644 --- a/quantum/keymap_extras/keymap_german_ch.h +++ b/quantum/keymap_extras/keymap_german_ch.h | |||
| @@ -13,105 +13,170 @@ | |||
| 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_SWISS_GERMAN | 16 | |
| 17 | #define KEYMAP_SWISS_GERMAN | 17 | #pragma once |
| 18 | 18 | ||
| 19 | #include "keymap.h" | 19 | #include "keymap.h" |
| 20 | 20 | ||
| 21 | // normal characters | 21 | // clang-format off |
| 22 | #define CH_Z KC_Y | ||
| 23 | #define CH_Y KC_Z | ||
| 24 | 22 | ||
| 25 | #define CH_A KC_A | ||
| 26 | #define CH_B KC_B | ||
| 27 | #define CH_C KC_C | ||
| 28 | #define CH_D KC_D | ||
| 29 | #define CH_E KC_E | ||
| 30 | #define CH_F KC_F | ||
| 31 | #define CH_G KC_G | ||
| 32 | #ifdef CH_H | 23 | #ifdef CH_H |
| 33 | // The ChibiOS ch.h file defines this... | 24 | // The ChibiOS ch.h file defines this... |
| 34 | # undef CH_H | 25 | # undef CH_H |
| 35 | #endif | 26 | #endif |
| 36 | #define CH_H KC_H | ||
| 37 | #define CH_I KC_I | ||
| 38 | #define CH_J KC_J | ||
| 39 | #define CH_K KC_K | ||
| 40 | #define CH_L KC_L | ||
| 41 | #define CH_M KC_M | ||
| 42 | #define CH_N KC_N | ||
| 43 | #define CH_O KC_O | ||
| 44 | #define CH_P KC_P | ||
| 45 | #define CH_Q KC_Q | ||
| 46 | #define CH_R KC_R | ||
| 47 | #define CH_S KC_S | ||
| 48 | #define CH_T KC_T | ||
| 49 | #define CH_U KC_U | ||
| 50 | #define CH_V KC_V | ||
| 51 | #define CH_W KC_W | ||
| 52 | #define CH_X KC_X | ||
| 53 | |||
| 54 | #define CH_0 KC_0 | ||
| 55 | #define CH_1 KC_1 | ||
| 56 | #define CH_2 KC_2 | ||
| 57 | #define CH_3 KC_3 | ||
| 58 | #define CH_4 KC_4 | ||
| 59 | #define CH_5 KC_5 | ||
| 60 | #define CH_6 KC_6 | ||
| 61 | #define CH_7 KC_7 | ||
| 62 | #define CH_8 KC_8 | ||
| 63 | #define CH_9 KC_9 | ||
| 64 | |||
| 65 | #define CH_DOT KC_DOT | ||
| 66 | #define CH_COMM KC_COMM | ||
| 67 | |||
| 68 | #define CH_QUOT KC_MINS // ' ? ´ | ||
| 69 | #define CH_AE KC_QUOT | ||
| 70 | #define CH_UE KC_LBRC | ||
| 71 | #define CH_OE KC_SCLN | ||
| 72 | 27 | ||
| 73 | #define CH_PARA KC_GRAVE // secction sign § and ° | 28 | /* |
| 74 | #define CH_CARR KC_EQL // carret ^ ` ~ | 29 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 75 | #define CH_DIER KC_RBRC // dieresis ¨ ! ] | 30 | * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ^ │ │ |
| 76 | #define CH_DLR KC_BSLS // $ £ } | 31 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
| 77 | #define CH_LESS KC_NUBS // < and > and backslash | 32 | * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ü │ ¨ │ │ |
| 78 | #define CH_MINS KC_SLSH // - and _ | 33 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 34 | * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ö │ ä │ $ │ │ | ||
| 35 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ | ||
| 36 | * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │ | ||
| 37 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ | ||
| 38 | * │ │ │ │ │ │ │ │ │ | ||
| 39 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
| 40 | */ | ||
| 41 | // Row 1 | ||
| 42 | #define CH_SECT KC_GRV // § | ||
| 43 | #define CH_1 KC_1 // 1 | ||
| 44 | #define CH_2 KC_2 // 2 | ||
| 45 | #define CH_3 KC_3 // 3 | ||
| 46 | #define CH_4 KC_4 // 4 | ||
| 47 | #define CH_5 KC_5 // 5 | ||
| 48 | #define CH_6 KC_6 // 6 | ||
| 49 | #define CH_7 KC_7 // 7 | ||
| 50 | #define CH_8 KC_8 // 8 | ||
| 51 | #define CH_9 KC_9 // 9 | ||
| 52 | #define CH_0 KC_0 // 0 | ||
| 53 | #define CH_QUOT KC_MINS // ' | ||
| 54 | #define CH_CIRC KC_EQL // ^ (dead) | ||
| 55 | // Row 2 | ||
| 56 | #define CH_Q KC_Q // Q | ||
| 57 | #define CH_W KC_W // W | ||
| 58 | #define CH_E KC_E // E | ||
| 59 | #define CH_R KC_R // R | ||
| 60 | #define CH_T KC_T // T | ||
| 61 | #define CH_Z KC_Y // Z | ||
| 62 | #define CH_U KC_U // U | ||
| 63 | #define CH_I KC_I // I | ||
| 64 | #define CH_O KC_O // O | ||
| 65 | #define CH_P KC_P // P | ||
| 66 | #define CH_UDIA KC_LBRC // ü | ||
| 67 | #define CH_DIAE KC_RBRC // ¨ (dead) | ||
| 68 | // Row 3 | ||
| 69 | #define CH_A KC_A // A | ||
| 70 | #define CH_S KC_S // S | ||
| 71 | #define CH_D KC_D // D | ||
| 72 | #define CH_F KC_F // F | ||
| 73 | #define CH_G KC_G // G | ||
| 74 | #define CH_H KC_H // H | ||
| 75 | #define CH_J KC_J // J | ||
| 76 | #define CH_K KC_K // K | ||
| 77 | #define CH_L KC_L // L | ||
| 78 | #define CH_ODIA KC_SCLN // ö | ||
| 79 | #define CH_ADIA KC_QUOT // ä | ||
| 80 | #define CH_DLR KC_NUHS // $ | ||
| 81 | // Row 4 | ||
| 82 | #define CH_LABK KC_NUBS // < | ||
| 83 | #define CH_Y KC_Z // Y | ||
| 84 | #define CH_X KC_X // X | ||
| 85 | #define CH_C KC_C // C | ||
| 86 | #define CH_V KC_V // V | ||
| 87 | #define CH_B KC_B // B | ||
| 88 | #define CH_N KC_N // N | ||
| 89 | #define CH_M KC_M // M | ||
| 90 | #define CH_COMM KC_COMM // , | ||
| 91 | #define CH_DOT KC_DOT // . | ||
| 92 | #define CH_MINS KC_SLSH // - | ||
| 79 | 93 | ||
| 80 | // shifted characters | 94 | /* Shifted symbols |
| 81 | #define CH_RING LSFT(CH_PARA) // ° | 95 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 82 | #define CH_PLUS LSFT(KC_1) // + | 96 | * │ ° │ + │ " │ * │ ç │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │ |
| 83 | #define CH_DQOT LSFT(KC_2) // " | 97 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
| 84 | #define CH_PAST LSFT(KC_3) // * | 98 | * │ │ │ │ │ │ │ │ │ │ │ │ è │ ! │ │ |
| 85 | #define CH_CELA LSFT(KC_4) // ç | 99 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 86 | #define CH_PERC LSFT(KC_5) // % | 100 | * │ │ │ │ │ │ │ │ │ │ │ é │ à │ £ │ │ |
| 87 | #define CH_AMPR LSFT(KC_6) // & | 101 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ |
| 88 | #define CH_SLSH LSFT(KC_7) // / | 102 | * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │ |
| 89 | #define CH_LPRN LSFT(KC_8) // ( | 103 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ |
| 90 | #define CH_RPRN LSFT(KC_9) // ) | 104 | * │ │ │ │ │ │ │ │ │ |
| 91 | #define CH_EQL LSFT(KC_0) // = | 105 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ |
| 92 | #define CH_QST LSFT(CH_QUOT) // ? | 106 | */ |
| 93 | #define CH_GRV LSFT(CH_CARR) // ` | 107 | // Row 1 |
| 94 | #define CH_EXLM LSFT(CH_DIER) // ! | 108 | #define CH_DEG S(CH_SECT) // ° |
| 95 | #define CH_POND LSFT(CH_DLR) // £ | 109 | #define CH_PLUS S(CH_1) // + |
| 96 | #define CH_MORE LSFT(CH_LESS) // > | 110 | #define CH_DQUO S(CH_2) // " |
| 97 | #define CH_COLN LSFT(KC_DOT) // : | 111 | #define CH_ASTR S(CH_3) // * |
| 98 | #define CH_SCLN LSFT(KC_COMM) // ; | 112 | #define CH_CCED S(CH_4) // ç |
| 99 | #define CH_UNDS LSFT(CH_MINS) // _ | 113 | #define CH_PERC S(CH_5) // % |
| 114 | #define CH_AMPR S(CH_6) // & | ||
| 115 | #define CH_SLSH S(CH_7) // / | ||
| 116 | #define CH_LPRN S(CH_8) // ( | ||
| 117 | #define CH_RPRN S(CH_9) // ) | ||
| 118 | #define CH_EQL S(CH_0) // = | ||
| 119 | #define CH_QUES S(CH_QUOT) // ? | ||
| 120 | #define CH_GRV S(CH_CIRC) // ` (dead) | ||
| 121 | // Row 2 | ||
| 122 | #define CH_EGRV S(CH_UDIA) // è | ||
| 123 | #define CH_EXLM S(CH_DIAE) // ! | ||
| 124 | // Row 3 | ||
| 125 | #define CH_EACU S(CH_ODIA) // é | ||
| 126 | #define CH_AGRV S(CH_ADIA) // à | ||
| 127 | #define CH_PND S(CH_DLR) // £ | ||
| 128 | // Row 4 | ||
| 129 | #define CH_RABK S(CH_LABK) // > | ||
| 130 | #define CH_SCLN S(CH_COMM) // ; | ||
| 131 | #define CH_COLN S(CH_DOT) // : | ||
| 132 | #define CH_UNDS S(CH_MINS) // _ | ||
| 100 | 133 | ||
| 101 | // Alt Gr-ed characters | 134 | /* AltGr symbols |
| 102 | #define CH_BRBR ALGR(KC_1) // ¦ brocken bar | 135 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 103 | #define CH_AT ALGR(KC_2) // @ | 136 | * │ │ ¦ │ @ │ # │ │ │ ¬ │ | │ ¢ │ │ │ ´ │ ~ │ │ |
| 104 | #define CH_HASH ALGR(KC_3) // # | 137 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
| 105 | #define CH_NOTL ALGR(KC_6) // ¬ negative logic | 138 | * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │ |
| 106 | #define CH_PIPE ALGR(KC_7) // | | 139 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 107 | #define CH_CENT ALGR(KC_8) // ¢ cent | 140 | * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │ |
| 108 | #define CH_ACUT ALGR(CH_QUOT) // ´ | 141 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ |
| 109 | #define CH_TILD ALGR(CH_CARR) // ~ | 142 | * │ │ \ │ │ │ │ │ │ │ │ │ │ │ │ |
| 110 | #define CH_EURO ALGR(KC_E) // € | 143 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ |
| 111 | #define CH_LBRC ALGR(CH_UE) // [ | 144 | * │ │ │ │ │ │ │ │ │ |
| 112 | #define CH_RBRC ALGR(CH_DIER) // ] | 145 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ |
| 113 | #define CH_LCBR ALGR(CH_AE) // { | 146 | */ |
| 114 | #define CH_RCBR ALGR(CH_DLR) // } | 147 | // Row 1 |
| 115 | #define CH_BSLS ALGR(CH_LESS) // backslash | 148 | #define CH_BRKP ALGR(CH_1) // ¦ |
| 149 | #define CH_AT ALGR(CH_2) // @ | ||
| 150 | #define CH_HASH ALGR(CH_3) // # | ||
| 151 | #define CH_NOT ALGR(CH_6) // ¬ | ||
| 152 | #define CH_PIPE ALGR(CH_7) // | | ||
| 153 | #define CH_CENT ALGR(CH_8) // ¢ | ||
| 154 | #define CH_ACUT ALGR(CH_QUOT) // ´ (dead) | ||
| 155 | #define CH_TILD ALGR(CH_CIRC) // ~ (dead) | ||
| 156 | // Row 2 | ||
| 157 | #define CH_EURO ALGR(CH_E) // € | ||
| 158 | #define CH_LBRC ALGR(CH_UDIA) // [ | ||
| 159 | #define CH_RBRC ALGR(CH_DIAE) // ] | ||
| 160 | // Row 3 | ||
| 161 | #define CH_LCBR ALGR(CH_ADIA) // { | ||
| 162 | #define CH_RCBR ALGR(CH_DLR) // } | ||
| 163 | // Row 4 | ||
| 164 | #define CH_BSLS ALGR(CH_LABK) // (backslash) | ||
| 116 | 165 | ||
| 117 | #endif | 166 | // DEPRECATED |
| 167 | #define CH_AE CH_ADIA | ||
| 168 | #define CH_UE CH_UDIA | ||
| 169 | #define CH_OE CH_ODIA | ||
| 170 | #define CH_PARA CH_SECT | ||
| 171 | #define CH_CARR CH_CIRC | ||
| 172 | #define CH_DIER CH_DIAE | ||
| 173 | #define CH_LESS CH_LABK | ||
| 174 | #define CH_RING CH_DEG | ||
| 175 | #define CH_DQOT CH_DQUO | ||
| 176 | #define CH_PAST CH_ASTR | ||
| 177 | #define CH_CELA CH_CCED | ||
| 178 | #define CH_QST CH_QUES | ||
| 179 | #define CH_POND CH_PND | ||
| 180 | #define CH_MORE CH_RABK | ||
| 181 | #define CH_BRBR CH_BRKP | ||
| 182 | #define CH_NOTL CH_NOT | ||
diff --git a/quantum/keymap_extras/keymap_german_osx.h b/quantum/keymap_extras/keymap_german_osx.h index 29dee07ee..0d15532e4 100644 --- a/quantum/keymap_extras/keymap_german_osx.h +++ b/quantum/keymap_extras/keymap_german_osx.h | |||
| @@ -13,100 +13,311 @@ | |||
| 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_GERMAN_OSX | ||
| 17 | #define KEYMAP_GERMAN_OSX | ||
| 18 | 16 | ||
| 19 | #include "keymap.h" | 17 | #pragma once |
| 20 | |||
| 21 | // Alt gr | ||
| 22 | 18 | ||
| 23 | // normal characters | 19 | #include "keymap.h" |
| 24 | #define DE_OSX_Z KC_Y | ||
| 25 | #define DE_OSX_Y KC_Z | ||
| 26 | 20 | ||
| 27 | #define DE_OSX_A KC_A | 21 | // clang-format off |
| 28 | #define DE_OSX_B KC_B | ||
| 29 | #define DE_OSX_C KC_C | ||
| 30 | #define DE_OSX_D KC_D | ||
| 31 | #define DE_OSX_E KC_E | ||
| 32 | #define DE_OSX_F KC_F | ||
| 33 | #define DE_OSX_G KC_G | ||
| 34 | #define DE_OSX_H KC_H | ||
| 35 | #define DE_OSX_I KC_I | ||
| 36 | #define DE_OSX_J KC_J | ||
| 37 | #define DE_OSX_K KC_K | ||
| 38 | #define DE_OSX_L KC_L | ||
| 39 | #define DE_OSX_M KC_M | ||
| 40 | #define DE_OSX_N KC_N | ||
| 41 | #define DE_OSX_O KC_O | ||
| 42 | #define DE_OSX_P KC_P | ||
| 43 | #define DE_OSX_Q KC_Q | ||
| 44 | #define DE_OSX_R KC_R | ||
| 45 | #define DE_OSX_S KC_S | ||
| 46 | #define DE_OSX_T KC_T | ||
| 47 | #define DE_OSX_U KC_U | ||
| 48 | #define DE_OSX_V KC_V | ||
| 49 | #define DE_OSX_W KC_W | ||
| 50 | #define DE_OSX_X KC_X | ||
| 51 | 22 | ||
| 52 | #define DE_OSX_0 KC_0 | 23 | /* |
| 53 | #define DE_OSX_1 KC_1 | 24 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 54 | #define DE_OSX_2 KC_2 | 25 | * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │ │ |
| 55 | #define DE_OSX_3 KC_3 | 26 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
| 56 | #define DE_OSX_4 KC_4 | 27 | * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ + │ │ |
| 57 | #define DE_OSX_5 KC_5 | 28 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 58 | #define DE_OSX_6 KC_6 | 29 | * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ # │ │ |
| 59 | #define DE_OSX_7 KC_7 | 30 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ |
| 60 | #define DE_OSX_8 KC_8 | 31 | * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │ |
| 61 | #define DE_OSX_9 KC_9 | 32 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ |
| 33 | * │ │ │ │ │ │ │ │ | ||
| 34 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
| 35 | */ | ||
| 36 | // Row 1 | ||
| 37 | #define DE_CIRC KC_GRV // ^ (dead) | ||
| 38 | #define DE_1 KC_1 // 1 | ||
| 39 | #define DE_2 KC_2 // 2 | ||
| 40 | #define DE_3 KC_3 // 3 | ||
| 41 | #define DE_4 KC_4 // 4 | ||
| 42 | #define DE_5 KC_5 // 5 | ||
| 43 | #define DE_6 KC_6 // 6 | ||
| 44 | #define DE_7 KC_7 // 7 | ||
| 45 | #define DE_8 KC_8 // 8 | ||
| 46 | #define DE_9 KC_9 // 9 | ||
| 47 | #define DE_0 KC_0 // 0 | ||
| 48 | #define DE_SS KC_MINS // ß | ||
| 49 | #define DE_ACUT KC_EQL // ´ (dead) | ||
| 50 | // Row 2 | ||
| 51 | #define DE_Q KC_Q // Q | ||
| 52 | #define DE_W KC_W // W | ||
| 53 | #define DE_E KC_E // E | ||
| 54 | #define DE_R KC_R // R | ||
| 55 | #define DE_T KC_T // T | ||
| 56 | #define DE_Z KC_Y // Z | ||
| 57 | #define DE_U KC_U // U | ||
| 58 | #define DE_I KC_I // I | ||
| 59 | #define DE_O KC_O // O | ||
| 60 | #define DE_P KC_P // P | ||
| 61 | #define DE_UDIA KC_LBRC // Ü | ||
| 62 | #define DE_PLUS KC_RBRC // + | ||
| 63 | // Row 3 | ||
| 64 | #define DE_A KC_A // A | ||
| 65 | #define DE_S KC_S // S | ||
| 66 | #define DE_D KC_D // D | ||
| 67 | #define DE_F KC_F // F | ||
| 68 | #define DE_G KC_G // G | ||
| 69 | #define DE_H KC_H // H | ||
| 70 | #define DE_J KC_J // J | ||
| 71 | #define DE_K KC_K // K | ||
| 72 | #define DE_L KC_L // L | ||
| 73 | #define DE_ODIA KC_SCLN // Ö | ||
| 74 | #define DE_ADIA KC_QUOT // Ä | ||
| 75 | #define DE_HASH KC_NUHS // # | ||
| 76 | // Row 4 | ||
| 77 | #define DE_LABK KC_NUBS // < | ||
| 78 | #define DE_Y KC_Z // Y | ||
| 79 | #define DE_X KC_X // X | ||
| 80 | #define DE_C KC_C // C | ||
| 81 | #define DE_V KC_V // V | ||
| 82 | #define DE_B KC_B // B | ||
| 83 | #define DE_N KC_N // N | ||
| 84 | #define DE_M KC_M // M | ||
| 85 | #define DE_COMM KC_COMM // , | ||
| 86 | #define DE_DOT KC_DOT // . | ||
| 87 | #define DE_MINS KC_SLSH // - | ||
| 62 | 88 | ||
| 63 | #define DE_OSX_DOT KC_DOT | 89 | /* Shifted symbols |
| 64 | #define DE_OSX_COMM KC_COMM | 90 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 91 | * │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │ | ||
| 92 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ | ||
| 93 | * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │ | ||
| 94 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
| 95 | * │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │ | ||
| 96 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
| 97 | * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │ | ||
| 98 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
| 99 | * │ │ │ │ │ │ │ │ | ||
| 100 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
| 101 | */ | ||
| 102 | // Row 1 | ||
| 103 | #define DE_DEG S(DE_CIRC) // ° | ||
| 104 | #define DE_EXLM S(DE_1) // ! | ||
| 105 | #define DE_DQUO S(DE_2) // " | ||
| 106 | #define DE_SECT S(DE_3) // § | ||
| 107 | #define DE_DLR S(DE_4) // $ | ||
| 108 | #define DE_PERC S(DE_5) // % | ||
| 109 | #define DE_AMPR S(DE_6) // & | ||
| 110 | #define DE_SLSH S(DE_7) // / | ||
| 111 | #define DE_LPRN S(DE_8) // ( | ||
| 112 | #define DE_RPRN S(DE_9) // ) | ||
| 113 | #define DE_EQL S(DE_0) // = | ||
| 114 | #define DE_QUES S(DE_SS) // ? | ||
| 115 | #define DE_GRV S(DE_ACUT) // ` (dead) | ||
| 116 | // Row 2 | ||
| 117 | #define DE_ASTR S(DE_PLUS) // * | ||
| 118 | // Row 3 | ||
| 119 | #define DE_QUOT S(DE_HASH) // ' | ||
| 120 | // Row 4 | ||
| 121 | #define DE_RABK S(DE_LABK) // > | ||
| 122 | #define DE_SCLN S(DE_COMM) // ; | ||
| 123 | #define DE_COLN S(DE_DOT) // : | ||
| 124 | #define DE_UNDS S(DE_MINS) // _ | ||
| 65 | 125 | ||
| 66 | #define DE_OSX_SS KC_MINS | 126 | /* Alted symbols |
| 67 | #define DE_OSX_AE KC_QUOT | 127 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 68 | #define DE_OSX_UE KC_LBRC | 128 | * │ „ │ ¡ │ “ │ ¶ │ ¢ │ [ │ ] │ | │ { │ } │ ≠ │ ¿ │ │ │ |
| 69 | #define DE_OSX_OE KC_SCLN | 129 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
| 130 | * │ │ « │ ∑ │ € │ ® │ † │ Ω │ ¨ │ ⁄ │ Ø │ π │ • │ ± │ │ | ||
| 131 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
| 132 | * │ │ Å │ ‚ │ ∂ │ ƒ │ © │ ª │ º │ ∆ │ @ │ Œ │ Æ │ ‘ │ │ | ||
| 133 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
| 134 | * │ │ ≤ │ ¥ │ ≈ │ Ç │ √ │ ∫ │ ~ │ µ │ ∞ │ … │ – │ │ | ||
| 135 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
| 136 | * │ │ │ │ │ │ │ │ | ||
| 137 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
| 138 | */ | ||
| 139 | // Row 1 | ||
| 140 | #define DE_DLQU A(DE_CIRC) // „ | ||
| 141 | #define DE_IEXL A(DE_1) // ¡ | ||
| 142 | #define DE_LDQU A(DE_2) // “ | ||
| 143 | #define DE_PILC A(DE_3) // ¶ | ||
| 144 | #define DE_CENT A(DE_4) // ¢ | ||
| 145 | #define DE_LBRC A(DE_5) // [ | ||
| 146 | #define DE_RBRC A(DE_6) // ] | ||
| 147 | #define DE_PIPE A(DE_7) // | | ||
| 148 | #define DE_LCBR A(DE_8) // { | ||
| 149 | #define DE_RCBR A(DE_9) // } | ||
| 150 | #define DE_NEQL A(DE_0) // ≠ | ||
| 151 | #define DE_IQUE A(DE_SS) // ¿ | ||
| 152 | // Row 2 | ||
| 153 | #define DE_LDAQ A(DE_Q) // « | ||
| 154 | #define DE_NARS A(DE_W) // ∑ | ||
| 155 | #define DE_EURO A(DE_E) // € | ||
| 156 | #define DE_REGD A(DE_R) // ® | ||
| 157 | #define DE_DAGG A(DE_T) // † | ||
| 158 | #define DE_OMEG A(DE_Z) // Ω | ||
| 159 | #define DE_DIAE A(DE_U) // ¨ (dead) | ||
| 160 | #define DE_FRSL A(DE_I) // ⁄ | ||
| 161 | #define DE_OSTR A(DE_O) // Ø | ||
| 162 | #define DE_PI A(DE_P) // π | ||
| 163 | #define DE_BULT A(DE_UDIA) // • | ||
| 164 | #define DE_PLMN A(DE_PLUS) // ± | ||
| 165 | // Row 3 | ||
| 166 | #define DE_ARNG A(DE_A) // Å | ||
| 167 | #define DE_SLQU A(DE_S) // ‚ | ||
| 168 | #define DE_PDIF A(DE_D) // ∂ | ||
| 169 | #define DE_FHK A(DE_F) // ƒ | ||
| 170 | #define DE_COPY A(DE_G) // © | ||
| 171 | #define DE_FORD A(DE_H) // ª | ||
| 172 | #define DE_MORD A(DE_J) // º | ||
| 173 | #define DE_INCR A(DE_K) // ∆ | ||
| 174 | #define DE_AT A(DE_L) // @ | ||
| 175 | #define DE_OE A(DE_ODIA) // Œ | ||
| 176 | #define DE_AE A(DE_ADIA) // Æ | ||
| 177 | #define DE_LSQU A(DE_HASH) // ‘ | ||
| 178 | // Row 4 | ||
| 179 | #define DE_LTEQ A(DE_LABK) // ≤ | ||
| 180 | #define DE_YEN A(DE_Y) // ¥ | ||
| 181 | #define DE_AEQL A(DE_X) // ≈ | ||
| 182 | #define DE_CCCE A(DE_C) // Ç | ||
| 183 | #define DE_SQRT A(DE_V) // √ | ||
| 184 | #define DE_INTG A(DE_B) // ∫ | ||
| 185 | #define DE_TILD A(DE_N) // ~ (dead) | ||
| 186 | #define DE_MICR A(DE_M) // µ | ||
| 187 | #define DE_INFN A(DE_COMM) // ∞ | ||
| 188 | #define DE_ELLP A(DE_DOT) // … | ||
| 189 | #define DE_NDSH A(DE_MINS) // – | ||
| 70 | 190 | ||
| 71 | #define DE_OSX_CIRC KC_NUBS // accent circumflex ^ and ring ° | 191 | /* Shift+Alted symbols |
| 72 | #define DE_OSX_ACUT KC_EQL // accent acute ´ and grave ` | 192 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 73 | #define DE_OSX_PLUS KC_RBRC // + and * and ~ | 193 | * │ │ ¬ │ ” │ │ £ │ fi │ │ \ │ ˜ │ · │ ¯ │ ˙ │ ˚ │ │ |
| 74 | #define DE_OSX_HASH KC_BSLS // # and ' | 194 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
| 75 | #define DE_OSX_LESS KC_GRV // < and > and | | 195 | * │ │ » │ │ ‰ │ ¸ │ ˝ │ ˇ │ Á │ Û │ │ ∏ │ │ │ │ |
| 76 | #define DE_OSX_MINS KC_SLSH // - and _ | 196 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 197 | * │ │ │ Í │ ™ │ Ï │ Ì │ Ó │ ı │ │ fl │ │ │ │ │ | ||
| 198 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
| 199 | * │ │ ≥ │ ‡ │ Ù │ │ ◊ │ ‹ │ › │ ˘ │ ˛ │ ÷ │ — │ │ | ||
| 200 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
| 201 | * │ │ │ │ │ │ │ │ | ||
| 202 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
| 203 | */ | ||
| 204 | // Row 1 | ||
| 205 | #define DE_NOT S(A(DE_1)) // ¬ | ||
| 206 | #define DE_RDQU S(A(DE_2)) // ” | ||
| 207 | #define DE_PND S(A(DE_4)) // £ | ||
| 208 | #define DE_FI S(A(DE_5)) // fi | ||
| 209 | #define DE_BSLS S(A(DE_7)) // (backslash) | ||
| 210 | #define DE_STIL S(A(DE_8)) // ˜ | ||
| 211 | #define DE_MDDT S(A(DE_9)) // · | ||
| 212 | #define DE_MACR S(A(DE_0)) // ¯ | ||
| 213 | #define DE_DOTA S(A(DE_SS)) // ˙ | ||
| 214 | #define DE_RNGA S(A(DE_ACUT)) // ˚ | ||
| 215 | // Row 2 | ||
| 216 | #define DE_RDAQ S(A(DE_Q)) // » | ||
| 217 | #define DE_PERM S(A(DE_E)) // ‰ | ||
| 218 | #define DE_CEDL S(A(DE_R)) // ¸ | ||
| 219 | #define DE_DACU S(A(DE_T)) // ˝ | ||
| 220 | #define DE_CARN S(A(DE_Z)) // ˇ | ||
| 221 | #define DE_AACU S(A(DE_U)) // Á | ||
| 222 | #define DE_UCIR S(A(DE_I)) // Û | ||
| 223 | #define DE_NARP S(A(DE_P)) // ∏ | ||
| 224 | #define DE_APPL S(A(DE_PLUS)) // (Apple logo) | ||
| 225 | // Row 3 | ||
| 226 | #define DE_IACU S(A(DE_S)) // Í | ||
| 227 | #define DE_TM S(A(DE_D)) // ™ | ||
| 228 | #define DE_IDIA S(A(DE_F)) // Ï | ||
| 229 | #define DE_IGRV S(A(DE_G)) // Ì | ||
| 230 | #define DE_OACU S(A(DE_H)) // Ó | ||
| 231 | #define DE_DLSI S(A(DE_J)) // ı | ||
| 232 | #define DE_FL S(A(DE_L)) // fl | ||
| 233 | // Row 4 | ||
| 234 | #define DE_GTEQ S(A(DE_LABK)) // ≥ | ||
| 235 | #define DE_DDAG S(A(DE_Y)) // ‡ | ||
| 236 | #define DE_UGRV S(A(DE_X)) // Ù | ||
| 237 | #define DE_LOZN S(A(DE_V)) // ◊ | ||
| 238 | #define DE_LSAQ S(A(DE_B)) // ‹ | ||
| 239 | #define DE_RSAQ S(A(DE_N)) // › | ||
| 240 | #define DE_BREV S(A(DE_M)) // ˘ | ||
| 241 | #define DE_OGON S(A(DE_COMM)) // ˛ | ||
| 242 | #define DE_DIV S(A(DE_DOT)) // ÷ | ||
| 243 | #define DE_MDSH S(A(DE_MINS)) // — | ||
| 77 | 244 | ||
| 78 | // shifted characters | 245 | // DEPRECATED |
| 79 | #define DE_OSX_RING LSFT(DE_OSX_CIRC) // ° | 246 | #define DE_OSX_CIRC DE_CIRC |
| 80 | #define DE_OSX_EXLM LSFT(KC_1) // ! | 247 | #define DE_OSX_1 DE_1 |
| 81 | #define DE_OSX_DQOT LSFT(KC_2) // " | 248 | #define DE_OSX_2 DE_2 |
| 82 | #define DE_OSX_PARA LSFT(KC_3) // § | 249 | #define DE_OSX_3 DE_3 |
| 83 | #define DE_OSX_DLR LSFT(KC_4) // $ | 250 | #define DE_OSX_4 DE_4 |
| 84 | #define DE_OSX_PERC LSFT(KC_5) // % | 251 | #define DE_OSX_5 DE_5 |
| 85 | #define DE_OSX_AMPR LSFT(KC_6) // & | 252 | #define DE_OSX_6 DE_6 |
| 86 | #define DE_OSX_SLSH LSFT(KC_7) // / | 253 | #define DE_OSX_7 DE_7 |
| 87 | #define DE_OSX_LPRN LSFT(KC_8) // ( | 254 | #define DE_OSX_8 DE_8 |
| 88 | #define DE_OSX_RPRN LSFT(KC_9) // ) | 255 | #define DE_OSX_9 DE_9 |
| 89 | #define DE_OSX_EQL LSFT(KC_0) // = | 256 | #define DE_OSX_0 DE_0 |
| 90 | #define DE_OSX_QST LSFT(DE_OSX_SS) // ? | 257 | #define DE_OSX_SS DE_SS |
| 91 | #define DE_OSX_GRV LSFT(DE_OSX_ACUT) // ` | 258 | #define DE_OSX_ACUT DE_ACUT |
| 92 | #define DE_OSX_ASTR LSFT(DE_OSX_PLUS) // * | 259 | #define DE_OSX_Q DE_Q |
| 93 | #define DE_OSX_QUOT LSFT(DE_OSX_HASH) // ' | 260 | #define DE_OSX_W DE_W |
| 94 | #define DE_OSX_MORE LSFT(DE_OSX_LESS) // > | 261 | #define DE_OSX_E DE_E |
| 95 | #define DE_OSX_COLN LSFT(KC_DOT) // : | 262 | #define DE_OSX_R DE_R |
| 96 | #define DE_OSX_SCLN LSFT(KC_COMM) // ; | 263 | #define DE_OSX_T DE_T |
| 97 | #define DE_OSX_UNDS LSFT(DE_OSX_MINS) // _ | 264 | #define DE_OSX_Z DE_Z |
| 265 | #define DE_OSX_U DE_U | ||
| 266 | #define DE_OSX_I DE_I | ||
| 267 | #define DE_OSX_O DE_O | ||
| 268 | #define DE_OSX_P DE_P | ||
| 269 | #define DE_OSX_UE DE_UDIA | ||
| 270 | #define DE_OSX_PLUS DE_PLUS | ||
| 271 | #define DE_OSX_A DE_A | ||
| 272 | #define DE_OSX_S DE_S | ||
| 273 | #define DE_OSX_D DE_D | ||
| 274 | #define DE_OSX_F DE_F | ||
| 275 | #define DE_OSX_G DE_G | ||
| 276 | #define DE_OSX_H DE_H | ||
| 277 | #define DE_OSX_J DE_J | ||
| 278 | #define DE_OSX_K DE_K | ||
| 279 | #define DE_OSX_L DE_L | ||
| 280 | #define DE_OSX_OE DE_ODIA | ||
| 281 | #define DE_OSX_AE DE_ADIA | ||
| 282 | #define DE_OSX_HASH DE_HASH | ||
| 283 | #define DE_OSX_LESS DE_LABK | ||
| 284 | #define DE_OSX_Y DE_Y | ||
| 285 | #define DE_OSX_X DE_X | ||
| 286 | #define DE_OSX_C DE_C | ||
| 287 | #define DE_OSX_V DE_V | ||
| 288 | #define DE_OSX_B DE_B | ||
| 289 | #define DE_OSX_N DE_N | ||
| 290 | #define DE_OSX_M DE_M | ||
| 291 | #define DE_OSX_COMM DE_COMM | ||
| 292 | #define DE_OSX_DOT DE_DOT | ||
| 293 | #define DE_OSX_MINS DE_MINS | ||
| 98 | 294 | ||
| 99 | // Alt-ed characters | 295 | #define DE_OSX_RING DE_DEG |
| 100 | //#define DE_OSX_SQ2 LALT(KC_2) // ² | 296 | #define DE_OSX_EXLM DE_EXLM |
| 101 | //#define DE_OSX_SQ3 LALT(KC_3) // ³ | 297 | #define DE_OSX_DQOT DE_DQUO |
| 102 | #define DE_OSX_LCBR LALT(KC_8) // { | 298 | #define DE_OSX_PARA DE_SECT |
| 103 | #define DE_OSX_LBRC LALT(KC_5) // [ | 299 | #define DE_OSX_DLR DE_DLR |
| 104 | #define DE_OSX_RBRC LALT(KC_6) // ] | 300 | #define DE_OSX_PERC DE_PERC |
| 105 | #define DE_OSX_RCBR LALT(KC_9) // } | 301 | #define DE_OSX_AMPR DE_AMPR |
| 106 | #define DE_OSX_BSLS LALT(LSFT(KC_7)) // backslash | 302 | #define DE_OSX_SLSH DE_SLSH |
| 107 | #define DE_OSX_AT LALT(DE_OSX_L) // @ | 303 | #define DE_OSX_LPRN DE_LPRN |
| 108 | #define DE_OSX_EURO LALT(KC_E) // € | 304 | #define DE_OSX_RPRN DE_RPRN |
| 109 | #define DE_OSX_TILD LALT(DE_OSX_N) // ~ | 305 | #define DE_OSX_EQL DE_EQL |
| 110 | #define DE_OSX_PIPE LALT(DE_OSX_7) // | | 306 | #define DE_OSX_QST DE_QUES |
| 307 | #define DE_OSX_GRV DE_GRV | ||
| 308 | #define DE_OSX_ASTR DE_ASTR | ||
| 309 | #define DE_OSX_QUOT DE_QUOT | ||
| 310 | #define DE_OSX_MORE DE_RABK | ||
| 311 | #define DE_OSX_COLN DE_COLN | ||
| 312 | #define DE_OSX_SCLN DE_SCLN | ||
| 313 | #define DE_OSX_UNDS DE_UNDS | ||
| 111 | 314 | ||
| 112 | #endif | 315 | #define DE_OSX_LBRC DE_LBRC |
| 316 | #define DE_OSX_RBRC DE_RBRC | ||
| 317 | #define DE_OSX_PIPE DE_PIPE | ||
| 318 | #define DE_OSX_LCBR DE_LCBR | ||
| 319 | #define DE_OSX_RCBR DE_RCBR | ||
| 320 | #define DE_OSX_AT DE_AT | ||
| 321 | #define DE_OSX_EURO DE_EURO | ||
| 322 | #define DE_OSX_TILD DE_TILD | ||
| 323 | #define DE_OSX_BSLS DE_BSLS | ||
diff --git a/quantum/keymap_extras/keymap_italian_osx_ansi.h b/quantum/keymap_extras/keymap_italian_osx_ansi.h index fa12d05dc..1f7fe8afc 100644 --- a/quantum/keymap_extras/keymap_italian_osx_ansi.h +++ b/quantum/keymap_extras/keymap_italian_osx_ansi.h | |||
| @@ -14,100 +14,255 @@ | |||
| 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 | 16 | ||
| 17 | // This is a clone of quantum/keymap_extra/keymap_italian.h intended to be used with Apple devices | 17 | #pragma once |
| 18 | |||
| 19 | #ifndef KEYMAP_ITALIAN | ||
| 20 | #define KEYMAP_ITALIAN | ||
| 21 | 18 | ||
| 22 | #include "keymap.h" | 19 | #include "keymap.h" |
| 23 | 20 | ||
| 24 | // normal characters | 21 | // clang-format off |
| 25 | #define IT_A KC_A | ||
| 26 | #define IT_B KC_B | ||
| 27 | #define IT_C KC_C | ||
| 28 | #define IT_D KC_D | ||
| 29 | #define IT_E KC_E | ||
| 30 | #define IT_F KC_F | ||
| 31 | #define IT_G KC_G | ||
| 32 | #define IT_H KC_H | ||
| 33 | #define IT_I KC_I | ||
| 34 | #define IT_J KC_J | ||
| 35 | #define IT_K KC_K | ||
| 36 | #define IT_L KC_L | ||
| 37 | #define IT_M KC_M | ||
| 38 | #define IT_N KC_N | ||
| 39 | #define IT_O KC_O | ||
| 40 | #define IT_P KC_P | ||
| 41 | #define IT_Q KC_Q | ||
| 42 | #define IT_R KC_R | ||
| 43 | #define IT_S KC_S | ||
| 44 | #define IT_T KC_T | ||
| 45 | #define IT_U KC_U | ||
| 46 | #define IT_V KC_V | ||
| 47 | #define IT_W KC_W | ||
| 48 | #define IT_X KC_X | ||
| 49 | #define IT_Y KC_Y | ||
| 50 | #define IT_Z KC_Z | ||
| 51 | |||
| 52 | #define IT_0 KC_0 | ||
| 53 | #define IT_1 KC_1 | ||
| 54 | #define IT_2 KC_2 | ||
| 55 | #define IT_3 KC_3 | ||
| 56 | #define IT_4 KC_4 | ||
| 57 | #define IT_5 KC_5 | ||
| 58 | #define IT_6 KC_6 | ||
| 59 | #define IT_7 KC_7 | ||
| 60 | #define IT_8 KC_8 | ||
| 61 | #define IT_9 KC_9 | ||
| 62 | 22 | ||
| 63 | // punctuation | 23 | /* |
| 64 | #define IT_DOT KC_DOT // . and : | 24 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 65 | #define IT_COMM KC_COMM // , and ; | 25 | * │ < │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │ |
| 66 | #define IT_APOS KC_MINS // ' and ? | 26 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
| 67 | #define IT_BSLS KC_NUBS // \ and | | 27 | * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ ù │ |
| 68 | #define IT_LESS KC_GRV // < and > | 28 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ |
| 69 | #define IT_MINS KC_SLSH // - and _ | 29 | * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ │ |
| 30 | * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤ | ||
| 31 | * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │ | ||
| 32 | * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
| 33 | * │ │ │ │ │ │ │ │ | ||
| 34 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
| 35 | */ | ||
| 36 | // Row 1 | ||
| 37 | #define IT_LABK KC_GRV // < | ||
| 38 | #define IT_1 KC_1 // 1 | ||
| 39 | #define IT_2 KC_2 // 2 | ||
| 40 | #define IT_3 KC_3 // 3 | ||
| 41 | #define IT_4 KC_4 // 4 | ||
| 42 | #define IT_5 KC_5 // 5 | ||
| 43 | #define IT_6 KC_6 // 6 | ||
| 44 | #define IT_7 KC_7 // 7 | ||
| 45 | #define IT_8 KC_8 // 8 | ||
| 46 | #define IT_9 KC_9 // 9 | ||
| 47 | #define IT_0 KC_0 // 0 | ||
| 48 | #define IT_QUOT KC_MINS // ' | ||
| 49 | #define IT_IGRV KC_EQL // ì | ||
| 50 | // Row 2 | ||
| 51 | #define IT_Q KC_Q // Q | ||
| 52 | #define IT_W KC_W // W | ||
| 53 | #define IT_E KC_E // E | ||
| 54 | #define IT_R KC_R // R | ||
| 55 | #define IT_T KC_T // T | ||
| 56 | #define IT_Y KC_Y // Y | ||
| 57 | #define IT_U KC_U // U | ||
| 58 | #define IT_I KC_I // I | ||
| 59 | #define IT_O KC_O // O | ||
| 60 | #define IT_P KC_P // P | ||
| 61 | #define IT_EGRV KC_LBRC // è | ||
| 62 | #define IT_PLUS KC_RBRC // + | ||
| 63 | #define IT_UGRV KC_BSLS // ù | ||
| 64 | // Row 3 | ||
| 65 | #define IT_A KC_A // A | ||
| 66 | #define IT_S KC_S // S | ||
| 67 | #define IT_D KC_D // D | ||
| 68 | #define IT_F KC_F // F | ||
| 69 | #define IT_G KC_G // G | ||
| 70 | #define IT_H KC_H // H | ||
| 71 | #define IT_J KC_J // J | ||
| 72 | #define IT_K KC_K // K | ||
| 73 | #define IT_L KC_L // L | ||
| 74 | #define IT_OGRV KC_SCLN // ò | ||
| 75 | #define IT_AGRV KC_QUOT // à | ||
| 76 | // Row 4 | ||
| 77 | #define IT_BSLS KC_NUBS // (backslash, not physically present) | ||
| 78 | #define IT_Z KC_Z // Z | ||
| 79 | #define IT_X KC_X // X | ||
| 80 | #define IT_C KC_C // C | ||
| 81 | #define IT_V KC_V // V | ||
| 82 | #define IT_B KC_B // B | ||
| 83 | #define IT_N KC_N // N | ||
| 84 | #define IT_M KC_M // M | ||
| 85 | #define IT_COMM KC_COMM // , | ||
| 86 | #define IT_DOT KC_DOT // . | ||
| 87 | #define IT_MINS KC_SLSH // - | ||
| 70 | 88 | ||
| 71 | // accented vowels (regular, with shift, with option, with option and shift) | 89 | /* Shifted symbols |
| 72 | #define IT_EACC KC_LBRC // è, é, [, { | 90 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 73 | #define IT_PLUS KC_RBRC // +, *, ], } | 91 | * │ > │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │ |
| 74 | #define IT_OACC KC_SCLN // ò, ç, @, Ç | 92 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
| 75 | #define IT_AACC KC_QUOT // à, °, #, ∞ | 93 | * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ § │ |
| 76 | #define IT_UACC KC_BSLS // ù, §, ¶, ◊ | 94 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ |
| 77 | #define IT_IACC KC_EQL // ì, ^, ˆ, ± | 95 | * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ │ |
| 96 | * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤ | ||
| 97 | * │ │ │ │ │ │ │ │ │ ; │ : │ _ │ │ | ||
| 98 | * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
| 99 | * │ │ │ │ │ │ │ │ | ||
| 100 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
| 101 | */ | ||
| 102 | // Row 1 | ||
| 103 | #define IT_RABK S(IT_LABK) // > | ||
| 104 | #define IT_EXLM S(IT_1) // ! | ||
| 105 | #define IT_DQUO S(IT_2) // " | ||
| 106 | #define IT_PND S(IT_3) // £ | ||
| 107 | #define IT_DLR S(IT_4) // $ | ||
| 108 | #define IT_PERC S(IT_5) // % | ||
| 109 | #define IT_AMPR S(IT_6) // & | ||
| 110 | #define IT_SLSH S(IT_7) // / | ||
| 111 | #define IT_LPRN S(IT_8) // ( | ||
| 112 | #define IT_RPRN S(IT_9) // ) | ||
| 113 | #define IT_EQL S(IT_0) // = | ||
| 114 | #define IT_QUES S(IT_QUOT) // ? | ||
| 115 | #define IT_CIRC S(IT_IGRV) // ^ | ||
| 116 | // Row 2 | ||
| 117 | #define IT_EACU S(IT_EGRV) // é | ||
| 118 | #define IT_ASTR S(IT_PLUS) // * | ||
| 119 | #define IT_SECT S(IT_UGRV) // § | ||
| 120 | // Row 3 | ||
| 121 | #define IT_LCCE S(IT_OGRV) // ç | ||
| 122 | #define IT_DEG S(IT_AGRV) // ° | ||
| 123 | // Row 4 | ||
| 124 | #define IT_PIPE S(IT_BSLS) // | (not physically present) | ||
| 125 | #define IT_SCLN S(IT_COMM) // ; | ||
| 126 | #define IT_COLN S(IT_DOT) // : | ||
| 127 | #define IT_UNDS S(IT_MINS) // _ | ||
| 78 | 128 | ||
| 79 | // shifted characters | 129 | /* Alted symbols |
| 80 | #define IT_EXLM LSFT(KC_1) // ! | 130 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 81 | #define IT_DQOT LSFT(KC_2) // " | 131 | * │ ≤ │ « │ “ │ ‘ │ ¥ │ ~ │ ‹ │ ÷ │ ´ │ ` │ ≠ │ ¡ │ ˆ │ │ |
| 82 | #define IT_STRL LSFT(KC_3) // £ | 132 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
| 83 | #define IT_DLR LSFT(KC_4) // $ | 133 | * │ │ „ │ Ω │ € │ ® │ ™ │ Æ │ ¨ │ Œ │ Ø │ π │ [ │ ] │ ¶ │ |
| 84 | #define IT_PERC LSFT(KC_5) // % | 134 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ |
| 85 | #define IT_AMPR LSFT(KC_6) // & | 135 | * │ │ Å │ ß │ ∂ │ ƒ │ ∞ │ ∆ │ ª │ º │ ¬ │ @ │ # │ │ |
| 86 | #define IT_SLSH LSFT(KC_7) // / | 136 | * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤ |
| 87 | #define IT_LPRN LSFT(KC_8) // ( | 137 | * │ │ ∑ │ † │ © │ √ │ ∫ │ ˜ │ µ │ … │ • │ – │ │ |
| 88 | #define IT_RPRN LSFT(KC_9) // ) | 138 | * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ |
| 89 | #define IT_EQL LSFT(KC_0) // = | 139 | * │ │ │ │ │ │ │ │ |
| 90 | #define IT_DEGR LSFT(IT_AACC) // ° | 140 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ |
| 91 | #define IT_QST LSFT(IT_APOS) // ? | 141 | */ |
| 92 | #define IT_CRC LSFT(IT_IACC) // ^ | 142 | // Row 1 |
| 93 | #define IT_ASTR LSFT(IT_PLUS) // * | 143 | #define IT_LTEQ A(IT_LABK) // ≤ |
| 94 | #define IT_MORE LSFT(IT_LESS) // > | 144 | #define IT_LDAQ A(IT_1) // « |
| 95 | #define IT_COLN LSFT(IT_DOT) // : | 145 | #define IT_LDQU A(IT_2) // “ |
| 96 | #define IT_SCLN LSFT(IT_COMM) // ; | 146 | #define IT_LSQU A(IT_3) // ‘ |
| 97 | #define IT_UNDS LSFT(IT_MINS) // _ | 147 | #define IT_YEN A(IT_4) // ¥ |
| 98 | #define IT_LCBR LSFT(IT_LBRC) // { | 148 | #define IT_TILD A(IT_5) // ~ |
| 99 | #define IT_RCBR LSFT(IT_RBRC) // } | 149 | #define IT_LSAQ A(IT_6) // ‹ |
| 100 | #define IT_PIPE LSFT(IT_BSLS) // | | 150 | #define IT_DIV A(IT_7) // ÷ |
| 151 | #define IT_ACUT A(IT_8) // ´ (dead) | ||
| 152 | #define IT_DGRV A(IT_9) // ` (dead) | ||
| 153 | #define IT_NEQL A(IT_0) // ≠ | ||
| 154 | #define IT_IEXL A(IT_QUOT) // ¡ | ||
| 155 | #define IT_DCIR A(IT_IGRV) // ˆ (dead) | ||
| 156 | // Row 2 | ||
| 157 | #define IT_DLQU A(IT_Q) // „ | ||
| 158 | #define IT_OMEG A(IT_W) // Ω | ||
| 159 | #define IT_EURO A(IT_E) // € | ||
| 160 | #define IT_REGD A(IT_R) // ® | ||
| 161 | #define IT_TM A(IT_T) // ™ | ||
| 162 | #define IT_AE A(IT_Y) // Æ | ||
| 163 | #define IT_DIAE A(IT_U) // ¨ (dead) | ||
| 164 | #define IT_OE A(IT_I) // Œ | ||
| 165 | #define IT_OSTR A(IT_O) // Ø | ||
| 166 | #define IT_PI A(IT_P) // π | ||
| 167 | #define IT_LBRC A(IT_EGRV) // [ | ||
| 168 | #define IT_RBRC A(IT_PLUS) // ] | ||
| 169 | // Row 3 | ||
| 170 | #define IT_ARNG A(IT_A) // Å | ||
| 171 | #define IT_SS A(IT_S) // ß | ||
| 172 | #define IT_PDIF A(IT_D) // ∂ | ||
| 173 | #define IT_FHK A(IT_F) // ƒ | ||
| 174 | #define IT_INFN A(IT_G) // ∞ | ||
| 175 | #define IT_INCR A(IT_H) // ∆ | ||
| 176 | #define IT_FORD A(IT_J) // ª | ||
| 177 | #define IT_MORD A(IT_K) // º | ||
| 178 | #define IT_NOT A(IT_L) // ¬ | ||
| 179 | #define IT_AT A(IT_OGRV) // @ | ||
| 180 | #define IT_HASH A(IT_AGRV) // # | ||
| 181 | #define IT_PILC A(IT_UGRV) // ¶ | ||
| 182 | // Row 4 | ||
| 183 | #define IT_GRV A(IT_BSLS) // ` (not physically present) | ||
| 184 | #define IT_NARS A(IT_Z) // ∑ | ||
| 185 | #define IT_DAGG A(IT_X) // † | ||
| 186 | #define IT_COPY A(IT_C) // © | ||
| 187 | #define IT_SQRT A(IT_V) // √ | ||
| 188 | #define IT_INTG A(IT_B) // ∫ | ||
| 189 | #define IT_STIL A(IT_N) // ˜ (dead) | ||
| 190 | #define IT_MICR A(IT_M) // µ | ||
| 191 | #define IT_ELLP A(IT_COMM) // … | ||
| 192 | #define IT_BULT A(IT_DOT) // • | ||
| 193 | #define IT_NDSH A(IT_MINS) // – | ||
| 101 | 194 | ||
| 102 | // Alt -ed characters | 195 | /* Shift+Alted symbols |
| 103 | #define IT_LBRC LALT(IT_EACC) // [ | 196 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 104 | #define IT_RBRC LALT(IT_PLUS) // ] | 197 | * │ ≥ │ » │ ” │ ’ │ ¢ │ ‰ │ › │ ⁄ │ │ │ ≈ │ ¿ │ ± │ │ |
| 105 | #define IT_AT LALT(IT_OACC) // @ | 198 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
| 106 | #define IT_EURO LALT(KC_E) // € | 199 | * │ │ ‚ │ À │ È │ Ì │ Ò │ │ Ù │ │ │ ∏ │ { │ } │ ◊ │ |
| 107 | #define IT_SHRP LALT(IT_AACC) // # | 200 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ |
| 108 | #define IT_ACUT LALT(KC_8) // ´ | 201 | * │ │ │ ¯ │ ˘ │ ˙ │ ˚ │ ¸ │ ˝ │ ˛ │ ˇ │ Ç │ ∞ │ │ |
| 109 | #define IT_GRAVE LALT(KC_9) // ` | 202 | * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤ |
| 110 | #define IT_TILDE LALT(KC_5) // ~ | 203 | * │ │ │ ‡ │ Á │ É │ Í │ Ó │ Ú │ │ · │ — │ │ |
| 111 | #define IT_PLMN LALT(LSFT(IT_IACC)) // ± | 204 | * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ |
| 205 | * │ │ │ │ │ │ │ │ | ||
| 206 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
| 207 | */ | ||
| 208 | // Row 1 | ||
| 209 | #define IT_GTEQ S(A(IT_LABK)) // ≥ | ||
| 210 | #define IT_RDAQ S(A(IT_1)) // » | ||
| 211 | #define IT_RDQU S(A(IT_2)) // ” | ||
| 212 | #define IT_RSQU S(A(IT_3)) // ’ | ||
| 213 | #define IT_CENT S(A(IT_4)) // ¢ | ||
| 214 | #define IT_PERM S(A(IT_5)) // ‰ | ||
| 215 | #define IT_RSAQ S(A(IT_6)) // › | ||
| 216 | #define IT_FRSL S(A(IT_7)) // ⁄ | ||
| 217 | #define IT_APPL S(A(IT_8)) // (Apple logo) | ||
| 218 | #define IT_AEQL S(A(IT_0)) // ≈ | ||
| 219 | #define IT_IQUE S(A(IT_QUOT)) // ¿ | ||
| 220 | #define IT_PLMN S(A(IT_IGRV)) // ± | ||
| 221 | // Row 2 | ||
| 222 | #define IT_SLQU S(A(IT_Q)) // ‚ | ||
| 223 | #define IT_CAGR S(A(IT_W)) // À | ||
| 224 | #define IT_CEGR S(A(IT_E)) // È | ||
| 225 | #define IT_CIGR S(A(IT_R)) // Ì | ||
| 226 | #define IT_COGR S(A(IT_T)) // Ò | ||
| 227 | #define IT_CUGR S(A(IT_U)) // Ù | ||
| 228 | #define IT_NARP S(A(IT_P)) // ∏ | ||
| 229 | #define IT_LCBR S(A(IT_EGRV)) // { | ||
| 230 | #define IT_RCBR S(A(IT_PLUS)) // } | ||
| 231 | #define IT_LOZN S(A(IT_UGRV)) // ◊ | ||
| 232 | // Row 3 | ||
| 233 | #define IT_MACR S(A(IT_S)) // ¯ | ||
| 234 | #define IT_BREV S(A(IT_D)) // ˘ | ||
| 235 | #define IT_DOTA S(A(IT_F)) // ˙ | ||
| 236 | #define IT_RGNA S(A(IT_G)) // ˚ | ||
| 237 | #define IT_CEDL S(A(IT_H)) // ¸ | ||
| 238 | #define IT_DACU S(A(IT_J)) // ˝ | ||
| 239 | #define IT_OGON S(A(IT_K)) // ˛ | ||
| 240 | #define IT_CARN S(A(IT_L)) // ˇ | ||
| 241 | #define IT_CCCE S(A(IT_OGRV)) // Ç | ||
| 242 | // Row 4 | ||
| 243 | #define IT_DDAG S(A(IT_X)) // ‡ | ||
| 244 | #define IT_CAAC S(A(IT_C)) // Á | ||
| 245 | #define IT_CEAC S(A(IT_V)) // É | ||
| 246 | #define IT_CIAC S(A(IT_B)) // Í | ||
| 247 | #define IT_COAC S(A(IT_N)) // Ó | ||
| 248 | #define IT_CUAC S(A(IT_M)) // Ú | ||
| 249 | #define IT_MDDT S(A(IT_DOT)) // · | ||
| 250 | #define IT_MDSH S(A(IT_MINS)) // — | ||
| 112 | 251 | ||
| 113 | #endif | 252 | // DEPRECATED |
| 253 | #define IT_LESS IT_LABK | ||
| 254 | #define IT_APOS IT_QUOT | ||
| 255 | #define IT_IACC IT_IGRV | ||
| 256 | #define IT_EACC IT_EGRV | ||
| 257 | #define IT_UACC IT_UGRV | ||
| 258 | #define IT_OACC IT_OGRV | ||
| 259 | #define IT_AACC IT_AGRV | ||
| 260 | #define IT_MORE IT_RABK | ||
| 261 | #define IT_DQOT IT_DQUO | ||
| 262 | #define IT_STRL IT_PND | ||
| 263 | #define IT_QST IT_QUES | ||
| 264 | #define IT_CRC IT_CIRC | ||
| 265 | #define IT_DEGR IT_DEG | ||
| 266 | #define IT_TILDE IT_TILD | ||
| 267 | #define IT_GRAVE IT_GRV | ||
| 268 | #define IT_SHRP IT_HASH | ||
diff --git a/quantum/keymap_extras/keymap_italian_osx_iso.h b/quantum/keymap_extras/keymap_italian_osx_iso.h index a9b36f16e..5ed1e3abd 100644 --- a/quantum/keymap_extras/keymap_italian_osx_iso.h +++ b/quantum/keymap_extras/keymap_italian_osx_iso.h | |||
| @@ -14,100 +14,256 @@ | |||
| 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 | 16 | ||
| 17 | // This is a clone of quantum/keymap_extra/keymap_italian.h intended to be used with Apple devices | 17 | #pragma once |
| 18 | |||
| 19 | #ifndef KEYMAP_ITALIAN | ||
| 20 | #define KEYMAP_ITALIAN | ||
| 21 | 18 | ||
| 22 | #include "keymap.h" | 19 | #include "keymap.h" |
| 23 | 20 | ||
| 24 | // normal characters | 21 | // clang-format off |
| 25 | #define IT_A KC_A | ||
| 26 | #define IT_B KC_B | ||
| 27 | #define IT_C KC_C | ||
| 28 | #define IT_D KC_D | ||
| 29 | #define IT_E KC_E | ||
| 30 | #define IT_F KC_F | ||
| 31 | #define IT_G KC_G | ||
| 32 | #define IT_H KC_H | ||
| 33 | #define IT_I KC_I | ||
| 34 | #define IT_J KC_J | ||
| 35 | #define IT_K KC_K | ||
| 36 | #define IT_L KC_L | ||
| 37 | #define IT_M KC_M | ||
| 38 | #define IT_N KC_N | ||
| 39 | #define IT_O KC_O | ||
| 40 | #define IT_P KC_P | ||
| 41 | #define IT_Q KC_Q | ||
| 42 | #define IT_R KC_R | ||
| 43 | #define IT_S KC_S | ||
| 44 | #define IT_T KC_T | ||
| 45 | #define IT_U KC_U | ||
| 46 | #define IT_V KC_V | ||
| 47 | #define IT_W KC_W | ||
| 48 | #define IT_X KC_X | ||
| 49 | #define IT_Y KC_Y | ||
| 50 | #define IT_Z KC_Z | ||
| 51 | |||
| 52 | #define IT_0 KC_0 | ||
| 53 | #define IT_1 KC_1 | ||
| 54 | #define IT_2 KC_2 | ||
| 55 | #define IT_3 KC_3 | ||
| 56 | #define IT_4 KC_4 | ||
| 57 | #define IT_5 KC_5 | ||
| 58 | #define IT_6 KC_6 | ||
| 59 | #define IT_7 KC_7 | ||
| 60 | #define IT_8 KC_8 | ||
| 61 | #define IT_9 KC_9 | ||
| 62 | 22 | ||
| 63 | // punctuation | 23 | /* |
| 64 | #define IT_DOT KC_DOT // . and : | 24 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 65 | #define IT_COMM KC_COMM // , and ; | 25 | * │ \ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │ |
| 66 | #define IT_APOS KC_MINS // ' and ? | 26 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
| 67 | #define IT_BSLS KC_GRV // \ and | | 27 | * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ │ |
| 68 | #define IT_LESS KC_NUBS // < and > | 28 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 69 | #define IT_MINS KC_SLSH // - and _ | 29 | * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ ù │ │ |
| 30 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
| 31 | * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │ | ||
| 32 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
| 33 | * │ │ │ │ │ │ │ │ | ||
| 34 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
| 35 | */ | ||
| 36 | // Row 1 | ||
| 37 | #define IT_BSLS KC_GRV // (backslash) | ||
| 38 | #define IT_1 KC_1 // 1 | ||
| 39 | #define IT_2 KC_2 // 2 | ||
| 40 | #define IT_3 KC_3 // 3 | ||
| 41 | #define IT_4 KC_4 // 4 | ||
| 42 | #define IT_5 KC_5 // 5 | ||
| 43 | #define IT_6 KC_6 // 6 | ||
| 44 | #define IT_7 KC_7 // 7 | ||
| 45 | #define IT_8 KC_8 // 8 | ||
| 46 | #define IT_9 KC_9 // 9 | ||
| 47 | #define IT_0 KC_0 // 0 | ||
| 48 | #define IT_QUOT KC_MINS // ' | ||
| 49 | #define IT_IGRV KC_EQL // ì | ||
| 50 | // Row 2 | ||
| 51 | #define IT_Q KC_Q // Q | ||
| 52 | #define IT_W KC_W // W | ||
| 53 | #define IT_E KC_E // E | ||
| 54 | #define IT_R KC_R // R | ||
| 55 | #define IT_T KC_T // T | ||
| 56 | #define IT_Y KC_Y // Y | ||
| 57 | #define IT_U KC_U // U | ||
| 58 | #define IT_I KC_I // I | ||
| 59 | #define IT_O KC_O // O | ||
| 60 | #define IT_P KC_P // P | ||
| 61 | #define IT_EGRV KC_LBRC // è | ||
| 62 | #define IT_PLUS KC_RBRC // + | ||
| 63 | // Row 3 | ||
| 64 | #define IT_A KC_A // A | ||
| 65 | #define IT_S KC_S // S | ||
| 66 | #define IT_D KC_D // D | ||
| 67 | #define IT_F KC_F // F | ||
| 68 | #define IT_G KC_G // G | ||
| 69 | #define IT_H KC_H // H | ||
| 70 | #define IT_J KC_J // J | ||
| 71 | #define IT_K KC_K // K | ||
| 72 | #define IT_L KC_L // L | ||
| 73 | #define IT_OGRV KC_SCLN // ò | ||
| 74 | #define IT_AGRV KC_QUOT // à | ||
| 75 | #define IT_UGRV KC_NUHS // ù | ||
| 76 | // Row 4 | ||
| 77 | #define IT_LABK KC_NUBS // < | ||
| 78 | #define IT_Z KC_Z // Z | ||
| 79 | #define IT_X KC_X // X | ||
| 80 | #define IT_C KC_C // C | ||
| 81 | #define IT_V KC_V // V | ||
| 82 | #define IT_B KC_B // B | ||
| 83 | #define IT_N KC_N // N | ||
| 84 | #define IT_M KC_M // M | ||
| 85 | #define IT_COMM KC_COMM // , | ||
| 86 | #define IT_DOT KC_DOT // . | ||
| 87 | #define IT_MINS KC_SLSH // - | ||
| 70 | 88 | ||
| 71 | // accented vowels (regular, with shift, with option, with option and shift) | 89 | /* Shifted symbols |
| 72 | #define IT_EACC KC_LBRC // è, é, [, { | 90 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 73 | #define IT_PLUS KC_RBRC // +, *, ], } | 91 | * │ | │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │ |
| 74 | #define IT_OACC KC_SCLN // ò, ç, @, Ç | 92 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
| 75 | #define IT_AACC KC_QUOT // à, °, #, ∞ | 93 | * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ │ |
| 76 | #define IT_UACC KC_BSLS // ù, §, ¶, ◊ | 94 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 77 | #define IT_IACC KC_EQL // ì, ^, ˆ, ± | 95 | * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ § │ │ |
| 96 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
| 97 | * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │ | ||
| 98 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
| 99 | * │ │ │ │ │ │ │ │ | ||
| 100 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
| 101 | */ | ||
| 102 | // Row 1 | ||
| 103 | #define IT_PIPE S(IT_BSLS) // | | ||
| 104 | #define IT_EXLM S(IT_1) // ! | ||
| 105 | #define IT_DQUO S(IT_2) // " | ||
| 106 | #define IT_PND S(IT_3) // £ | ||
| 107 | #define IT_DLR S(IT_4) // $ | ||
| 108 | #define IT_PERC S(IT_5) // % | ||
| 109 | #define IT_AMPR S(IT_6) // & | ||
| 110 | #define IT_SLSH S(IT_7) // / | ||
| 111 | #define IT_LPRN S(IT_8) // ( | ||
| 112 | #define IT_RPRN S(IT_9) // ) | ||
| 113 | #define IT_EQL S(IT_0) // = | ||
| 114 | #define IT_QUES S(IT_QUOT) // ? | ||
| 115 | #define IT_CIRC S(IT_IGRV) // ^ | ||
| 116 | // Row 2 | ||
| 117 | #define IT_EACU S(IT_EGRV) // é | ||
| 118 | #define IT_ASTR S(IT_PLUS) // * | ||
| 119 | // Row 3 | ||
| 120 | #define IT_LCCE S(IT_OGRV) // ç | ||
| 121 | #define IT_DEG S(IT_AGRV) // ° | ||
| 122 | #define IT_SECT S(IT_UGRV) // § | ||
| 123 | // Row 4 | ||
| 124 | #define IT_RABK S(IT_LABK) // > | ||
| 125 | #define IT_SCLN S(IT_COMM) // ; | ||
| 126 | #define IT_COLN S(IT_DOT) // : | ||
| 127 | #define IT_UNDS S(IT_MINS) // _ | ||
| 78 | 128 | ||
| 79 | // shifted characters | 129 | /* Alted symbols |
| 80 | #define IT_EXLM LSFT(KC_1) // ! | 130 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 81 | #define IT_DQOT LSFT(KC_2) // " | 131 | * │ ` │ « │ “ │ ‘ │ ¥ │ ~ │ ‹ │ ÷ │ ´ │ ` │ ≠ │ ¡ │ ˆ │ │ |
| 82 | #define IT_STRL LSFT(KC_3) // £ | 132 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
| 83 | #define IT_DLR LSFT(KC_4) // $ | 133 | * │ │ „ │ Ω │ € │ ® │ ™ │ Æ │ ¨ │ Œ │ Ø │ π │ [ │ ] │ │ |
| 84 | #define IT_PERC LSFT(KC_5) // % | 134 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 85 | #define IT_AMPR LSFT(KC_6) // & | 135 | * │ │ Å │ ß │ ∂ │ ƒ │ ∞ │ ∆ │ ª │ º │ ¬ │ @ │ # │ ¶ │ │ |
| 86 | #define IT_SLSH LSFT(KC_7) // / | 136 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ |
| 87 | #define IT_LPRN LSFT(KC_8) // ( | 137 | * │ │ ≤ │ ∑ │ † │ © │ √ │ ∫ │ ˜ │ µ │ … │ • │ – │ │ |
| 88 | #define IT_RPRN LSFT(KC_9) // ) | 138 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ |
| 89 | #define IT_EQL LSFT(KC_0) // = | 139 | * │ │ │ │ │ │ │ │ |
| 90 | #define IT_DEGR LSFT(IT_AACC) // ° | 140 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ |
| 91 | #define IT_QST LSFT(IT_APOS) // ? | 141 | */ |
| 92 | #define IT_CRC LSFT(IT_IACC) // ^ | 142 | // Row 1 |
| 93 | #define IT_ASTR LSFT(IT_PLUS) // * | 143 | #define IT_GRV A(IT_BSLS) // ` |
| 94 | #define IT_MORE LSFT(IT_LESS) // > | 144 | #define IT_LDAQ A(IT_1) // « |
| 95 | #define IT_COLN LSFT(IT_DOT) // : | 145 | #define IT_LDQU A(IT_2) // “ |
| 96 | #define IT_SCLN LSFT(IT_COMM) // ; | 146 | #define IT_LSQU A(IT_3) // ‘ |
| 97 | #define IT_UNDS LSFT(IT_MINS) // _ | 147 | #define IT_YEN A(IT_4) // ¥ |
| 98 | #define IT_LCBR LSFT(IT_LBRC) // { | 148 | #define IT_TILD A(IT_5) // ~ |
| 99 | #define IT_RCBR LSFT(IT_RBRC) // } | 149 | #define IT_LSAQ A(IT_6) // ‹ |
| 100 | #define IT_PIPE LSFT(IT_BSLS) // | | 150 | #define IT_DIV A(IT_7) // ÷ |
| 151 | #define IT_ACUT A(IT_8) // ´ (dead) | ||
| 152 | #define IT_DGRV A(IT_9) // ` (dead) | ||
| 153 | #define IT_NEQL A(IT_0) // ≠ | ||
| 154 | #define IT_IEXL A(IT_QUOT) // ¡ | ||
| 155 | #define IT_DCIR A(IT_IGRV) // ˆ (dead) | ||
| 156 | // Row 2 | ||
| 157 | #define IT_DLQU A(IT_Q) // „ | ||
| 158 | #define IT_OMEG A(IT_W) // Ω | ||
| 159 | #define IT_EURO A(IT_E) // € | ||
| 160 | #define IT_REGD A(IT_R) // ® | ||
| 161 | #define IT_TM A(IT_T) // ™ | ||
| 162 | #define IT_AE A(IT_Y) // Æ | ||
| 163 | #define IT_DIAE A(IT_U) // ¨ (dead) | ||
| 164 | #define IT_OE A(IT_I) // Œ | ||
| 165 | #define IT_OSTR A(IT_O) // Ø | ||
| 166 | #define IT_PI A(IT_P) // π | ||
| 167 | #define IT_LBRC A(IT_EGRV) // [ | ||
| 168 | #define IT_RBRC A(IT_PLUS) // ] | ||
| 169 | // Row 3 | ||
| 170 | #define IT_ARNG A(IT_A) // Å | ||
| 171 | #define IT_SS A(IT_S) // ß | ||
| 172 | #define IT_PDIF A(IT_D) // ∂ | ||
| 173 | #define IT_FHK A(IT_F) // ƒ | ||
| 174 | #define IT_INFN A(IT_G) // ∞ | ||
| 175 | #define IT_INCR A(IT_H) // ∆ | ||
| 176 | #define IT_FORD A(IT_J) // ª | ||
| 177 | #define IT_MORD A(IT_K) // º | ||
| 178 | #define IT_NOT A(IT_L) // ¬ | ||
| 179 | #define IT_AT A(IT_OGRV) // @ | ||
| 180 | #define IT_HASH A(IT_AGRV) // # | ||
| 181 | #define IT_PILC A(IT_UGRV) // ¶ | ||
| 182 | // Row 4 | ||
| 183 | #define IT_LTEQ A(IT_LABK) // ≤ | ||
| 184 | #define IT_NARS A(IT_Z) // ∑ | ||
| 185 | #define IT_DAGG A(IT_X) // † | ||
| 186 | #define IT_COPY A(IT_C) // © | ||
| 187 | #define IT_SQRT A(IT_V) // √ | ||
| 188 | #define IT_INTG A(IT_B) // ∫ | ||
| 189 | #define IT_STIL A(IT_N) // ˜ (dead) | ||
| 190 | #define IT_MICR A(IT_M) // µ | ||
| 191 | #define IT_ELLP A(IT_COMM) // … | ||
| 192 | #define IT_BULT A(IT_DOT) // • | ||
| 193 | #define IT_NDSH A(IT_MINS) // – | ||
| 101 | 194 | ||
| 102 | // Alt -ed characters | 195 | /* Shift+Alted symbols |
| 103 | #define IT_LBRC LALT(IT_EACC) // [ | 196 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
| 104 | #define IT_RBRC LALT(IT_PLUS) // ] | 197 | * │ ı │ » │ ” │ ’ │ ¢ │ ‰ │ › │ ⁄ │ │ │ ≈ │ ¿ │ ± │ │ |
| 105 | #define IT_AT LALT(IT_OACC) // @ | 198 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
| 106 | #define IT_EURO LALT(KC_E) // € | 199 | * │ │ ‚ │ À │ È │ Ì │ Ò │ │ Ù │ │ │ ∏ │ { │ } │ │ |
| 107 | #define IT_SHRP LALT(IT_AACC) // # | 200 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
| 108 | #define IT_ACUT LALT(KC_8) // ´ | 201 | * │ │ │ ¯ │ ˘ │ ˙ │ ˚ │ ¸ │ ˝ │ ˛ │ ˇ │ Ç │ │ ◊ │ │ |
| 109 | #define IT_GRAVE LALT(KC_9) // ` | 202 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ |
| 110 | #define IT_TILDE LALT(KC_5) // ~ | 203 | * │ │ ≥ │ │ ‡ │ Á │ É │ Í │ Ó │ Ú │ │ · │ — │ │ |
| 111 | #define IT_PLMN LALT(LSFT(IT_IACC)) // ± | 204 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ |
| 205 | * │ │ │ │ │ │ │ │ | ||
| 206 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
| 207 | */ | ||
| 208 | // Row 1 | ||
| 209 | #define IT_DLSI S(A(IT_BSLS)) // ı | ||
| 210 | #define IT_RDAQ S(A(IT_1)) // » | ||
| 211 | #define IT_RDQU S(A(IT_2)) // ” | ||
| 212 | #define IT_RSQU S(A(IT_3)) // ’ | ||
| 213 | #define IT_CENT S(A(IT_4)) // ¢ | ||
| 214 | #define IT_PERM S(A(IT_5)) // ‰ | ||
| 215 | #define IT_RSAQ S(A(IT_6)) // › | ||
| 216 | #define IT_FRSL S(A(IT_7)) // ⁄ | ||
| 217 | #define IT_APPL S(A(IT_8)) // (Apple logo) | ||
| 218 | #define IT_AEQL S(A(IT_0)) // ≈ | ||
| 219 | #define IT_IQUE S(A(IT_QUOT)) // ¿ | ||
| 220 | #define IT_PLMN S(A(IT_IGRV)) // ± | ||
| 221 | // Row 2 | ||
| 222 | #define IT_SLQU S(A(IT_Q)) // ‚ | ||
| 223 | #define IT_CAGR S(A(IT_W)) // À | ||
| 224 | #define IT_CEGR S(A(IT_E)) // È | ||
| 225 | #define IT_CIGR S(A(IT_R)) // Ì | ||
| 226 | #define IT_COGR S(A(IT_T)) // Ò | ||
| 227 | #define IT_CUGR S(A(IT_U)) // Ù | ||
| 228 | #define IT_NARP S(A(IT_P)) // ∏ | ||
| 229 | #define IT_LCBR S(A(IT_EGRV)) // { | ||
| 230 | #define IT_RCBR S(A(IT_PLUS)) // } | ||
| 231 | // Row 3 | ||
| 232 | #define IT_MACR S(A(IT_S)) // ¯ | ||
| 233 | #define IT_BREV S(A(IT_D)) // ˘ | ||
| 234 | #define IT_DOTA S(A(IT_F)) // ˙ | ||
| 235 | #define IT_RNGA S(A(IT_G)) // ˚ | ||
| 236 | #define IT_CEDL S(A(IT_H)) // ¸ | ||
| 237 | #define IT_DACU S(A(IT_J)) // ˝ | ||
| 238 | #define IT_OGON S(A(IT_K)) // ˛ | ||
| 239 | #define IT_CARN S(A(IT_L)) // ˇ | ||
| 240 | #define IT_CCCE S(A(IT_OGRV)) // Ç | ||
| 241 | #define IT_LOZN S(A(IT_UGRV)) // ◊ | ||
| 242 | // Row 4 | ||
| 243 | #define IT_GTEQ S(A(IT_LABK)) // ≥ | ||
| 244 | #define IT_DDAG S(A(IT_X)) // ‡ | ||
| 245 | #define IT_CAAC S(A(IT_C)) // Á | ||
| 246 | #define IT_CEAC S(A(IT_V)) // É | ||
| 247 | #define IT_CIAC S(A(IT_B)) // Í | ||
| 248 | #define IT_COAC S(A(IT_N)) // Ó | ||
| 249 | #define IT_CUAC S(A(IT_M)) // Ú | ||
| 250 | #define IT_MDDT S(A(IT_DOT)) // · | ||
| 251 | #define IT_MDSH S(A(IT_MINS)) // — | ||
| 112 | 252 | ||
| 113 | #endif | 253 | // DEPRECATED |
| 254 | #define IT_APOS IT_QUOT | ||
| 255 | #define IT_IACC IT_IGRV | ||
| 256 | #define IT_EACC IT_EGRV | ||
| 257 | #define IT_OACC IT_OGRV | ||
| 258 | #define IT_AACC IT_AGRV | ||
| 259 | #define IT_UACC IT_UGRV | ||
| 260 | #define IT_LESS IT_LABK | ||
| 261 | #define IT_DQOT IT_DQUO | ||
| 262 | #define IT_STRL IT_PND | ||
| 263 | #define IT_QST IT_QUES | ||
| 264 | #define IT_CRC IT_CIRC | ||
| 265 | #define IT_DEGR IT_DEG | ||
| 266 | #define IT_MORE IT_RABK | ||
| 267 | #define IT_TILDE IT_TILD | ||
| 268 | #define IT_GRAVE IT_GRV | ||
| 269 | #define IT_SHRP IT_HASH | ||
diff --git a/quantum/keymap_extras/keymap_spanish_dvorak.h b/quantum/keymap_extras/keymap_spanish_dvorak.h new file mode 100644 index 000000000..3b8bd5df9 --- /dev/null +++ b/quantum/keymap_extras/keymap_spanish_dvorak.h | |||
| @@ -0,0 +1,151 @@ | |||
| 1 | /* Copyright 2020 José Andrés García | ||
| 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 | #pragma once | ||
| 18 | |||
| 19 | #include "keymap.h" | ||
| 20 | |||
| 21 | /* | ||
| 22 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ | ||
| 23 | * │ º │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ¡ │ │ | ||
| 24 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ | ||
| 25 | * │ │ . │ , │ Ñ │ P │ Y │ F │ G │ C │ H │ L │ ` │ + │ │ | ||
| 26 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
| 27 | * │ │ A │ O │ E │ U │ I │ D │ R │ T │ N │ S │ ' │ Ç │ │ | ||
| 28 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ | ||
| 29 | * │ │ < │ - │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │ | ||
| 30 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ | ||
| 31 | * │ │ │ │ │ │ │ │ │ | ||
| 32 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
| 33 | */ | ||
| 34 | // Row 1 | ||
| 35 | #define DV_MORD KC_GRV // º | ||
| 36 | #define DV_1 KC_1 // 1 | ||
| 37 | #define DV_2 KC_2 // 2 | ||
| 38 | #define DV_3 KC_3 // 3 | ||
| 39 | #define DV_4 KC_4 // 4 | ||
| 40 | #define DV_5 KC_5 // 5 | ||
| 41 | #define DV_6 KC_6 // 6 | ||
| 42 | #define DV_7 KC_7 // 7 | ||
| 43 | #define DV_8 KC_8 // 8 | ||
| 44 | #define DV_9 KC_9 // 9 | ||
| 45 | #define DV_0 KC_0 // 0 | ||
| 46 | #define DV_QUOT KC_MINS // ' | ||
| 47 | #define DV_IEXL KC_EQL // ¡ | ||
| 48 | // Row 2 | ||
| 49 | #define DV_DOT KC_Q // . | ||
| 50 | #define DV_COMM KC_W // , | ||
| 51 | #define DV_NTIL KC_E // Ñ | ||
| 52 | #define DV_P KC_R // P | ||
| 53 | #define DV_Y KC_T // Y | ||
| 54 | #define DV_F KC_Y // F | ||
| 55 | #define DV_G KC_U // G | ||
| 56 | #define DV_C KC_I // C | ||
| 57 | #define DV_H KC_O // H | ||
| 58 | #define DV_L KC_P // L | ||
| 59 | #define DV_GRV KC_LBRC // ` (dead) | ||
| 60 | #define DV_PLUS KC_RBRC // + | ||
| 61 | // Row 3 | ||
| 62 | #define DV_A KC_A // A | ||
| 63 | #define DV_O KC_S // O | ||
| 64 | #define DV_E KC_D // E | ||
| 65 | #define DV_U KC_F // U | ||
| 66 | #define DV_I KC_G // I | ||
| 67 | #define DV_D KC_H // D | ||
| 68 | #define DV_R KC_J // R | ||
| 69 | #define DV_T KC_K // T | ||
| 70 | #define DV_N KC_L // N | ||
| 71 | #define DV_S KC_SCLN // S | ||
| 72 | #define DV_ACUT KC_QUOT // ´ (dead) | ||
| 73 | #define DV_CCED KC_NUHS // Ç | ||
| 74 | // Row 4 | ||
| 75 | #define DV_LABK KC_NUBS // < | ||
| 76 | #define DV_MINS KC_Z // - | ||
| 77 | #define DV_Q KC_X // Q | ||
| 78 | #define DV_J KC_C // J | ||
| 79 | #define DV_K KC_V // K | ||
| 80 | #define DV_X KC_B // X | ||
| 81 | #define DV_B KC_N // B | ||
| 82 | #define DV_M KC_M // M | ||
| 83 | #define DV_W KC_COMM // W | ||
| 84 | #define DV_V KC_DOT // V | ||
| 85 | #define DV_Z KC_SLSH // Z | ||
| 86 | |||
| 87 | /* Shifted symbols | ||
| 88 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ | ||
| 89 | * │ ª │ ! │ " │ · │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ¿ │ │ | ||
| 90 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ | ||
| 91 | * │ │ : │ ; │ │ │ │ │ │ │ │ │ ^ │ * │ │ | ||
| 92 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
| 93 | * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │ | ||
| 94 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ | ||
| 95 | * │ │ > │ _ │ │ │ │ │ │ │ │ │ │ │ | ||
| 96 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ | ||
| 97 | * │ │ │ │ │ │ │ │ │ | ||
| 98 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
| 99 | */ | ||
| 100 | // Row 1 | ||
| 101 | #define DV_FORD S(DV_MORD) // ª | ||
| 102 | #define DV_EXLM S(DV_1) // ! | ||
| 103 | #define DV_DQUO S(DV_2) // " | ||
| 104 | #define DV_BULT S(DV_3) // · | ||
| 105 | #define DV_DLR S(DV_4) // $ | ||
| 106 | #define DV_PERC S(DV_5) // % | ||
| 107 | #define DV_AMPR S(DV_6) // & | ||
| 108 | #define DV_SLSH S(DV_7) // / | ||
| 109 | #define DV_LPRN S(DV_8) // ( | ||
| 110 | #define DV_RPRN S(DV_9) // ) | ||
| 111 | #define DV_EQL S(DV_0) // = | ||
| 112 | #define DV_QUES S(DV_QUOT) // ? | ||
| 113 | #define DV_IQUE S(DV_IEXL) // ¿ | ||
| 114 | // Row 2 | ||
| 115 | #define DV_COLN S(KC_DOT) // : | ||
| 116 | #define DV_SCLN S(KC_COMM) // ; | ||
| 117 | #define DV_CIRC S(DV_GRV) // ^ (dead) | ||
| 118 | #define DV_ASTR S(DV_PLUS) // * | ||
| 119 | // Row 3 | ||
| 120 | #define DV_DIAE S(DV_GRV) // ¨ (dead) | ||
| 121 | // Row 4 | ||
| 122 | #define DV_RABK S(DV_LABK) // > | ||
| 123 | #define DV_UNDS S(DV_MINS) // _ | ||
| 124 | |||
| 125 | /* AltGr symbols | ||
| 126 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ | ||
| 127 | * │ \ │ | │ @ │ # │ ~ │ € │ ¬ │ │ │ │ │ │ │ │ | ||
| 128 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ | ||
| 129 | * │ │ │ │ │ │ │ │ │ │ │ │ [ │ ] │ │ | ||
| 130 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
| 131 | * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │ | ||
| 132 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ | ||
| 133 | * │ │ │ │ │ │ │ │ │ │ │ │ │ │ | ||
| 134 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ | ||
| 135 | * │ │ │ │ │ │ │ │ │ | ||
| 136 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
| 137 | */ | ||
| 138 | // Row 1 | ||
| 139 | #define DV_BSLS ALGR(DV_MORD) // (backslash) | ||
| 140 | #define DV_PIPE ALGR(DV_1) // | | ||
| 141 | #define DV_AT ALGR(DV_2) // @ | ||
| 142 | #define DV_HASH ALGR(DV_3) // # | ||
| 143 | #define DV_TILD ALGR(DV_4) // ~ | ||
| 144 | #define DV_EURO ALGR(DV_5) // € | ||
| 145 | #define DV_NOT ALGR(DV_6) // ¬ | ||
| 146 | // Row 2 | ||
| 147 | #define DV_LBRC ALGR(DV_GRV) // [ | ||
| 148 | #define DV_RBRC ALGR(DV_PLUS) // ] | ||
| 149 | // Row 3 | ||
| 150 | #define DV_LCBR ALGR(DV_ACUT) // { | ||
| 151 | #define DV_RCBR ALGR(DV_CCED) // } | ||
diff --git a/quantum/keymap_extras/keymap_workman_zxcvm.h b/quantum/keymap_extras/keymap_workman_zxcvm.h new file mode 100644 index 000000000..4ba2ada9e --- /dev/null +++ b/quantum/keymap_extras/keymap_workman_zxcvm.h | |||
| @@ -0,0 +1,125 @@ | |||
| 1 | /* Copyright 2018 Jacob Jerrell | ||
| 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 | #pragma once | ||
| 18 | |||
| 19 | #include "keymap.h" | ||
| 20 | |||
| 21 | // clang-format off | ||
| 22 | |||
| 23 | /* | ||
| 24 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ | ||
| 25 | * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │ | ||
| 26 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ | ||
| 27 | * │ │ Q │ D │ R │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │ \ │ | ||
| 28 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ | ||
| 29 | * │ │ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │ │ | ||
| 30 | * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ | ||
| 31 | * │ │ Z │ X │ C │ V │ M │ K │ L │ , │ . │ / │ │ | ||
| 32 | * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ | ||
| 33 | * │ │ │ │ │ │ │ │ │ | ||
| 34 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
| 35 | */ | ||
| 36 | // Row 1 | ||
| 37 | #define WK_GRV KC_GRV // ` | ||
| 38 | #define WK_1 KC_1 // 1 | ||
| 39 | #define WK_2 KC_2 // 2 | ||
| 40 | #define WK_3 KC_3 // 3 | ||
| 41 | #define WK_4 KC_4 // 4 | ||
| 42 | #define WK_5 KC_5 // 5 | ||
| 43 | #define WK_6 KC_6 // 6 | ||
| 44 | #define WK_7 KC_7 // 7 | ||
| 45 | #define WK_8 KC_8 // 8 | ||
| 46 | #define WK_9 KC_9 // 9 | ||
| 47 | #define WK_0 KC_0 // 0 | ||
| 48 | #define WK_MINS KC_MINS // - | ||
| 49 | #define WK_EQL KC_EQL // = | ||
| 50 | // Row 2 | ||
| 51 | #define WK_Q KC_Q // Q | ||
| 52 | #define WK_D KC_W // D | ||
| 53 | #define WK_R KC_E // R | ||
| 54 | #define WK_W KC_R // W | ||
| 55 | #define WK_B KC_T // B | ||
| 56 | #define WK_J KC_Y // J | ||
| 57 | #define WK_F KC_U // F | ||
| 58 | #define WK_U KC_I // U | ||
| 59 | #define WK_P KC_O // P | ||
| 60 | #define WK_SCLN KC_P // ; | ||
| 61 | #define WK_LBRC KC_LBRC // [ | ||
| 62 | #define WK_RBRC KC_RBRC // ] | ||
| 63 | #define WK_BSLS KC_BSLS // (backslash) | ||
| 64 | // Row 3 | ||
| 65 | #define WK_A KC_A // A | ||
| 66 | #define WK_S KC_S // S | ||
| 67 | #define WK_H KC_D // H | ||
| 68 | #define WK_T KC_F // T | ||
| 69 | #define WK_G KC_G // G | ||
| 70 | #define WK_Y KC_H // Y | ||
| 71 | #define WK_N KC_J // N | ||
| 72 | #define WK_E KC_K // E | ||
| 73 | #define WK_O KC_L // O | ||
| 74 | #define WK_I KC_SCLN // I | ||
| 75 | #define WK_QUOT KC_QUOT // ' | ||
| 76 | // Row 4 | ||
| 77 | #define WK_Z KC_Z // Z | ||
| 78 | #define WK_X KC_X // X | ||
| 79 | #define WK_C KC_C // C | ||
| 80 | #define WK_V KC_V // V | ||
| 81 | #define WK_M KC_B // M | ||
| 82 | #define WK_K KC_N // K | ||
| 83 | #define WK_L KC_M // L | ||
| 84 | #define WK_COMM KC_COMM // , | ||
| 85 | #define WK_DOT KC_DOT // . | ||
| 86 | #define WK_SLSH KC_SLSH // / | ||
| 87 | |||
| 88 | /* Shifted symbols | ||
| 89 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ | ||
| 90 | * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ | ||
| 91 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ | ||
| 92 | * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │ | ||
| 93 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ | ||
| 94 | * │ │ │ │ │ │ │ │ │ │ │ │ " │ │ | ||
| 95 | * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ | ||
| 96 | * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │ | ||
| 97 | * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ | ||
| 98 | * │ │ │ │ │ │ │ │ │ | ||
| 99 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
| 100 | */ | ||
| 101 | // Row 1 | ||
| 102 | #define WK_TILD S(WK_GRV) // ~ | ||
| 103 | #define WK_EXLM S(WK_1) // ! | ||
| 104 | #define WK_AT S(WK_2) // @ | ||
| 105 | #define WK_HASH S(WK_3) // # | ||
| 106 | #define WK_DLR S(WK_4) // $ | ||
| 107 | #define WK_PERC S(WK_5) // % | ||
| 108 | #define WK_CIRC S(WK_6) // ^ | ||
| 109 | #define WK_AMPR S(WK_7) // & | ||
| 110 | #define WK_ASTR S(WK_8) // * | ||
| 111 | #define WK_LPRN S(WK_9) // ( | ||
| 112 | #define WK_RPRN S(WK_0) // ) | ||
| 113 | #define WK_UNDS S(WK_MINS) // _ | ||
| 114 | #define WK_PLUS S(WK_EQL) // + | ||
| 115 | // Row 2 | ||
| 116 | #define WK_COLN S(WK_SCLN) // : | ||
| 117 | #define WK_LCBR S(WK_LBRC) // { | ||
| 118 | #define WK_RCBR S(WK_RBRC) // } | ||
| 119 | #define WK_PIPE S(WK_BSLS) // | | ||
| 120 | // Row 3 | ||
| 121 | #define WK_DQUO S(WK_QUOT) // " | ||
| 122 | // Row 4 | ||
| 123 | #define WK_LABK S(WK_COMM) // < | ||
| 124 | #define WK_RABK S(WK_DOT) // > | ||
| 125 | #define WK_QUES S(WK_SLSH) // ? | ||
diff --git a/quantum/keymap_extras/sendstring_bepo.h b/quantum/keymap_extras/sendstring_bepo.h index 2dfe7e4a4..8119cd9f5 100644 --- a/quantum/keymap_extras/sendstring_bepo.h +++ b/quantum/keymap_extras/sendstring_bepo.h | |||
| @@ -74,13 +74,13 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = { | |||
| 74 | XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | 74 | XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, |
| 75 | 75 | ||
| 76 | // ! " # $ % & ' | 76 | // ! " # $ % & ' |
| 77 | KC_SPC, BP_DCRC, BP_DQOT, BP_DLR, BP_DLR, BP_PERC, BP_P, BP_APOS, | 77 | KC_SPC, BP_DCIR, BP_DQUO, BP_DLR, BP_DLR, BP_PERC, BP_P, BP_QUOT, |
| 78 | // ( ) * + , - . / | 78 | // ( ) * + , - . / |
| 79 | BP_LPRN, BP_RPRN, BP_ASTR, BP_PLUS, BP_COMM, BP_MINS, BP_DOT, BP_SLSH, | 79 | BP_LPRN, BP_RPRN, BP_ASTR, BP_PLUS, BP_COMM, BP_MINS, BP_DOT, BP_SLSH, |
| 80 | // 0 1 2 3 4 5 6 7 | 80 | // 0 1 2 3 4 5 6 7 |
| 81 | BP_ASTR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, | 81 | BP_ASTR, BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, |
| 82 | // 8 9 : ; < = > ? | 82 | // 8 9 : ; < = > ? |
| 83 | BP_MINS, BP_SLSH, BP_DOT, BP_COMM, BP_LGIL, BP_EQL, BP_RGIL, BP_APOS, | 83 | BP_MINS, BP_SLSH, BP_DOT, BP_COMM, BP_LDAQ, BP_EQL, BP_RDAQ, BP_QUOT, |
| 84 | // @ A B C D E F G | 84 | // @ A B C D E F G |
| 85 | BP_AT, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G, | 85 | BP_AT, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G, |
| 86 | // H I J K L M N O | 86 | // H I J K L M N O |
diff --git a/quantum/keymap_extras/sendstring_fr_ch.h b/quantum/keymap_extras/sendstring_fr_ch.h new file mode 100644 index 000000000..2acce5663 --- /dev/null +++ b/quantum/keymap_extras/sendstring_fr_ch.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 Swiss French layouts | ||
| 18 | |||
| 19 | #pragma once | ||
| 20 | |||
| 21 | #include "keymap_fr_ch.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, 0, 0, 1, 1, 0), | ||
| 33 | KCLUT_ENTRY(1, 1, 1, 1, 0, 0, 0, 1), | ||
| 34 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 35 | KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1), | ||
| 36 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 37 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 38 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 39 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 1), | ||
| 40 | KCLUT_ENTRY(1, 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, 1, 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, 0, 0, 0, 0), | ||
| 56 | KCLUT_ENTRY(1, 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, 1, 1, 0, 0), | ||
| 60 | KCLUT_ENTRY(0, 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, CH_DIAE, CH_2, CH_3, CH_DLR, CH_5, CH_6, CH_QUOT, | ||
| 78 | // ( ) * + , - . / | ||
| 79 | CH_8, CH_9, CH_3, CH_0, CH_COMM, CH_MINS, CH_DOT, CH_7, | ||
| 80 | // 0 1 2 3 4 5 6 7 | ||
| 81 | CH_0, CH_1, CH_2, CH_3, CH_4, CH_5, CH_6, CH_7, | ||
| 82 | // 8 9 : ; < = > ? | ||
| 83 | CH_8, CH_9, CH_DOT, CH_COMM, CH_LABK, CH_0, CH_LABK, CH_QUOT, | ||
| 84 | // @ A B C D E F G | ||
| 85 | CH_2, CH_A, CH_B, CH_C, CH_D, CH_E, CH_F, CH_G, | ||
| 86 | // H I J K L M N O | ||
| 87 | CH_H, CH_I, CH_J, CH_K, CH_L, CH_M, CH_N, CH_O, | ||
| 88 | // P Q R S T U V W | ||
| 89 | CH_P, CH_Q, CH_R, CH_S, CH_T, CH_U, CH_V, CH_W, | ||
| 90 | // X Y Z [ \ ] ^ _ | ||
| 91 | CH_X, CH_Y, CH_Z, CH_EGRV, CH_LABK, CH_DIAE, CH_CIRC, CH_MINS, | ||
| 92 | // ` a b c d e f g | ||
| 93 | CH_CIRC, CH_A, CH_B, CH_C, CH_D, CH_E, CH_F, CH_G, | ||
| 94 | // h i j k l m n o | ||
| 95 | CH_H, CH_I, CH_J, CH_K, CH_L, CH_M, CH_N, CH_O, | ||
| 96 | // p q r s t u v w | ||
| 97 | CH_P, CH_Q, CH_R, CH_S, CH_T, CH_U, CH_V, CH_W, | ||
| 98 | // x y z { | } ~ DEL | ||
| 99 | CH_X, CH_Y, CH_Z, CH_AGRV, CH_7, CH_DLR, CH_CIRC, KC_DEL | ||
| 100 | }; | ||
diff --git a/quantum/keymap_extras/sendstring_french.h b/quantum/keymap_extras/sendstring_french.h index a02f114b4..17ea3ed45 100644 --- a/quantum/keymap_extras/sendstring_french.h +++ b/quantum/keymap_extras/sendstring_french.h | |||
| @@ -74,7 +74,7 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = { | |||
| 74 | XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | 74 | XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, |
| 75 | 75 | ||
| 76 | // ! " # $ % & ' | 76 | // ! " # $ % & ' |
| 77 | KC_SPC, FR_EXLM, FR_QUOT, FR_DQUO, FR_DLR, FR_UGRV, FR_AMP, FR_QUOT, | 77 | KC_SPC, FR_EXLM, FR_QUOT, FR_DQUO, FR_DLR, FR_UGRV, FR_AMPR, FR_QUOT, |
| 78 | // ( ) * + , - . / | 78 | // ( ) * + , - . / |
| 79 | FR_LPRN, FR_RPRN, FR_ASTR, FR_EQL, FR_COMM, FR_MINS, FR_SCLN, FR_COLN, | 79 | FR_LPRN, FR_RPRN, FR_ASTR, FR_EQL, FR_COMM, FR_MINS, FR_SCLN, FR_COLN, |
| 80 | // 0 1 2 3 4 5 6 7 | 80 | // 0 1 2 3 4 5 6 7 |
diff --git a/quantum/keymap_extras/sendstring_french_osx.h b/quantum/keymap_extras/sendstring_french_osx.h new file mode 100644 index 000000000..6cadbac15 --- /dev/null +++ b/quantum/keymap_extras/sendstring_french_osx.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 macOS French (AZERTY) layouts | ||
| 18 | |||
| 19 | #pragma once | ||
| 20 | |||
| 21 | #include "keymap_french_osx.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, 0, 0, 1, 0, 1, 0, 0), | ||
| 33 | KCLUT_ENTRY(0, 0, 1, 1, 0, 0, 1, 1), | ||
| 34 | KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), | ||
| 35 | KCLUT_ENTRY(1, 1, 0, 0, 0, 0, 1, 1), | ||
| 36 | KCLUT_ENTRY(0, 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, 1, 1, 1, 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, 1, 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, 0, 0, 0, 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, 1, 1, 0, 0), | ||
| 60 | KCLUT_ENTRY(0, 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, FR_EXLM, FR_DQUO, FR_AT, FR_DLR, FR_LUGR, FR_AMPR, FR_QUOT, | ||
| 78 | // ( ) * + , - . / | ||
| 79 | FR_LPRN, FR_RPRN, FR_DLR, FR_EQL, FR_COMM, FR_MINS, FR_SCLN, FR_COLN, | ||
| 80 | // 0 1 2 3 4 5 6 7 | ||
| 81 | FR_LAGR, FR_AMPR, FR_LEAC, FR_DQUO, FR_QUOT, FR_LPRN, FR_SECT, FR_LEGR, | ||
| 82 | // 8 9 : ; < = > ? | ||
| 83 | FR_EXLM, FR_LCCE, FR_COLN, FR_SCLN, FR_LABK, FR_EQL, FR_LABK, FR_COMM, | ||
| 84 | // @ A B C D E F G | ||
| 85 | FR_AT, FR_A, FR_B, FR_C, FR_D, FR_E, FR_F, FR_G, | ||
| 86 | // H I J K L M N O | ||
| 87 | FR_H, FR_I, FR_J, FR_K, FR_L, FR_M, FR_N, FR_O, | ||
| 88 | // P Q R S T U V W | ||
| 89 | FR_P, FR_Q, FR_R, FR_S, FR_T, FR_U, FR_V, FR_W, | ||
| 90 | // X Y Z [ \ ] ^ _ | ||
| 91 | FR_X, FR_Y, FR_Z, FR_LPRN, FR_COLN, FR_RPRN, FR_CIRC, FR_MINS, | ||
| 92 | // ` a b c d e f g | ||
| 93 | FR_GRV, FR_A, FR_B, FR_C, FR_D, FR_E, FR_F, FR_G, | ||
| 94 | // h i j k l m n o | ||
| 95 | FR_H, FR_I, FR_J, FR_K, FR_L, FR_M, FR_N, FR_O, | ||
| 96 | // p q r s t u v w | ||
| 97 | FR_P, FR_Q, FR_R, FR_S, FR_T, FR_U, FR_V, FR_W, | ||
| 98 | // x y z { | } ~ DEL | ||
| 99 | FR_X, FR_Y, FR_Z, FR_LPRN, FR_L, FR_RPRN, FR_N, KC_DEL | ||
| 100 | }; | ||
diff --git a/quantum/keymap_extras/sendstring_german_ch.h b/quantum/keymap_extras/sendstring_german_ch.h new file mode 100644 index 000000000..1e1327c51 --- /dev/null +++ b/quantum/keymap_extras/sendstring_german_ch.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 Swiss German layouts | ||
| 18 | |||
| 19 | #pragma once | ||
| 20 | |||
| 21 | #include "keymap_german_ch.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, 0, 0, 1, 1, 0), | ||
| 33 | KCLUT_ENTRY(1, 1, 1, 1, 0, 0, 0, 1), | ||
| 34 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 35 | KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1), | ||
| 36 | KCLUT_ENTRY(0, 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, 0, 0, 0, 1), | ||
| 40 | KCLUT_ENTRY(1, 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, 0, 0, 0, 0), | ||
| 56 | KCLUT_ENTRY(1, 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, 1, 1, 0, 0), | ||
| 60 | KCLUT_ENTRY(0, 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, CH_DIAE, CH_2, CH_3, CH_DLR, CH_5, CH_6, CH_QUOT, | ||
| 78 | // ( ) * + , - . / | ||
| 79 | CH_8, CH_9, CH_3, CH_1, CH_COMM, CH_MINS, CH_DOT, CH_7, | ||
| 80 | // 0 1 2 3 4 5 6 7 | ||
| 81 | CH_0, CH_1, CH_2, CH_3, CH_4, CH_5, CH_6, CH_7, | ||
| 82 | // 8 9 : ; < = > ? | ||
| 83 | CH_8, CH_9, CH_DOT, CH_COMM, CH_LABK, CH_0, CH_LABK, CH_QUOT, | ||
| 84 | // @ A B C D E F G | ||
| 85 | CH_2, CH_A, CH_B, CH_C, CH_D, CH_E, CH_F, CH_G, | ||
| 86 | // H I J K L M N O | ||
| 87 | CH_H, CH_I, CH_J, CH_K, CH_L, CH_M, CH_N, CH_O, | ||
| 88 | // P Q R S T U V W | ||
| 89 | CH_P, CH_Q, CH_R, CH_S, CH_T, CH_U, CH_V, CH_W, | ||
| 90 | // X Y Z [ \ ] ^ _ | ||
| 91 | CH_X, CH_Y, CH_Z, CH_UDIA, CH_LABK, CH_DIAE, CH_CIRC, CH_MINS, | ||
| 92 | // ` a b c d e f g | ||
| 93 | CH_CIRC, CH_A, CH_B, CH_C, CH_D, CH_E, CH_F, CH_G, | ||
| 94 | // h i j k l m n o | ||
| 95 | CH_H, CH_I, CH_J, CH_K, CH_L, CH_M, CH_N, CH_O, | ||
| 96 | // p q r s t u v w | ||
| 97 | CH_P, CH_Q, CH_R, CH_S, CH_T, CH_U, CH_V, CH_W, | ||
| 98 | // x y z { | } ~ DEL | ||
| 99 | CH_X, CH_Y, CH_Z, CH_ADIA, CH_7, CH_DLR, CH_CIRC, KC_DEL | ||
| 100 | }; | ||
diff --git a/quantum/keymap_extras/sendstring_german_osx.h b/quantum/keymap_extras/sendstring_german_osx.h new file mode 100644 index 000000000..03f54da2a --- /dev/null +++ b/quantum/keymap_extras/sendstring_german_osx.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 macOS German layouts | ||
| 18 | |||
| 19 | #pragma once | ||
| 20 | |||
| 21 | #include "keymap_german_osx.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, 0, 1, 1, 1, 1), | ||
| 33 | KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1), | ||
| 34 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 35 | KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1), | ||
| 36 | KCLUT_ENTRY(0, 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(1, 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, 0, 0, 0, 0), | ||
| 56 | KCLUT_ENTRY(1, 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, 1, 1, 0, 0), | ||
| 60 | KCLUT_ENTRY(0, 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, DE_1, DE_2, DE_HASH, DE_4, DE_5, DE_6, DE_HASH, | ||
| 78 | // ( ) * + , - . / | ||
| 79 | DE_8, DE_9, DE_PLUS, DE_PLUS, DE_COMM, DE_MINS, DE_DOT, DE_7, | ||
| 80 | // 0 1 2 3 4 5 6 7 | ||
| 81 | DE_0, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, | ||
| 82 | // 8 9 : ; < = > ? | ||
| 83 | DE_8, DE_9, DE_DOT, DE_COMM, DE_LABK, DE_0, DE_LABK, DE_SS, | ||
| 84 | // @ A B C D E F G | ||
| 85 | DE_L, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G, | ||
| 86 | // H I J K L M N O | ||
| 87 | DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O, | ||
| 88 | // P Q R S T U V W | ||
| 89 | DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W, | ||
| 90 | // X Y Z [ \ ] ^ _ | ||
| 91 | DE_X, DE_Y, DE_Z, DE_5, DE_7, DE_6, DE_CIRC, DE_MINS, | ||
| 92 | // ` a b c d e f g | ||
| 93 | DE_ACUT, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G, | ||
| 94 | // h i j k l m n o | ||
| 95 | DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O, | ||
| 96 | // p q r s t u v w | ||
| 97 | DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W, | ||
| 98 | // x y z { | } ~ DEL | ||
| 99 | DE_X, DE_Y, DE_Z, DE_8, DE_7, DE_9, DE_N, KC_DEL | ||
| 100 | }; | ||
diff --git a/quantum/keymap_extras/sendstring_italian_osx_ansi.h b/quantum/keymap_extras/sendstring_italian_osx_ansi.h new file mode 100644 index 000000000..c61874015 --- /dev/null +++ b/quantum/keymap_extras/sendstring_italian_osx_ansi.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 macOS Italian ANSI layouts | ||
| 18 | |||
| 19 | #pragma once | ||
| 20 | |||
| 21 | #include "keymap_italian_osx_ansi.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, 0, 1, 1, 1, 0), | ||
| 33 | KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1), | ||
| 34 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 35 | KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1), | ||
| 36 | KCLUT_ENTRY(0, 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, 0, 0, 1, 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, 1, 1, 1, 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, 1, 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, 0, 0, 0, 0), | ||
| 56 | KCLUT_ENTRY(1, 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, 0, 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, IT_1, IT_2, IT_AGRV, IT_4, IT_5, IT_6, IT_QUOT, | ||
| 78 | // ( ) * + , - . / | ||
| 79 | IT_8, IT_9, IT_PLUS, IT_PLUS, IT_COMM, IT_MINS, IT_DOT, IT_7, | ||
| 80 | // 0 1 2 3 4 5 6 7 | ||
| 81 | IT_0, IT_1, IT_2, IT_3, IT_4, IT_5, IT_6, IT_7, | ||
| 82 | // 8 9 : ; < = > ? | ||
| 83 | IT_8, IT_9, IT_DOT, IT_COMM, IT_LABK, IT_0, IT_LABK, IT_QUOT, | ||
| 84 | // @ A B C D E F G | ||
| 85 | IT_OGRV, IT_A, IT_B, IT_C, IT_D, IT_E, IT_F, IT_G, | ||
| 86 | // H I J K L M N O | ||
| 87 | IT_H, IT_I, IT_J, IT_K, IT_L, IT_M, IT_N, IT_O, | ||
| 88 | // P Q R S T U V W | ||
| 89 | IT_P, IT_Q, IT_R, IT_S, IT_T, IT_U, IT_V, IT_W, | ||
| 90 | // X Y Z [ \ ] ^ _ | ||
| 91 | IT_X, IT_Y, IT_Z, IT_EGRV, IT_BSLS, IT_PLUS, IT_IGRV, IT_MINS, | ||
| 92 | // ` a b c d e f g | ||
| 93 | IT_BSLS, IT_A, IT_B, IT_C, IT_D, IT_E, IT_F, IT_G, | ||
| 94 | // h i j k l m n o | ||
| 95 | IT_H, IT_I, IT_J, IT_K, IT_L, IT_M, IT_N, IT_O, | ||
| 96 | // p q r s t u v w | ||
| 97 | IT_P, IT_Q, IT_R, IT_S, IT_T, IT_U, IT_V, IT_W, | ||
| 98 | // x y z { | } ~ DEL | ||
| 99 | IT_X, IT_Y, IT_Z, IT_EGRV, IT_BSLS, IT_PLUS, IT_5, KC_DEL | ||
| 100 | }; | ||
diff --git a/quantum/keymap_extras/sendstring_italian_osx_iso.h b/quantum/keymap_extras/sendstring_italian_osx_iso.h new file mode 100644 index 000000000..eb5853b00 --- /dev/null +++ b/quantum/keymap_extras/sendstring_italian_osx_iso.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 macOS Italian ISO layouts | ||
| 18 | |||
| 19 | #pragma once | ||
| 20 | |||
| 21 | #include "keymap_italian_osx_iso.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, 0, 1, 1, 1, 0), | ||
| 33 | KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1), | ||
| 34 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 35 | KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1), | ||
| 36 | KCLUT_ENTRY(0, 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, 0, 0, 1, 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, 1, 1, 1, 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, 1, 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, 0, 0, 0, 0), | ||
| 56 | KCLUT_ENTRY(1, 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, 0, 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, IT_1, IT_2, IT_AGRV, IT_4, IT_5, IT_6, IT_QUOT, | ||
| 78 | // ( ) * + , - . / | ||
| 79 | IT_8, IT_9, IT_PLUS, IT_PLUS, IT_COMM, IT_MINS, IT_DOT, IT_7, | ||
| 80 | // 0 1 2 3 4 5 6 7 | ||
| 81 | IT_0, IT_1, IT_2, IT_3, IT_4, IT_5, IT_6, IT_7, | ||
| 82 | // 8 9 : ; < = > ? | ||
| 83 | IT_8, IT_9, IT_DOT, IT_COMM, IT_LABK, IT_0, IT_LABK, IT_QUOT, | ||
| 84 | // @ A B C D E F G | ||
| 85 | IT_OGRV, IT_A, IT_B, IT_C, IT_D, IT_E, IT_F, IT_G, | ||
| 86 | // H I J K L M N O | ||
| 87 | IT_H, IT_I, IT_J, IT_K, IT_L, IT_M, IT_N, IT_O, | ||
| 88 | // P Q R S T U V W | ||
| 89 | IT_P, IT_Q, IT_R, IT_S, IT_T, IT_U, IT_V, IT_W, | ||
| 90 | // X Y Z [ \ ] ^ _ | ||
| 91 | IT_X, IT_Y, IT_Z, IT_EGRV, IT_BSLS, IT_PLUS, IT_IGRV, IT_MINS, | ||
| 92 | // ` a b c d e f g | ||
| 93 | IT_BSLS, IT_A, IT_B, IT_C, IT_D, IT_E, IT_F, IT_G, | ||
| 94 | // h i j k l m n o | ||
| 95 | IT_H, IT_I, IT_J, IT_K, IT_L, IT_M, IT_N, IT_O, | ||
| 96 | // p q r s t u v w | ||
| 97 | IT_P, IT_Q, IT_R, IT_S, IT_T, IT_U, IT_V, IT_W, | ||
| 98 | // x y z { | } ~ DEL | ||
| 99 | IT_X, IT_Y, IT_Z, IT_EGRV, IT_BSLS, IT_PLUS, IT_5, KC_DEL | ||
| 100 | }; | ||
diff --git a/quantum/keymap_extras/sendstring_spanish.h b/quantum/keymap_extras/sendstring_spanish.h index 405cf9b0a..b984a6f46 100644 --- a/quantum/keymap_extras/sendstring_spanish.h +++ b/quantum/keymap_extras/sendstring_spanish.h | |||
| @@ -96,5 +96,5 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = { | |||
| 96 | // p q r s t u v w | 96 | // p q r s t u v w |
| 97 | ES_P, ES_Q, ES_R, ES_S, ES_T, ES_U, ES_V, ES_W, | 97 | ES_P, ES_Q, ES_R, ES_S, ES_T, ES_U, ES_V, ES_W, |
| 98 | // x y z { | } ~ DEL | 98 | // x y z { | } ~ DEL |
| 99 | ES_X, ES_Y, ES_Z, ES_ACUT, ES_1, ES_CCED, ES_NTIL, KC_DEL | 99 | ES_X, ES_Y, ES_Z, ES_ACUT, ES_1, ES_CCED, ES_4, KC_DEL |
| 100 | }; | 100 | }; |
diff --git a/quantum/keymap_extras/sendstring_spanish_dvorak.h b/quantum/keymap_extras/sendstring_spanish_dvorak.h new file mode 100644 index 000000000..87d582491 --- /dev/null +++ b/quantum/keymap_extras/sendstring_spanish_dvorak.h | |||
| @@ -0,0 +1,100 @@ | |||
| 1 | /* Copyright 2020 José Andrés García | ||
| 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 Spanish Dvorak layout | ||
| 18 | |||
| 19 | #pragma once | ||
| 20 | |||
| 21 | #include "keymap_spanish_dvorak.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, 0, 1, 1, 1, 0), | ||
| 33 | KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1), | ||
| 34 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 35 | KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1), | ||
| 36 | KCLUT_ENTRY(0, 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, 0, 0, 1, 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, 1, 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, 0, 0, 0, 0), | ||
| 56 | KCLUT_ENTRY(1, 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, 1, 1, 0, 0), | ||
| 60 | KCLUT_ENTRY(0, 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, DV_1, DV_2, DV_3, DV_4, DV_5, DV_6, DV_QUOT, | ||
| 78 | // ( ) * + , - . / | ||
| 79 | DV_8, DV_9, DV_PLUS, DV_PLUS, DV_COMM, DV_MINS, DV_DOT, DV_7, | ||
| 80 | // 0 1 2 3 4 5 6 7 | ||
| 81 | DV_0, DV_1, DV_2, DV_3, DV_4, DV_5, DV_6, DV_7, | ||
| 82 | // 8 9 : ; < = > ? | ||
| 83 | DV_8, DV_9, DV_DOT, DV_COMM, DV_LABK, DV_0, DV_LABK, DV_QUOT, | ||
| 84 | // @ A B C D E F G | ||
| 85 | DV_2, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G, | ||
| 86 | // H I J K L M N O | ||
| 87 | DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O, | ||
| 88 | // P Q R S T U V W | ||
| 89 | DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W, | ||
| 90 | // X Y Z [ \ ] ^ _ | ||
| 91 | DV_X, DV_Y, DV_Z, DV_GRV, DV_MORD, DV_PLUS, DV_GRV, DV_MINS, | ||
| 92 | // ` a b c d e f g | ||
| 93 | DV_GRV, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G, | ||
| 94 | // h i j k l m n o | ||
| 95 | DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O, | ||
| 96 | // p q r s t u v w | ||
| 97 | DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W, | ||
| 98 | // x y z { | } ~ DEL | ||
| 99 | DV_X, DV_Y, DV_Z, DV_ACUT, DV_1, DV_CCED, DV_4, KC_DEL | ||
| 100 | }; | ||
diff --git a/quantum/keymap_extras/sendstring_workman_zxcvm.h b/quantum/keymap_extras/sendstring_workman_zxcvm.h new file mode 100644 index 000000000..e7605d7cc --- /dev/null +++ b/quantum/keymap_extras/sendstring_workman_zxcvm.h | |||
| @@ -0,0 +1,59 @@ | |||
| 1 | /* Copyright 2018 Jacob Jerrell | ||
| 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 Workman ZXCVM layouts | ||
| 18 | |||
| 19 | #pragma once | ||
| 20 | |||
| 21 | #include "keymap_workman_zxcvm.h" | ||
| 22 | |||
| 23 | // clang-format off | ||
| 24 | |||
| 25 | const uint8_t ascii_to_keycode_lut[128] PROGMEM = { | ||
| 26 | // NUL SOH STX ETX EOT ENQ ACK BEL | ||
| 27 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 28 | // BS TAB LF VT FF CR SO SI | ||
| 29 | KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 30 | // DLE DC1 DC2 DC3 DC4 NAK SYN ETB | ||
| 31 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 32 | // CAN EM SUB ESC FS GS RS US | ||
| 33 | XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 34 | |||
| 35 | // ! " # $ % & ' | ||
| 36 | KC_SPC, WK_1, WK_QUOT, WK_3, WK_4, WK_5, WK_7, WK_QUOT, | ||
| 37 | // ( ) * + , - . / | ||
| 38 | WK_9, WK_0, WK_8, WK_EQL, WK_COMM, WK_MINS, WK_DOT, WK_SLSH, | ||
| 39 | // 0 1 2 3 4 5 6 7 | ||
| 40 | WK_0, WK_1, WK_2, WK_3, WK_4, WK_5, WK_6, WK_7, | ||
| 41 | // 8 9 : ; < = > ? | ||
| 42 | WK_8, WK_9, WK_SCLN, WK_SCLN, WK_COMM, WK_EQL, WK_DOT, WK_SLSH, | ||
| 43 | // @ A B C D E F G | ||
| 44 | WK_2, WK_A, WK_B, WK_C, WK_D, WK_E, WK_F, WK_G, | ||
| 45 | // H I J K L M N O | ||
| 46 | WK_H, WK_I, WK_J, WK_K, WK_L, WK_M, WK_N, WK_O, | ||
| 47 | // P Q R S T U V W | ||
| 48 | WK_P, WK_Q, WK_R, WK_S, WK_T, WK_U, WK_V, WK_W, | ||
| 49 | // X Y Z [ \ ] ^ _ | ||
| 50 | WK_X, WK_Y, WK_Z, WK_LBRC, WK_BSLS, WK_RBRC, WK_6, WK_MINS, | ||
| 51 | // ` a b c d e f g | ||
| 52 | WK_GRV, WK_A, WK_B, WK_C, WK_D, WK_E, WK_F, WK_G, | ||
| 53 | // h i j k l m n o | ||
| 54 | WK_H, WK_I, WK_J, WK_K, WK_L, WK_M, WK_N, WK_O, | ||
| 55 | // p q r s t u v w | ||
| 56 | WK_P, WK_Q, WK_R, WK_S, WK_T, WK_U, WK_V, WK_W, | ||
| 57 | // x y z { | } ~ DEL | ||
| 58 | WK_X, WK_Y, WK_Z, WK_LBRC, WK_BSLS, WK_RBRC, WK_GRV, KC_DEL | ||
| 59 | }; | ||
