diff options
| author | Joel Challis <git@zvecr.com> | 2022-12-21 23:35:23 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-21 23:35:23 +0000 |
| commit | e5721bbd37fcb0372fd007caae5a3f2aed060479 (patch) | |
| tree | 68bfcddfb400d00cbbea3d14e5a3b1c90492218c /quantum/keymap_extras/keymap_french_afnor.h | |
| parent | 89b72017a014ca4810790831030c88054129f21c (diff) | |
Remaining DD keymap_extras migration (#19110)
* Parse headers to data
* Regen headers from data
Diffstat (limited to 'quantum/keymap_extras/keymap_french_afnor.h')
| -rw-r--r-- | quantum/keymap_extras/keymap_french_afnor.h | 143 |
1 files changed, 28 insertions, 115 deletions
diff --git a/quantum/keymap_extras/keymap_french_afnor.h b/quantum/keymap_extras/keymap_french_afnor.h index 4b7961724f..46f64bfb98 100644 --- a/quantum/keymap_extras/keymap_french_afnor.h +++ b/quantum/keymap_extras/keymap_french_afnor.h | |||
| @@ -1,63 +1,33 @@ | |||
| 1 | /* Copyright 2020 Guillaume Gérard | 1 | // Copyright 2022 QMK |
| 2 | * | 2 | // SPDX-License-Identifier: GPL-2.0-or-later |
| 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 | 3 | ||
| 17 | /* French AZERTY - AFNOR NF Z71-300 | 4 | /******************************************************************************* |
| 18 | * | 5 | 88888888888 888 d8b .d888 d8b 888 d8b |
| 19 | * A standard for the French keyboard | 6 | 888 888 Y8P d88P" Y8P 888 Y8P |
| 20 | * | 7 | 888 888 888 888 |
| 21 | * The project was launched at the end of 2015 on the proposal of the General | 8 | 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b |
| 22 | * Delegation for the French language and the languages of France (Ministry | 9 | 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K |
| 23 | * of Culture), starting from the observation that the current "azerty" | 10 | 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b. |
| 24 | * keyboards constrain the writing of French, languages regional and European | 11 | 888 888 888 888 X88 888 888 888 Y8b. 888 X88 |
| 25 | * languages with Latin alphabet. | 12 | 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P' |
| 26 | * | 13 | 888 888 |
| 27 | * For the first time, a standard (NF Z71-300) defines the placement of | 14 | 888 888 |
| 28 | * characters on the French keyboard. It offers two layouts, one of which | 15 | 888 888 |
| 29 | * closely follows the QWERTY keyboard used by most people who write in French. | 16 | .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888 |
| 30 | * | 17 | d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888 |
| 31 | * However, it is in many ways superior to the old keyboard: | 18 | 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888 |
| 32 | * | 19 | Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888 |
| 33 | * - it contains all the characters required to enter text in French (for example É, œ and ") | 20 | "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888 |
| 34 | * - it is designed to be more ergonomic and allow faster typing | 21 | 888 |
| 35 | * - it includes almost 60 additional characters for entering foreign languages, technical content, etc | 22 | Y8b d88P |
| 36 | * - however, the characters remain easy to locate thanks to intuitive groupings | 23 | "Y88P" |
| 37 | * | 24 | *******************************************************************************/ |
| 38 | * Source: https://norme-azerty.fr | ||
| 39 | */ | ||
| 40 | 25 | ||
| 41 | #pragma once | 26 | #pragma once |
| 42 | |||
| 43 | #include "keymap.h" | 27 | #include "keymap.h" |
| 44 | |||
| 45 | // clang-format off | 28 | // clang-format off |
| 46 | 29 | ||
| 47 | /* | 30 | // Aliases |
| 48 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ | ||
| 49 | * │ @ │ à │ é │ è │ ê │ ( │ ) │ ‘ │ ’ │ « │ » │ ' │ ^ │ │ | ||
| 50 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ | ||
| 51 | * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ - │ + │ │ | ||
| 52 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
| 53 | * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ / │ * │ │ | ||
| 54 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ | ||
| 55 | * │ │ < │ W │ X │ C │ V │ B │ N │ . │ , │ : │ ; │ │ | ||
| 56 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ | ||
| 57 | * │ │ │ │ │ │ │ │ │ | ||
| 58 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
| 59 | */ | ||
| 60 | // Row 1 | ||
| 61 | #define FR_AT KC_GRV // @ | 31 | #define FR_AT KC_GRV // @ |
| 62 | #define FR_AGRV KC_1 // à | 32 | #define FR_AGRV KC_1 // à |
| 63 | #define FR_EACU KC_2 // é | 33 | #define FR_EACU KC_2 // é |
| @@ -71,7 +41,6 @@ | |||
| 71 | #define FR_RDAQ KC_0 // » | 41 | #define FR_RDAQ KC_0 // » |
| 72 | #define FR_QUOT KC_MINS // ' | 42 | #define FR_QUOT KC_MINS // ' |
| 73 | #define FR_DCIR KC_EQL // ^ (dead) | 43 | #define FR_DCIR KC_EQL // ^ (dead) |
| 74 | // Row 2 | ||
| 75 | #define FR_A KC_Q // A | 44 | #define FR_A KC_Q // A |
| 76 | #define FR_Z KC_W // Z | 45 | #define FR_Z KC_W // Z |
| 77 | #define FR_E KC_E // E | 46 | #define FR_E KC_E // E |
| @@ -84,7 +53,6 @@ | |||
| 84 | #define FR_P KC_P // P | 53 | #define FR_P KC_P // P |
| 85 | #define FR_MINS KC_LBRC // - | 54 | #define FR_MINS KC_LBRC // - |
| 86 | #define FR_PLUS KC_RBRC // + | 55 | #define FR_PLUS KC_RBRC // + |
| 87 | // Row 3 | ||
| 88 | #define FR_Q KC_A // Q | 56 | #define FR_Q KC_A // Q |
| 89 | #define FR_S KC_S // S | 57 | #define FR_S KC_S // S |
| 90 | #define FR_D KC_D // D | 58 | #define FR_D KC_D // D |
| @@ -97,7 +65,6 @@ | |||
| 97 | #define FR_M KC_SCLN // M | 65 | #define FR_M KC_SCLN // M |
| 98 | #define FR_SLSH KC_QUOT // / | 66 | #define FR_SLSH KC_QUOT // / |
| 99 | #define FR_ASTR KC_NUHS // * | 67 | #define FR_ASTR KC_NUHS // * |
| 100 | // Row 4 | ||
| 101 | #define FR_LABK KC_NUBS // < | 68 | #define FR_LABK KC_NUBS // < |
| 102 | #define FR_W KC_Z // W | 69 | #define FR_W KC_Z // W |
| 103 | #define FR_X KC_X // X | 70 | #define FR_X KC_X // X |
| @@ -109,21 +76,6 @@ | |||
| 109 | #define FR_COMM KC_COMM // , | 76 | #define FR_COMM KC_COMM // , |
| 110 | #define FR_COLN KC_DOT // : | 77 | #define FR_COLN KC_DOT // : |
| 111 | #define FR_SCLN KC_SLSH // ; | 78 | #define FR_SCLN KC_SLSH // ; |
| 112 | |||
| 113 | /* Shifted symbols | ||
| 114 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ | ||
| 115 | * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ " │ ¨ │ │ | ||
| 116 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ | ||
| 117 | * │ │ │ │ │ │ │ │ │ │ │ │ – │ ± │ │ | ||
| 118 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
| 119 | * │ │ │ │ │ │ │ │ │ │ │ │ \ │ ½ │ │ | ||
| 120 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ | ||
| 121 | * │ │ > │ │ │ │ │ │ │ ? │ ! │ … │ = │ │ | ||
| 122 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ | ||
| 123 | * │ │ │ │ │ │ │ │ │ | ||
| 124 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
| 125 | */ | ||
| 126 | // Row 1 | ||
| 127 | #define FR_HASH S(FR_AT) // # | 79 | #define FR_HASH S(FR_AT) // # |
| 128 | #define FR_1 S(FR_AGRV) // 1 | 80 | #define FR_1 S(FR_AGRV) // 1 |
| 129 | #define FR_2 S(FR_EACU) // 2 | 81 | #define FR_2 S(FR_EACU) // 2 |
| @@ -137,33 +89,15 @@ | |||
| 137 | #define FR_0 S(FR_RDAQ) // 0 | 89 | #define FR_0 S(FR_RDAQ) // 0 |
| 138 | #define FR_DQUO S(FR_QUOT) // " | 90 | #define FR_DQUO S(FR_QUOT) // " |
| 139 | #define FR_DIAE S(FR_DCIR) // ¨ (dead) | 91 | #define FR_DIAE S(FR_DCIR) // ¨ (dead) |
| 140 | // Row 2 | ||
| 141 | #define FR_NDSH S(FR_MINS) // – | 92 | #define FR_NDSH S(FR_MINS) // – |
| 142 | #define FR_PLMN S(FR_PLUS) // ± | 93 | #define FR_PLMN S(FR_PLUS) // ± |
| 143 | // Row 3 | ||
| 144 | #define FR_BSLS S(FR_SLSH) // (backslash) | 94 | #define FR_BSLS S(FR_SLSH) // (backslash) |
| 145 | #define FR_HALF S(FR_ASTR) // ½ | 95 | #define FR_HALF S(FR_ASTR) // ½ |
| 146 | // Row 4 | ||
| 147 | #define FR_RABK S(FR_LABK) // > | 96 | #define FR_RABK S(FR_LABK) // > |
| 148 | #define FR_QUES S(FR_DOT) // ? | 97 | #define FR_QUES S(FR_DOT) // ? |
| 149 | #define FR_EXLM S(FR_COMM) // ! | 98 | #define FR_EXLM S(FR_COMM) // ! |
| 150 | #define FR_ELLP S(FR_COLN) // … | 99 | #define FR_ELLP S(FR_COLN) // … |
| 151 | #define FR_EQL S(FR_SCLN) // = | 100 | #define FR_EQL S(FR_SCLN) // = |
| 152 | |||
| 153 | /* AltGr symbols | ||
| 154 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ | ||
| 155 | * │ ˘ │ § │ ´ │ ` │ & │ [ │ ] │ ¯ │ _ │ “ │ ” │ ° │ ˇ │ │ | ||
| 156 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ | ||
| 157 | * │ │ æ │ £ │ € │ ® │ { │ } │ ù │ ˙ │ œ │ % │ − │ † │ │ | ||
| 158 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
| 159 | * │ │ θ │ ß │ $ │ ¤ │ µ │ Eu│ │ ∕ │ | │ ∞ │ ÷ │ × │ │ | ||
| 160 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ | ||
| 161 | * │ │ ≤ │ ʒ │ © │ ç │ ¸ │ − │ ~ │ ¿ │ ¡ │ · │ ≃ │ │ | ||
| 162 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ | ||
| 163 | * │ │ │ │ │ │ │ │ │ | ||
| 164 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
| 165 | */ | ||
| 166 | // Row 1 | ||
| 167 | #define FR_BREV ALGR(FR_AT) // ˘ (dead) | 101 | #define FR_BREV ALGR(FR_AT) // ˘ (dead) |
| 168 | #define FR_SECT ALGR(FR_AGRV) // § | 102 | #define FR_SECT ALGR(FR_AGRV) // § |
| 169 | #define FR_ACUT ALGR(FR_EACU) // ´ (dead) | 103 | #define FR_ACUT ALGR(FR_EACU) // ´ (dead) |
| @@ -177,7 +111,6 @@ | |||
| 177 | #define FR_RDQU ALGR(FR_RDAQ) // ” | 111 | #define FR_RDQU ALGR(FR_RDAQ) // ” |
| 178 | #define FR_DEG ALGR(FR_QUOT) // ° | 112 | #define FR_DEG ALGR(FR_QUOT) // ° |
| 179 | #define FR_CARN ALGR(FR_DCIR) // ˇ (dead) | 113 | #define FR_CARN ALGR(FR_DCIR) // ˇ (dead) |
| 180 | // Row 2 | ||
| 181 | #define FR_AE ALGR(FR_A) // æ | 114 | #define FR_AE ALGR(FR_A) // æ |
| 182 | #define FR_PND ALGR(FR_Z) // £ | 115 | #define FR_PND ALGR(FR_Z) // £ |
| 183 | #define FR_EURO ALGR(FR_E) // € | 116 | #define FR_EURO ALGR(FR_E) // € |
| @@ -190,7 +123,6 @@ | |||
| 190 | #define FR_PERC ALGR(FR_P) // % | 123 | #define FR_PERC ALGR(FR_P) // % |
| 191 | #define FR_MMNS ALGR(FR_MINS) // − | 124 | #define FR_MMNS ALGR(FR_MINS) // − |
| 192 | #define FR_DAGG ALGR(FR_PLUS) // † | 125 | #define FR_DAGG ALGR(FR_PLUS) // † |
| 193 | // Row 3 | ||
| 194 | #define FR_THET ALGR(FR_Q) // θ | 126 | #define FR_THET ALGR(FR_Q) // θ |
| 195 | #define FR_SS ALGR(FR_S) // ß | 127 | #define FR_SS ALGR(FR_S) // ß |
| 196 | #define FR_DLR ALGR(FR_D) // $ | 128 | #define FR_DLR ALGR(FR_D) // $ |
| @@ -202,7 +134,6 @@ | |||
| 202 | #define FR_INFN ALGR(FR_M) // ∞ | 134 | #define FR_INFN ALGR(FR_M) // ∞ |
| 203 | #define FR_DIV ALGR(FR_SLSH) // ÷ | 135 | #define FR_DIV ALGR(FR_SLSH) // ÷ |
| 204 | #define FR_MUL ALGR(FR_ASTR) // × | 136 | #define FR_MUL ALGR(FR_ASTR) // × |
| 205 | // Row 4 | ||
| 206 | #define FR_LEQL ALGR(FR_LABK) // ≤ | 137 | #define FR_LEQL ALGR(FR_LABK) // ≤ |
| 207 | #define FR_EZH ALGR(FR_W) // ʒ | 138 | #define FR_EZH ALGR(FR_W) // ʒ |
| 208 | #define FR_COPY ALGR(FR_X) // © | 139 | #define FR_COPY ALGR(FR_X) // © |
| @@ -214,40 +145,22 @@ | |||
| 214 | #define FR_IEXL ALGR(FR_COMM) // ¡ | 145 | #define FR_IEXL ALGR(FR_COMM) // ¡ |
| 215 | #define FR_MDDT ALGR(FR_COLN) // · | 146 | #define FR_MDDT ALGR(FR_COLN) // · |
| 216 | #define FR_AEQL ALGR(FR_SCLN) // ≃ | 147 | #define FR_AEQL ALGR(FR_SCLN) // ≃ |
| 217 | 148 | #define FR_IBRV S(ALGR(FR_AT)) // ̑ (dead) | |
| 218 | /* Shift+AltGr symbols | ||
| 219 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ | ||
| 220 | * │ ̑ │ │ │ │ │ ˝ │ ̏ │ │ — │ ‹ │ › │ ˚ │ │ │ | ||
| 221 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ | ||
| 222 | * │ │ │ │ │ │ ™ │ │ │ ̣ │ │ ‰ │ ‑ │ ‡ │ │ | ||
| 223 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
| 224 | * │ │ │ │ │ │ │ ˍ │ │ │ │ │ √ │ ¼ │ │ | ||
| 225 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ | ||
| 226 | * │ │ ≥ │ │ │ │ ˛ │ │ │ │ ̦ │ │ ≠ │ │ | ||
| 227 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ | ||
| 228 | * │ │ │ │ │ │ │ │ │ | ||
| 229 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
| 230 | */ | ||
| 231 | // Row 1 | ||
| 232 | #define FR_IBRV S(ALGR(FR_AT)) // ̑ (dead) | ||
| 233 | #define FR_DACU S(ALGR(FR_LPRN)) // ˝ (dead) | 149 | #define FR_DACU S(ALGR(FR_LPRN)) // ˝ (dead) |
| 234 | #define FR_DGRV S(ALGR(FR_RPRN)) // ̏ (dead) | 150 | #define FR_DGRV S(ALGR(FR_RPRN)) // ̏ (dead) |
| 235 | #define FR_MDSH S(ALGR(FR_RSQU)) // — | 151 | #define FR_MDSH S(ALGR(FR_RSQU)) // — |
| 236 | #define FR_LSAQ S(ALGR(FR_LDAQ)) // ‹ | 152 | #define FR_LSAQ S(ALGR(FR_LDAQ)) // ‹ |
| 237 | #define FR_RSAQ S(ALGR(FR_RDAQ)) // › | 153 | #define FR_RSAQ S(ALGR(FR_RDAQ)) // › |
| 238 | #define FR_RNGA S(ALGR(FR_QUOT)) // ˚ (dead) | 154 | #define FR_RNGA S(ALGR(FR_QUOT)) // ˚ (dead) |
| 239 | // Row 2 | ||
| 240 | #define FR_TM S(ALGR(FR_T)) // ™ | 155 | #define FR_TM S(ALGR(FR_T)) // ™ |
| 241 | #define FR_DOTB S(ALGR(FR_I)) // ̣ (dead) | 156 | #define FR_DOTB S(ALGR(FR_I)) // ̣ (dead) |
| 242 | #define FR_PERM S(ALGR(FR_P)) // ‰ | 157 | #define FR_PERM S(ALGR(FR_P)) // ‰ |
| 243 | #define FR_NBHY S(ALGR(FR_MINS)) // ‑ (non-breaking hyphen) | 158 | #define FR_NBHY S(ALGR(FR_MINS)) // ‑ (non-breaking hyphen) |
| 244 | #define FR_DDAG S(ALGR(FR_PLUS)) // ‡ | 159 | #define FR_DDAG S(ALGR(FR_PLUS)) // ‡ |
| 245 | // Row 3 | ||
| 246 | #define FR_MACB S(ALGR(FR_H)) // ˍ (dead) | 160 | #define FR_MACB S(ALGR(FR_H)) // ˍ (dead) |
| 247 | #define FR_SQRT S(ALGR(FR_SLSH)) // √ | 161 | #define FR_SQRT S(ALGR(FR_SLSH)) // √ |
| 248 | #define FR_QRTR S(ALGR(FR_ASTR)) // ¼ | 162 | #define FR_QRTR S(ALGR(FR_ASTR)) // ¼ |
| 249 | // Row 4 | ||
| 250 | #define FR_GEQL S(ALGR(FR_LABK)) // ≥ | 163 | #define FR_GEQL S(ALGR(FR_LABK)) // ≥ |
| 251 | #define FR_OGON S(ALGR(FR_V)) // ˛ (dead) | 164 | #define FR_OGON S(ALGR(FR_V)) // ˛ (dead) |
| 252 | #define FR_DCMM S(ALGR(FR_COMM)) // ̦ (dead) | 165 | #define FR_DCMM S(ALGR(FR_COMM)) // ̦ (dead) |
| 253 | #define FR_NEQL S(ALGR(FR_SCLN)) // ≠ | 166 | #define FR_NEQL S(ALGR(FR_SCLN)) // ≠ |
