qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

keycodes_french_afnor_0.0.1.hjson (19935B)


      1 {
      2     "aliases": {
      3 /* French AZERTY - AFNOR NF Z71-300
      4  *
      5  * A standard for the French keyboard
      6  *
      7  * The project was launched at the end of 2015 on the proposal of the General
      8  * Delegation for the French language and the languages of France (Ministry
      9  * of Culture), starting from the observation that the current "azerty"
     10  * keyboards constrain the writing of French, languages regional and European
     11  * languages with Latin alphabet.
     12  *
     13  * For the first time, a standard (NF Z71-300) defines the placement of
     14  * characters on the French keyboard. It offers two layouts, one of which
     15  * closely follows the QWERTY keyboard used by most people who write in French.
     16  *
     17  * However, it is in many ways superior to the old keyboard:
     18  *
     19  * - it contains all the characters required to enter text in French (for example É, œ and ")
     20  * - it is designed to be more ergonomic and allow faster typing
     21  * - it includes almost 60 additional characters for entering foreign languages, technical content, etc
     22  * - however, the characters remain easy to locate thanks to intuitive groupings
     23  *
     24  * Source: https://norme-azerty.fr
     25  */
     26 /*
     27  * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
     28  * │ @ │ à │ é │ è │ ê │ ( │ ) │ ‘ │ ’ │ « │ » │ ' │ ^ │       │
     29  * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
     30  * │     │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ - │ + │     │
     31  * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
     32  * │      │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ / │ * │    │
     33  * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
     34  * │    │ < │ W │ X │ C │ V │ B │ N │ . │ , │ : │ ; │          │
     35  * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
     36  * │    │    │    │                        │    │    │    │    │
     37  * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
     38  */
     39         "KC_GRV": {
     40             "key": "FR_AT",
     41             "label": "@",
     42         }
     43         "KC_1": {
     44             "key": "FR_AGRV",
     45             "label": "à",
     46         }
     47         "KC_2": {
     48             "key": "FR_EACU",
     49             "label": "é",
     50         }
     51         "KC_3": {
     52             "key": "FR_EGRV",
     53             "label": "è",
     54         }
     55         "KC_4": {
     56             "key": "FR_ECIR",
     57             "label": "ê",
     58         }
     59         "KC_5": {
     60             "key": "FR_LPRN",
     61             "label": "(",
     62         }
     63         "KC_6": {
     64             "key": "FR_RPRN",
     65             "label": ")",
     66         }
     67         "KC_7": {
     68             "key": "FR_LSQU",
     69             "label": "‘",
     70         }
     71         "KC_8": {
     72             "key": "FR_RSQU",
     73             "label": "’",
     74         }
     75         "KC_9": {
     76             "key": "FR_LDAQ",
     77             "label": "«",
     78         }
     79         "KC_0": {
     80             "key": "FR_RDAQ",
     81             "label": "»",
     82         }
     83         "KC_MINS": {
     84             "key": "FR_QUOT",
     85             "label": "'",
     86         }
     87         "KC_EQL": {
     88             "key": "FR_DCIR",
     89             "label": "^ (dead)",
     90         }
     91         "KC_Q": {
     92             "key": "FR_A",
     93             "label": "A",
     94         }
     95         "KC_W": {
     96             "key": "FR_Z",
     97             "label": "Z",
     98         }
     99         "KC_E": {
    100             "key": "FR_E",
    101             "label": "E",
    102         }
    103         "KC_R": {
    104             "key": "FR_R",
    105             "label": "R",
    106         }
    107         "KC_T": {
    108             "key": "FR_T",
    109             "label": "T",
    110         }
    111         "KC_Y": {
    112             "key": "FR_Y",
    113             "label": "Y",
    114         }
    115         "KC_U": {
    116             "key": "FR_U",
    117             "label": "U",
    118         }
    119         "KC_I": {
    120             "key": "FR_I",
    121             "label": "I",
    122         }
    123         "KC_O": {
    124             "key": "FR_O",
    125             "label": "O",
    126         }
    127         "KC_P": {
    128             "key": "FR_P",
    129             "label": "P",
    130         }
    131         "KC_LBRC": {
    132             "key": "FR_MINS",
    133             "label": "-",
    134         }
    135         "KC_RBRC": {
    136             "key": "FR_PLUS",
    137             "label": "+",
    138         }
    139         "KC_A": {
    140             "key": "FR_Q",
    141             "label": "Q",
    142         }
    143         "KC_S": {
    144             "key": "FR_S",
    145             "label": "S",
    146         }
    147         "KC_D": {
    148             "key": "FR_D",
    149             "label": "D",
    150         }
    151         "KC_F": {
    152             "key": "FR_F",
    153             "label": "F",
    154         }
    155         "KC_G": {
    156             "key": "FR_G",
    157             "label": "G",
    158         }
    159         "KC_H": {
    160             "key": "FR_H",
    161             "label": "H",
    162         }
    163         "KC_J": {
    164             "key": "FR_J",
    165             "label": "J",
    166         }
    167         "KC_K": {
    168             "key": "FR_K",
    169             "label": "K",
    170         }
    171         "KC_L": {
    172             "key": "FR_L",
    173             "label": "L",
    174         }
    175         "KC_SCLN": {
    176             "key": "FR_M",
    177             "label": "M",
    178         }
    179         "KC_QUOT": {
    180             "key": "FR_SLSH",
    181             "label": "/",
    182         }
    183         "KC_NUHS": {
    184             "key": "FR_ASTR",
    185             "label": "*",
    186         }
    187         "KC_NUBS": {
    188             "key": "FR_LABK",
    189             "label": "<",
    190         }
    191         "KC_Z": {
    192             "key": "FR_W",
    193             "label": "W",
    194         }
    195         "KC_X": {
    196             "key": "FR_X",
    197             "label": "X",
    198         }
    199         "KC_C": {
    200             "key": "FR_C",
    201             "label": "C",
    202         }
    203         "KC_V": {
    204             "key": "FR_V",
    205             "label": "V",
    206         }
    207         "KC_B": {
    208             "key": "FR_B",
    209             "label": "B",
    210         }
    211         "KC_N": {
    212             "key": "FR_N",
    213             "label": "N",
    214         }
    215         "KC_M": {
    216             "key": "FR_DOT",
    217             "label": ".",
    218         }
    219         "KC_COMM": {
    220             "key": "FR_COMM",
    221             "label": ",",
    222         }
    223         "KC_DOT": {
    224             "key": "FR_COLN",
    225             "label": ":",
    226         }
    227         "KC_SLSH": {
    228             "key": "FR_SCLN",
    229             "label": ";",
    230         }
    231 /* Shifted symbols
    232  * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
    233  * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ " │ ¨ │       │
    234  * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
    235  * │     │   │   │   │   │   │   │   │   │   │   │ – │ ± │     │
    236  * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
    237  * │      │   │   │   │   │   │   │   │   │   │   │ \ │ ½ │    │
    238  * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
    239  * │    │ > │   │   │   │   │   │   │ ? │ ! │ … │ = │          │
    240  * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
    241  * │    │    │    │                        │    │    │    │    │
    242  * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
    243  */
    244         "S(FR_AT)": {
    245             "key": "FR_HASH",
    246             "label": "#",
    247         }
    248         "S(FR_AGRV)": {
    249             "key": "FR_1",
    250             "label": "1",
    251         }
    252         "S(FR_EACU)": {
    253             "key": "FR_2",
    254             "label": "2",
    255         }
    256         "S(FR_EGRV)": {
    257             "key": "FR_3",
    258             "label": "3",
    259         }
    260         "S(FR_ECIR)": {
    261             "key": "FR_4",
    262             "label": "4",
    263         }
    264         "S(FR_LPRN)": {
    265             "key": "FR_5",
    266             "label": "5",
    267         }
    268         "S(FR_RPRN)": {
    269             "key": "FR_6",
    270             "label": "6",
    271         }
    272         "S(FR_LSQU)": {
    273             "key": "FR_7",
    274             "label": "7",
    275         }
    276         "S(FR_RSQU)": {
    277             "key": "FR_8",
    278             "label": "8",
    279         }
    280         "S(FR_LDAQ)": {
    281             "key": "FR_9",
    282             "label": "9",
    283         }
    284         "S(FR_RDAQ)": {
    285             "key": "FR_0",
    286             "label": "0",
    287         }
    288         "S(FR_QUOT)": {
    289             "key": "FR_DQUO",
    290             "label": "\"",
    291         }
    292         "S(FR_DCIR)": {
    293             "key": "FR_DIAE",
    294             "label": "¨ (dead)",
    295         }
    296         "S(FR_MINS)": {
    297             "key": "FR_NDSH",
    298             "label": "–",
    299         }
    300         "S(FR_PLUS)": {
    301             "key": "FR_PLMN",
    302             "label": "±",
    303         }
    304         "S(FR_SLSH)": {
    305             "key": "FR_BSLS",
    306             "label": "\\",
    307         }
    308         "S(FR_ASTR)": {
    309             "key": "FR_HALF",
    310             "label": "½",
    311         }
    312         "S(FR_LABK)": {
    313             "key": "FR_RABK",
    314             "label": ">",
    315         }
    316         "S(FR_DOT)": {
    317             "key": "FR_QUES",
    318             "label": "?",
    319         }
    320         "S(FR_COMM)": {
    321             "key": "FR_EXLM",
    322             "label": "!",
    323         }
    324         "S(FR_COLN)": {
    325             "key": "FR_ELLP",
    326             "label": "…",
    327         }
    328         "S(FR_SCLN)": {
    329             "key": "FR_EQL",
    330             "label": "=",
    331         }
    332 /* AltGr symbols
    333  * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
    334  * │ ˘ │ § │ ´ │ ` │ & │ [ │ ] │ ¯ │ _ │ “ │ ” │ ° │ ˇ │       │
    335  * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
    336  * │     │ æ │ £ │ € │ ® │ { │ } │ ù │ ˙ │ œ │ % │ − │ † │     │
    337  * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
    338  * │      │ θ │ ß │ $ │ ¤ │ µ │ Eu│   │ ∕ │ | │ ∞ │ ÷ │ × │    │
    339  * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
    340  * │    │ ≤ │ ʒ │ © │ ç │ ¸ │ − │ ~ │ ¿ │ ¡ │ · │ ≃ │          │
    341  * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
    342  * │    │    │    │                        │    │    │    │    │
    343  * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
    344  */
    345         "ALGR(FR_AT)": {
    346             "key": "FR_BREV",
    347             "label": "˘ (dead)",
    348         }
    349         "ALGR(FR_AGRV)": {
    350             "key": "FR_SECT",
    351             "label": "§",
    352         }
    353         "ALGR(FR_EACU)": {
    354             "key": "FR_ACUT",
    355             "label": "´ (dead)",
    356         }
    357         "ALGR(FR_EGRV)": {
    358             "key": "FR_GRV",
    359             "label": "` (dead)",
    360         }
    361         "ALGR(FR_ECIR)": {
    362             "key": "FR_AMPR",
    363             "label": "&",
    364         }
    365         "ALGR(FR_LPRN)": {
    366             "key": "FR_LBRC",
    367             "label": "[",
    368         }
    369         "ALGR(FR_RPRN)": {
    370             "key": "FR_RBRC",
    371             "label": "]",
    372         }
    373         "ALGR(FR_LSQU)": {
    374             "key": "FR_MACR",
    375             "label": "¯ (dead)",
    376         }
    377         "ALGR(FR_RSQU)": {
    378             "key": "FR_UNDS",
    379             "label": "_",
    380         }
    381         "ALGR(FR_LDAQ)": {
    382             "key": "FR_LDQU",
    383             "label": "“",
    384         }
    385         "ALGR(FR_RDAQ)": {
    386             "key": "FR_RDQU",
    387             "label": "”",
    388         }
    389         "ALGR(FR_QUOT)": {
    390             "key": "FR_DEG",
    391             "label": "°",
    392         }
    393         "ALGR(FR_DCIR)": {
    394             "key": "FR_CARN",
    395             "label": "ˇ (dead)",
    396         }
    397         "ALGR(FR_A)": {
    398             "key": "FR_AE",
    399             "label": "æ",
    400         }
    401         "ALGR(FR_Z)": {
    402             "key": "FR_PND",
    403             "label": "£",
    404         }
    405         "ALGR(FR_E)": {
    406             "key": "FR_EURO",
    407             "label": "€",
    408         }
    409         "ALGR(FR_R)": {
    410             "key": "FR_REGD",
    411             "label": "®",
    412         }
    413         "ALGR(FR_T)": {
    414             "key": "FR_LCBR",
    415             "label": "{",
    416         }
    417         "ALGR(FR_Y)": {
    418             "key": "FR_RCBR",
    419             "label": "}",
    420         }
    421         "ALGR(FR_U)": {
    422             "key": "FR_UGRV",
    423             "label": "ù",
    424         }
    425         "ALGR(FR_I)": {
    426             "key": "FR_DOTA",
    427             "label": "˙ (dead)",
    428         }
    429         "ALGR(FR_O)": {
    430             "key": "FR_OE",
    431             "label": "œ",
    432         }
    433         "ALGR(FR_P)": {
    434             "key": "FR_PERC",
    435             "label": "%",
    436         }
    437         "ALGR(FR_MINS)": {
    438             "key": "FR_MMNS",
    439             "label": "−",
    440         }
    441         "ALGR(FR_PLUS)": {
    442             "key": "FR_DAGG",
    443             "label": "†",
    444         }
    445         "ALGR(FR_Q)": {
    446             "key": "FR_THET",
    447             "label": "θ",
    448         }
    449         "ALGR(FR_S)": {
    450             "key": "FR_SS",
    451             "label": "ß",
    452         }
    453         "ALGR(FR_D)": {
    454             "key": "FR_DLR",
    455             "label": "$",
    456         }
    457         "ALGR(FR_F)": {
    458             "key": "FR_CURR",
    459             "label": "¤ (dead monetary key)",
    460         }
    461         "ALGR(FR_G)": {
    462             "key": "FR_DGRK",
    463             "label": "µ (dead Greek key)",
    464         }
    465         "ALGR(FR_H)": {
    466             "key": "FR_EU",
    467             "label": "Eu (dead European symbol key)",
    468         }
    469         "ALGR(FR_K)": {
    470             "key": "FR_DSLS",
    471             "label": "∕ (dead)",
    472         }
    473         "ALGR(FR_L)": {
    474             "key": "FR_PIPE",
    475             "label": "|",
    476         }
    477         "ALGR(FR_M)": {
    478             "key": "FR_INFN",
    479             "label": "∞",
    480         }
    481         "ALGR(FR_SLSH)": {
    482             "key": "FR_DIV",
    483             "label": "÷",
    484         }
    485         "ALGR(FR_ASTR)": {
    486             "key": "FR_MUL",
    487             "label": "×",
    488         }
    489         "ALGR(FR_LABK)": {
    490             "key": "FR_LEQL",
    491             "label": "≤",
    492         }
    493         "ALGR(FR_W)": {
    494             "key": "FR_EZH",
    495             "label": "ʒ",
    496         }
    497         "ALGR(FR_X)": {
    498             "key": "FR_COPY",
    499             "label": "©",
    500         }
    501         "ALGR(FR_C)": {
    502             "key": "FR_CCED",
    503             "label": "ç",
    504         }
    505         "ALGR(FR_V)": {
    506             "key": "FR_CEDL",
    507             "label": "¸ (dead)",
    508         }
    509         "ALGR(FR_B)": {
    510             "key": "FR_DMNS",
    511             "label": "− (dead)",
    512         }
    513         "ALGR(FR_N)": {
    514             "key": "FR_DTIL",
    515             "label": "~ (dead)",
    516         }
    517         "ALGR(FR_DOT)": {
    518             "key": "FR_IQUE",
    519             "label": "¿",
    520         }
    521         "ALGR(FR_COMM)": {
    522             "key": "FR_IEXL",
    523             "label": "¡",
    524         }
    525         "ALGR(FR_COLN)": {
    526             "key": "FR_MDDT",
    527             "label": "·",
    528         }
    529         "ALGR(FR_SCLN)": {
    530             "key": "FR_AEQL",
    531             "label": "≃",
    532         }
    533 /* Shift+AltGr symbols
    534  * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
    535  * │ ̑  │   │   │   │   │ ˝ │ ̏  │   │ — │ ‹ │ › │ ˚ │   │       │
    536  * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
    537  * │     │   │   │   │   │ ™ │   │   │ ̣  │   │ ‰ │ ‑ │ ‡ │     │
    538  * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
    539  * │      │   │   │   │   │   │ ˍ │   │   │   │   │ √ │ ¼ │    │
    540  * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
    541  * │    │ ≥ │   │   │   │ ˛ │   │   │   │ ̦  │   │ ≠ │          │
    542  * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
    543  * │    │    │    │                        │    │    │    │    │
    544  * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
    545  */
    546         "S(ALGR(FR_AT))": {
    547             "key": "FR_IBRV",
    548             "label": "̑ (dead)",
    549         }
    550         "S(ALGR(FR_LPRN))": {
    551             "key": "FR_DACU",
    552             "label": "˝ (dead)",
    553         }
    554         "S(ALGR(FR_RPRN))": {
    555             "key": "FR_DGRV",
    556             "label": "̏ (dead)",
    557         }
    558         "S(ALGR(FR_RSQU))": {
    559             "key": "FR_MDSH",
    560             "label": "—",
    561         }
    562         "S(ALGR(FR_LDAQ))": {
    563             "key": "FR_LSAQ",
    564             "label": "‹",
    565         }
    566         "S(ALGR(FR_RDAQ))": {
    567             "key": "FR_RSAQ",
    568             "label": "›",
    569         }
    570         "S(ALGR(FR_QUOT))": {
    571             "key": "FR_RNGA",
    572             "label": "˚ (dead)",
    573         }
    574         "S(ALGR(FR_T))": {
    575             "key": "FR_TM",
    576             "label": "™",
    577         }
    578         "S(ALGR(FR_I))": {
    579             "key": "FR_DOTB",
    580             "label": "̣ (dead)",
    581         }
    582         "S(ALGR(FR_P))": {
    583             "key": "FR_PERM",
    584             "label": "‰",
    585         }
    586         "S(ALGR(FR_MINS))": {
    587             "key": "FR_NBHY",
    588             "label": "‑ (non-breaking hyphen)",
    589         }
    590         "S(ALGR(FR_PLUS))": {
    591             "key": "FR_DDAG",
    592             "label": "‡",
    593         }
    594         "S(ALGR(FR_H))": {
    595             "key": "FR_MACB",
    596             "label": "ˍ (dead)",
    597         }
    598         "S(ALGR(FR_SLSH))": {
    599             "key": "FR_SQRT",
    600             "label": "√",
    601         }
    602         "S(ALGR(FR_ASTR))": {
    603             "key": "FR_QRTR",
    604             "label": "¼",
    605         }
    606         "S(ALGR(FR_LABK))": {
    607             "key": "FR_GEQL",
    608             "label": "≥",
    609         }
    610         "S(ALGR(FR_V))": {
    611             "key": "FR_OGON",
    612             "label": "˛ (dead)",
    613         }
    614         "S(ALGR(FR_COMM))": {
    615             "key": "FR_DCMM",
    616             "label": "̦ (dead)",
    617         }
    618         "S(ALGR(FR_SCLN))": {
    619             "key": "FR_NEQL",
    620             "label": "≠",
    621         }
    622     }
    623 }