{ "aliases": { /* French AZERTY - AFNOR NF Z71-300 * * A standard for the French keyboard * * The project was launched at the end of 2015 on the proposal of the General * Delegation for the French language and the languages of France (Ministry * of Culture), starting from the observation that the current "azerty" * keyboards constrain the writing of French, languages regional and European * languages with Latin alphabet. * * For the first time, a standard (NF Z71-300) defines the placement of * characters on the French keyboard. It offers two layouts, one of which * closely follows the QWERTY keyboard used by most people who write in French. * * However, it is in many ways superior to the old keyboard: * * - it contains all the characters required to enter text in French (for example É, œ and ") * - it is designed to be more ergonomic and allow faster typing * - it includes almost 60 additional characters for entering foreign languages, technical content, etc * - however, the characters remain easy to locate thanks to intuitive groupings * * Source: https://norme-azerty.fr */ /* * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ * │ @ │ à │ é │ è │ ê │ ( │ ) │ ‘ │ ’ │ « │ » │ ' │ ^ │ │ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ - │ + │ │ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ / │ * │ │ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ * │ │ < │ W │ X │ C │ V │ B │ N │ . │ , │ : │ ; │ │ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ * │ │ │ │ │ │ │ │ │ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ */ "KC_GRV": { "key": "FR_AT", "label": "@", } "KC_1": { "key": "FR_AGRV", "label": "à", } "KC_2": { "key": "FR_EACU", "label": "é", } "KC_3": { "key": "FR_EGRV", "label": "è", } "KC_4": { "key": "FR_ECIR", "label": "ê", } "KC_5": { "key": "FR_LPRN", "label": "(", } "KC_6": { "key": "FR_RPRN", "label": ")", } "KC_7": { "key": "FR_LSQU", "label": "‘", } "KC_8": { "key": "FR_RSQU", "label": "’", } "KC_9": { "key": "FR_LDAQ", "label": "«", } "KC_0": { "key": "FR_RDAQ", "label": "»", } "KC_MINS": { "key": "FR_QUOT", "label": "'", } "KC_EQL": { "key": "FR_DCIR", "label": "^ (dead)", } "KC_Q": { "key": "FR_A", "label": "A", } "KC_W": { "key": "FR_Z", "label": "Z", } "KC_E": { "key": "FR_E", "label": "E", } "KC_R": { "key": "FR_R", "label": "R", } "KC_T": { "key": "FR_T", "label": "T", } "KC_Y": { "key": "FR_Y", "label": "Y", } "KC_U": { "key": "FR_U", "label": "U", } "KC_I": { "key": "FR_I", "label": "I", } "KC_O": { "key": "FR_O", "label": "O", } "KC_P": { "key": "FR_P", "label": "P", } "KC_LBRC": { "key": "FR_MINS", "label": "-", } "KC_RBRC": { "key": "FR_PLUS", "label": "+", } "KC_A": { "key": "FR_Q", "label": "Q", } "KC_S": { "key": "FR_S", "label": "S", } "KC_D": { "key": "FR_D", "label": "D", } "KC_F": { "key": "FR_F", "label": "F", } "KC_G": { "key": "FR_G", "label": "G", } "KC_H": { "key": "FR_H", "label": "H", } "KC_J": { "key": "FR_J", "label": "J", } "KC_K": { "key": "FR_K", "label": "K", } "KC_L": { "key": "FR_L", "label": "L", } "KC_SCLN": { "key": "FR_M", "label": "M", } "KC_QUOT": { "key": "FR_SLSH", "label": "/", } "KC_NUHS": { "key": "FR_ASTR", "label": "*", } "KC_NUBS": { "key": "FR_LABK", "label": "<", } "KC_Z": { "key": "FR_W", "label": "W", } "KC_X": { "key": "FR_X", "label": "X", } "KC_C": { "key": "FR_C", "label": "C", } "KC_V": { "key": "FR_V", "label": "V", } "KC_B": { "key": "FR_B", "label": "B", } "KC_N": { "key": "FR_N", "label": "N", } "KC_M": { "key": "FR_DOT", "label": ".", } "KC_COMM": { "key": "FR_COMM", "label": ",", } "KC_DOT": { "key": "FR_COLN", "label": ":", } "KC_SLSH": { "key": "FR_SCLN", "label": ";", } /* Shifted symbols * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ " │ ¨ │ │ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ * │ │ │ │ │ │ │ │ │ │ │ │ – │ ± │ │ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ * │ │ │ │ │ │ │ │ │ │ │ │ \ │ ½ │ │ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ * │ │ > │ │ │ │ │ │ │ ? │ ! │ … │ = │ │ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ * │ │ │ │ │ │ │ │ │ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ */ "S(FR_AT)": { "key": "FR_HASH", "label": "#", } "S(FR_AGRV)": { "key": "FR_1", "label": "1", } "S(FR_EACU)": { "key": "FR_2", "label": "2", } "S(FR_EGRV)": { "key": "FR_3", "label": "3", } "S(FR_ECIR)": { "key": "FR_4", "label": "4", } "S(FR_LPRN)": { "key": "FR_5", "label": "5", } "S(FR_RPRN)": { "key": "FR_6", "label": "6", } "S(FR_LSQU)": { "key": "FR_7", "label": "7", } "S(FR_RSQU)": { "key": "FR_8", "label": "8", } "S(FR_LDAQ)": { "key": "FR_9", "label": "9", } "S(FR_RDAQ)": { "key": "FR_0", "label": "0", } "S(FR_QUOT)": { "key": "FR_DQUO", "label": "\"", } "S(FR_DCIR)": { "key": "FR_DIAE", "label": "¨ (dead)", } "S(FR_MINS)": { "key": "FR_NDSH", "label": "–", } "S(FR_PLUS)": { "key": "FR_PLMN", "label": "±", } "S(FR_SLSH)": { "key": "FR_BSLS", "label": "\\", } "S(FR_ASTR)": { "key": "FR_HALF", "label": "½", } "S(FR_LABK)": { "key": "FR_RABK", "label": ">", } "S(FR_DOT)": { "key": "FR_QUES", "label": "?", } "S(FR_COMM)": { "key": "FR_EXLM", "label": "!", } "S(FR_COLN)": { "key": "FR_ELLP", "label": "…", } "S(FR_SCLN)": { "key": "FR_EQL", "label": "=", } /* AltGr symbols * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ * │ ˘ │ § │ ´ │ ` │ & │ [ │ ] │ ¯ │ _ │ “ │ ” │ ° │ ˇ │ │ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ * │ │ æ │ £ │ € │ ® │ { │ } │ ù │ ˙ │ œ │ % │ − │ † │ │ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ * │ │ θ │ ß │ $ │ ¤ │ µ │ Eu│ │ ∕ │ | │ ∞ │ ÷ │ × │ │ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ * │ │ ≤ │ ʒ │ © │ ç │ ¸ │ − │ ~ │ ¿ │ ¡ │ · │ ≃ │ │ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ * │ │ │ │ │ │ │ │ │ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ */ "ALGR(FR_AT)": { "key": "FR_BREV", "label": "˘ (dead)", } "ALGR(FR_AGRV)": { "key": "FR_SECT", "label": "§", } "ALGR(FR_EACU)": { "key": "FR_ACUT", "label": "´ (dead)", } "ALGR(FR_EGRV)": { "key": "FR_GRV", "label": "` (dead)", } "ALGR(FR_ECIR)": { "key": "FR_AMPR", "label": "&", } "ALGR(FR_LPRN)": { "key": "FR_LBRC", "label": "[", } "ALGR(FR_RPRN)": { "key": "FR_RBRC", "label": "]", } "ALGR(FR_LSQU)": { "key": "FR_MACR", "label": "¯ (dead)", } "ALGR(FR_RSQU)": { "key": "FR_UNDS", "label": "_", } "ALGR(FR_LDAQ)": { "key": "FR_LDQU", "label": "“", } "ALGR(FR_RDAQ)": { "key": "FR_RDQU", "label": "”", } "ALGR(FR_QUOT)": { "key": "FR_DEG", "label": "°", } "ALGR(FR_DCIR)": { "key": "FR_CARN", "label": "ˇ (dead)", } "ALGR(FR_A)": { "key": "FR_AE", "label": "æ", } "ALGR(FR_Z)": { "key": "FR_PND", "label": "£", } "ALGR(FR_E)": { "key": "FR_EURO", "label": "€", } "ALGR(FR_R)": { "key": "FR_REGD", "label": "®", } "ALGR(FR_T)": { "key": "FR_LCBR", "label": "{", } "ALGR(FR_Y)": { "key": "FR_RCBR", "label": "}", } "ALGR(FR_U)": { "key": "FR_UGRV", "label": "ù", } "ALGR(FR_I)": { "key": "FR_DOTA", "label": "˙ (dead)", } "ALGR(FR_O)": { "key": "FR_OE", "label": "œ", } "ALGR(FR_P)": { "key": "FR_PERC", "label": "%", } "ALGR(FR_MINS)": { "key": "FR_MMNS", "label": "−", } "ALGR(FR_PLUS)": { "key": "FR_DAGG", "label": "†", } "ALGR(FR_Q)": { "key": "FR_THET", "label": "θ", } "ALGR(FR_S)": { "key": "FR_SS", "label": "ß", } "ALGR(FR_D)": { "key": "FR_DLR", "label": "$", } "ALGR(FR_F)": { "key": "FR_CURR", "label": "¤ (dead monetary key)", } "ALGR(FR_G)": { "key": "FR_DGRK", "label": "µ (dead Greek key)", } "ALGR(FR_H)": { "key": "FR_EU", "label": "Eu (dead European symbol key)", } "ALGR(FR_K)": { "key": "FR_DSLS", "label": "∕ (dead)", } "ALGR(FR_L)": { "key": "FR_PIPE", "label": "|", } "ALGR(FR_M)": { "key": "FR_INFN", "label": "∞", } "ALGR(FR_SLSH)": { "key": "FR_DIV", "label": "÷", } "ALGR(FR_ASTR)": { "key": "FR_MUL", "label": "×", } "ALGR(FR_LABK)": { "key": "FR_LEQL", "label": "≤", } "ALGR(FR_W)": { "key": "FR_EZH", "label": "ʒ", } "ALGR(FR_X)": { "key": "FR_COPY", "label": "©", } "ALGR(FR_C)": { "key": "FR_CCED", "label": "ç", } "ALGR(FR_V)": { "key": "FR_CEDL", "label": "¸ (dead)", } "ALGR(FR_B)": { "key": "FR_DMNS", "label": "− (dead)", } "ALGR(FR_N)": { "key": "FR_DTIL", "label": "~ (dead)", } "ALGR(FR_DOT)": { "key": "FR_IQUE", "label": "¿", } "ALGR(FR_COMM)": { "key": "FR_IEXL", "label": "¡", } "ALGR(FR_COLN)": { "key": "FR_MDDT", "label": "·", } "ALGR(FR_SCLN)": { "key": "FR_AEQL", "label": "≃", } /* Shift+AltGr symbols * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ * │ ̑ │ │ │ │ │ ˝ │ ̏ │ │ — │ ‹ │ › │ ˚ │ │ │ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ * │ │ │ │ │ │ ™ │ │ │ ̣ │ │ ‰ │ ‑ │ ‡ │ │ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ * │ │ │ │ │ │ │ ˍ │ │ │ │ │ √ │ ¼ │ │ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ * │ │ ≥ │ │ │ │ ˛ │ │ │ │ ̦ │ │ ≠ │ │ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ * │ │ │ │ │ │ │ │ │ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ */ "S(ALGR(FR_AT))": { "key": "FR_IBRV", "label": "̑ (dead)", } "S(ALGR(FR_LPRN))": { "key": "FR_DACU", "label": "˝ (dead)", } "S(ALGR(FR_RPRN))": { "key": "FR_DGRV", "label": "̏ (dead)", } "S(ALGR(FR_RSQU))": { "key": "FR_MDSH", "label": "—", } "S(ALGR(FR_LDAQ))": { "key": "FR_LSAQ", "label": "‹", } "S(ALGR(FR_RDAQ))": { "key": "FR_RSAQ", "label": "›", } "S(ALGR(FR_QUOT))": { "key": "FR_RNGA", "label": "˚ (dead)", } "S(ALGR(FR_T))": { "key": "FR_TM", "label": "™", } "S(ALGR(FR_I))": { "key": "FR_DOTB", "label": "̣ (dead)", } "S(ALGR(FR_P))": { "key": "FR_PERM", "label": "‰", } "S(ALGR(FR_MINS))": { "key": "FR_NBHY", "label": "‑ (non-breaking hyphen)", } "S(ALGR(FR_PLUS))": { "key": "FR_DDAG", "label": "‡", } "S(ALGR(FR_H))": { "key": "FR_MACB", "label": "ˍ (dead)", } "S(ALGR(FR_SLSH))": { "key": "FR_SQRT", "label": "√", } "S(ALGR(FR_ASTR))": { "key": "FR_QRTR", "label": "¼", } "S(ALGR(FR_LABK))": { "key": "FR_GEQL", "label": "≥", } "S(ALGR(FR_V))": { "key": "FR_OGON", "label": "˛ (dead)", } "S(ALGR(FR_COMM))": { "key": "FR_DCMM", "label": "̦ (dead)", } "S(ALGR(FR_SCLN))": { "key": "FR_NEQL", "label": "≠", } } }