summaryrefslogtreecommitdiff
path: root/xkb/symbols/ergol-07-lx
blob: 1bfd3bfa0b84de38cd43382d3fdb4552d6779fd0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
// Generated by kalamine on 2024-04-08
//
// This XKB symbols file should be copied to:
//     /usr/share/X11/xkb/symbols/custom
// or
//     $XKB_CONFIG_ROOT/symbols/custom
//
// File          : ergol.xkb_symbols
// Project page  : https://github.com/Nuclear-Squid/ergol
// Author        : NuclearSquid
// Version       : 0.7.0-LX
// License       : WTFPL - Do What The Fuck You Want Public License
//
// French (Ergo-L)
//
// Base layer + dead key
// ╭╌╌╌╌╌┰─────┬─────┬─────┬─────┬─────┰─────┬─────┬─────┬─────┬─────┰╌╌╌╌╌┬╌╌╌╌╌╮
// ┆ ~   ┃ 1 ¡ │ 2 « │ 3 » │ 4 ¢ │ 5 ‰ ┃ 6   │ 7   │ 8   │ 9   │ 0   ┃ # – ┆ + ± ┆
// ┆ ^   ┃ { „ │ } “ │ " ” │ ' £ │ [ € ┃ ] ¥ │ ` ¤ │ _ § │ ( ¶ │ ) ° ┃ / ÷ ┆ = ≠ ┆
// ╰╌╌╌╌╌╂─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┼╌╌╌╌╌┤
//       ┃ Q   │ C   │ O   │ P   │ W   ┃ J   │ M   │ D _ │***¨ │ F   ┃ @   ┆ &   ┆
//       ┃   â │   ç │   œ │   ô │   – ┃     │   µ │   _ │***¨ │   û ┃ !   ┆ $   ┆
//       ┠─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┼╌╌╌╌╌┤
//       ┃ A   │ S   │ E   │ N   │ ; • ┃ L   │ R   │ T   │ I   │ U   ┃ %   ┆ |   ┆
//       ┃   à │   é │   è │   ê │ , · ┃     │     │   î │   ï │   ù ┃ \   ┆ *   ┆
// ╭╌╌╌╌╌╂─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┴╌╌╌╌╌╯
// ┆ >   ┃ Z   │ X   │ ? ¿ │ V   │ B   ┃ :   │ H   │ G   │ Y   │ K   ┃
// ┆ <   ┃   æ │   ß │ - ‑ │   ñ │   — ┃ . … │     │  *µ │   ÿ │   ŭ ┃
// ╰╌╌╌╌╌┸─────┴─────┴─────┴─────┴─────┸─────┴─────┴─────┴─────┴─────┚
//
// AltGr layer
// ╭╌╌╌╌╌┰─────┬─────┬─────┬─────┬─────┰─────┬─────┬─────┬─────┬─────┰╌╌╌╌╌┬╌╌╌╌╌╮
// ┆     ┃   ¹ │   ² │   ³ │   ⁴ │   ⁵ ┃   ⁶ │   ⁷ │   ⁸ │   ⁹ │   ⁰ ┃     ┆     ┆
// ┆     ┃   ₁ │   ₂ │   ₃ │   ₄ │   ₅ ┃   ₆ │   ₇ │   ₈ │   ₉ │   ₀ ┃     ┆     ┆
// ╰╌╌╌╌╌╂─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┼╌╌╌╌╌┤
//       ┃     │     │     │  *¤ │   ‰ ┃  *^ │     │   × │  *´ │  *` ┃     ┆     ┆
//       ┃   @ │   < │   > │   $ │   % ┃   ^ │   & │   * │   ' │   ` ┃     ┆     ┆
//       ┠─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┼╌╌╌╌╌┤
//       ┃     │   ⁽ │   ⁾ │     │   ≠ ┃  */ │   ± │   — │   ÷ │  *¨ ┃     ┆     ┆
//       ┃   { │   ( │   ) │   } │   = ┃   \ │   + │   - │   / │   " ┃     ┆     ┆
// ╭╌╌╌╌╌╂─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┴╌╌╌╌╌╯
// ┆     ┃  *~ │     │     │   – │     ┃     │   ¬ │  *¸ │     │     ┃
// ┆     ┃   ~ │   [ │   ] │   _ │   # ┃   | │   ! │   ; │   : │   ? ┃
// ╰╌╌╌╌╌┸─────┴─────┴─────┴─────┴─────┸─────┴─────┴─────┴─────┴─────┚

partial alphanumeric_keys modifier_keys
xkb_symbols "ergol" {
    name[group1]= "French (Ergo-L)";
    key.type[group1] = "EIGHT_LEVEL";

    // Digits
    key <AE01> {[ braceleft       , 1               , U2081           , onesuperior     , U201E           , exclamdown      ]}; // { 1 ₁ ¹ „ ¡
    key <AE02> {[ braceright      , 2               , U2082           , twosuperior     , U201C           , guillemotleft   ]}; // } 2 ₂ ² “ «
    key <AE03> {[ quotedbl        , 3               , U2083           , threesuperior   , U201D           , guillemotright  ]}; // " 3 ₃ ³ ” »
    key <AE04> {[ apostrophe      , 4               , U2084           , U2074           , sterling        , cent            ]}; // ' 4 ₄ ⁴ £ ¢
    key <AE05> {[ bracketleft     , 5               , U2085           , U2075           , EuroSign        , U2030           ]}; // [ 5 ₅ ⁵ € ‰
    key <AE06> {[ bracketright    , 6               , U2086           , U2076           , yen             , VoidSymbol      ]}; // ] 6 ₆ ⁶ ¥
    key <AE07> {[ grave           , 7               , U2087           , U2077           , currency        , VoidSymbol      ]}; // ` 7 ₇ ⁷ ¤
    key <AE08> {[ underscore      , 8               , U2088           , U2078           , section         , VoidSymbol      ]}; // _ 8 ₈ ⁸ §
    key <AE09> {[ parenleft       , 9               , U2089           , U2079           , paragraph       , VoidSymbol      ]}; // ( 9 ₉ ⁹ ¶
    key <AE10> {[ parenright      , 0               , U2080           , U2070           , degree          , VoidSymbol      ]}; // ) 0 ₀ ⁰ °

    // Letters, first row
    key <AD01> {[ q               , Q               , at              , VoidSymbol      , acircumflex     , Acircumflex     ]}; // q Q @   â Â
    key <AD02> {[ c               , C               , less            , lessthanequal   , ccedilla        , Ccedilla        ]}; // c C < ≤ ç Ç
    key <AD03> {[ o               , O               , greater         , greaterthanequal, oe              , OE              ]}; // o O > ≥ œ Œ
    key <AD04> {[ p               , P               , dollar          , dead_currency   , ocircumflex     , Ocircumflex     ]}; // p P $ ¤ ô Ô
    key <AD05> {[ w               , W               , percent         , U2030           , endash          , VoidSymbol      ]}; // w W % ‰ –
    key <AD06> {[ j               , J               , asciicircum     , dead_circumflex , VoidSymbol      , VoidSymbol      ]}; // j J ^ ^
    key <AD07> {[ m               , M               , ampersand       , VoidSymbol      , mu              , VoidSymbol      ]}; // m M &   µ
    key <AD08> {[ d               , D               , asterisk        , multiply        , underscore      , underscore      ]}; // d D * × _ _
    key <AD09> {[ ISO_Level5_Latch, ISO_Level5_Latch, apostrophe      , dead_acute      , dead_diaeresis  , dead_diaeresis  ]}; // *¨ *¨ ' ´ ¨ ¨
    key <AD10> {[ f               , F               , grave           , dead_grave      , ucircumflex     , Ucircumflex     ]}; // f F ` ` û Û

    // Letters, second row
    key <AC01> {[ a               , A               , braceleft       , VoidSymbol      , agrave          , Agrave          ]}; // a A {   à À
    key <AC02> {[ s               , S               , parenleft       , U207D           , eacute          , Eacute          ]}; // s S ( ⁽ é É
    key <AC03> {[ e               , E               , parenright      , U207E           , egrave          , Egrave          ]}; // e E ) ⁾ è È
    key <AC04> {[ n               , N               , braceright      , VoidSymbol      , ecircumflex     , Ecircumflex     ]}; // n N }   ê Ê
    key <AC05> {[ comma           , semicolon       , equal           , notequal        , periodcentered  , U2022           ]}; // , ; = ≠ · •
    key <AC06> {[ l               , L               , backslash       , dead_stroke     , VoidSymbol      , VoidSymbol      ]}; // l L \ /
    key <AC07> {[ r               , R               , plus            , plusminus       , VoidSymbol      , VoidSymbol      ]}; // r R + ±
    key <AC08> {[ t               , T               , minus           , emdash          , icircumflex     , Icircumflex     ]}; // t T - — î Î
    key <AC09> {[ i               , I               , slash           , division        , idiaeresis      , Idiaeresis      ]}; // i I / ÷ ï Ï
    key <AC10> {[ u               , U               , quotedbl        , dead_diaeresis  , ugrave          , Ugrave          ]}; // u U " ¨ ù Ù

    // Letters, third row
    key <AB01> {[ z               , Z               , asciitilde      , dead_tilde      , ae              , AE              ]}; // z Z ~ ~ æ Æ
    key <AB02> {[ x               , X               , bracketleft     , VoidSymbol      , ssharp          , U1E9E           ]}; // x X [   ß ẞ
    key <AB03> {[ minus           , question        , bracketright    , VoidSymbol      , U2011           , questiondown    ]}; // - ? ]   ‑ ¿
    key <AB04> {[ v               , V               , underscore      , endash          , ntilde          , Ntilde          ]}; // v V _ – ñ Ñ
    key <AB05> {[ b               , B               , numbersign      , VoidSymbol      , emdash          , VoidSymbol      ]}; // b B #   —
    key <AB06> {[ period          , colon           , bar             , brokenbar       , ellipsis        , VoidSymbol      ]}; // . : | ¦ …
    key <AB07> {[ h               , H               , exclam          , notsign         , VoidSymbol      , VoidSymbol      ]}; // h H ! ¬
    key <AB08> {[ g               , G               , semicolon       , dead_cedilla    , dead_greek      , VoidSymbol      ]}; // g G ; ¸ µ
    key <AB09> {[ y               , Y               , colon           , VoidSymbol      , ydiaeresis      , Ydiaeresis      ]}; // y Y :   ÿ Ÿ
    key <AB10> {[ k               , K               , question        , VoidSymbol      , ubreve          , Ubreve          ]}; // k K ?   ŭ Ŭ

    // Pinky keys
    key <AE11> {[ slash           , numbersign      , VoidSymbol      , VoidSymbol      , division        , endash          ]}; // / #     ÷ –
    key <AE12> {[ equal           , plus            , VoidSymbol      , VoidSymbol      , notequal        , plusminus       ]}; // = +     ≠ ±
    key <AE13> {[ VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; //
    key <AD11> {[ exclam          , at              , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; // ! @
    key <AD12> {[ dollar          , ampersand       , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; // $ &
    key <AC11> {[ backslash       , percent         , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; // \ %
    key <AB11> {[ VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; //
    key <TLDE> {[ asciicircum     , asciitilde      , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; // ^ ~
    key <BKSL> {[ asterisk        , bar             , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; // * |
    key <LSGT> {[ less            , greater         , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; // < >

    // Space bar
    key <SPCE> {[ space           , U202F           , space           , nobreakspace    , U2019           , U2019           ]}; //         ’ ’

    // The AltGr key is an ISO_Level3_Shift:
    include "level3(ralt_switch)"

    // The “OneDeadKey” is an ISO_Level5_Latch, which is activated by this:
    // (note: MDSW [Mode_switch] is an alias for LVL5 on recent versions of XKB)
    replace key <MDSW> {
        type[Group1] = "ONE_LEVEL",
        symbols[Group1] = [ ISO_Level5_Shift ]
    };
    modifier_map Mod3 { <MDSW> };
};
// vim: ft=xkb:fdm=indent:ts=4:nowrap