1// Keyboard layouts for Lithuania.
2
3// Lithuanian Numeric layout -- Lithuanian letters on the numeric row.
4// Based on the Lithuanian keymap by Ričardas Čepas <rch@richard.eu.org>.
5// Third and fourth levels added by Mantas Kriaučiūnas <mantas@akl.lt>, 2004.
6// Minor modifications and cleanup by Rimas Kudelis <rq@akl.lt>, 2010.
7default partial alphanumeric_keys modifier_keys
8xkb_symbols "basic" {
9
10    include "latin"
11    include "level3(ralt_switch)"
12
13    name[Group1]="Lithuanian";
14
15    key <TLDE> {[               grave,   asciitilde,    acute                ]};
16    key <AE01> {[             aogonek,      Aogonek,        1,        exclam ]};
17    key <AE02> {[              ccaron,       Ccaron,        2,            at ]};
18    key <AE03> {[             eogonek,      Eogonek,        3,    numbersign ]};
19    key <AE04> {[           eabovedot,    Eabovedot,        4,        dollar ]};
20    key <AE05> {[             iogonek,      Iogonek,        5,       percent ]};
21    key <AE06> {[              scaron,       Scaron,        6,   asciicircum ]};
22    key <AE07> {[             uogonek,      Uogonek,        7,     ampersand ]};
23    key <AE08> {[             umacron,      Umacron,        8,      asterisk ]};
24    key <AE09> {[  doublelowquotemark,    parenleft,        9,     parenleft ]};
25    key <AE10> {[ leftdoublequotemark,   parenright,        0,    parenright ]};
26    key <AE11> {[               minus,   underscore,   endash                ]};
27    key <AE12> {[              zcaron,       Zcaron,    equal,          plus ]};
28
29    key <AD03> {[            NoSymbol,     NoSymbol, EuroSign,      sterling ]};
30
31    key <LSGT> {[              endash,     EuroSign                          ]};
32};
33
34// Similar to the above, but with the Lithuanian letters on 3rd and 4th levels.
35partial alphanumeric_keys modifier_keys
36xkb_symbols "us" {
37
38    include "latin"
39    include "level3(ralt_switch)"
40
41    name[Group1]="Lithuanian (US)";
42
43    key <TLDE> {[    grave,    asciitilde,               acute               ]};
44    key <AE01> {[        1,        exclam,             aogonek,      Aogonek ]};
45    key <AE02> {[        2,            at,              ccaron,       Ccaron ]};
46    key <AE03> {[        3,    numbersign,             eogonek,      Eogonek ]};
47    key <AE04> {[        4,        dollar,           eabovedot,    Eabovedot ]};
48    key <AE05> {[        5,       percent,             iogonek,      Iogonek ]};
49    key <AE06> {[        6,   asciicircum,              scaron,       Scaron ]};
50    key <AE07> {[        7,     ampersand,             uogonek,      Uogonek ]};
51    key <AE08> {[        8,      asterisk,             umacron,      Umacron ]};
52    key <AE09> {[        9,     parenleft,  doublelowquotemark               ]};
53    key <AE10> {[        0,    parenright, leftdoublequotemark               ]};
54    key <AE11> {[    minus,    underscore,              endash               ]};
55    key <AE12> {[    equal,          plus,              zcaron,       Zcaron ]};
56
57    key <AD03> {[ NoSymbol,      NoSymbol,            EuroSign,     sterling ]};
58
59    key <LSGT> {[   endash,      EuroSign                                    ]};
60};
61
62// Lithuanian keymap LST 1582:2000 (described at http://ims.mii.lt/klav/).
63// Extensions: B01 L3 is "<", B02 L3 is ">", and B03 L3 is endash, to make
64// this layout usable with pc101 and pc104 keyboards.
65//
66// Made by Gediminas Paulauskas <menesis@delfi.lt>
67// Minor modifications by Ričardas Čepas and Rimas Kudelis
68
69partial alphanumeric_keys modifier_keys
70xkb_symbols "std" {
71
72    include "latin"
73    include "nbsp(level3)"
74    include "kpdl(comma)"
75    include "level3(ralt_switch)"
76
77    name[Group1]="Lithuanian (standard)";
78
79    key <TLDE> {[        grave,  asciitilde,               acute ]};
80    key <AE01> {[       exclam,           1,                  at ]};
81    key <AE02> {[        minus,           2,          underscore ]};
82    key <AE03> {[        slash,           3,          numbersign ]};
83    key <AE04> {[    semicolon,           4,              dollar ]};
84    key <AE05> {[        colon,           5,             section ]};
85    key <AE06> {[        comma,           6,         asciicircum ]};
86    key <AE07> {[       period,           7,           ampersand ]};
87    key <AE08> {[        equal,           8,            asterisk ]};
88    key <AE09> {[    parenleft,           9,         bracketleft ]};
89    key <AE10> {[   parenright,           0,        bracketright ]};
90    key <AE11> {[     question,        plus,          apostrophe ]};
91    key <AE12> {[            x,           X,             percent ]};
92
93    key <AD01> {[      aogonek,     Aogonek                      ]};
94    key <AD02> {[       zcaron,      Zcaron                      ]};
95    key <AD03> {[            e,           E,            EuroSign ]};
96    key <AD11> {[      iogonek,     Iogonek,           braceleft ]};
97    key <AD12> {[            w,           W,          braceright ]};
98
99    key <AC04> {[       scaron,      Scaron                      ]};
100    key <AC10> {[      uogonek,     Uogonek                      ]};
101    key <AC11> {[    eabovedot,   Eabovedot,            quotedbl ]};
102    key <BKSL> {[            q,           Q,                 bar ]};
103
104    key <LSGT> {[         less,     greater,              endash ]};
105    key <AB01> {[            z,           Z,                less ]};
106    key <AB02> {[      umacron,     Umacron,             greater ]};
107    key <AB03> {[            c,           C,              endash ]};
108    key <AB08> {[       ccaron,      Ccaron,  doublelowquotemark ]};
109    key <AB09> {[            f,           F, leftdoublequotemark ]};
110    key <AB10> {[      eogonek,     Eogonek,           backslash ]};
111};
112
113// Lithuanian keymap LST 1205-92 (also know as IBM layout).
114// This standard was made deprecated by LST 1582:2000 above.
115//
116// Made by Piter PUNK <piterpk@terra.com.br>
117// Minor modifications and cleanup by Rimas Kudelis, 2010
118partial alphanumeric_keys modifier_keys
119xkb_symbols "ibm" {
120
121    include "latin"
122    include "nbsp(level3)"
123    include "level3(ralt_switch)"
124
125    name[Group1]="Lithuanian (IBM LST 1205-92)";
126
127    key <TLDE> {[              grave,          asciitilde,          acute               ]};
128    key <AE01> {[             exclam,                   1                               ]};
129    key <AE02> {[           quotedbl,                   2,             at               ]};
130    key <AE03> {[              slash,                   3,     numbersign               ]};
131    key <AE04> {[          semicolon,                   4,         dollar               ]};
132    key <AE05> {[              colon,                   5,        percent               ]};
133    key <AE06> {[              comma,                   6,    asciicircum               ]};
134    key <AE07> {[             period,                   7,      ampersand               ]};
135    key <AE08> {[           question,                   8,       asterisk               ]};
136    key <AE09> {[          parenleft,                   9                               ]};
137    key <AE10> {[         parenright,                   0                               ]};
138    key <AE11> {[         underscore,               minus,         endash               ]};
139    key <AE12> {[               plus,               equal                               ]};
140
141    key <AD01> {[            aogonek,             Aogonek,              q,            Q ]};
142    key <AD02> {[             zcaron,              Zcaron,              w,            W ]};
143    key <AD03> {[                  e,                   E,       EuroSign               ]};
144    key <AD11> {[            iogonek,             Iogonek,    bracketleft,    braceleft ]};
145    key <AD12> {[ doublelowquotemark, leftdoublequotemark,   bracketright,   braceright ]};
146
147    key <AC10> {[            uogonek,             Uogonek,      semicolon,        colon ]};
148    key <AC11> {[          eabovedot,           Eabovedot,     apostrophe,     quotedbl ]};
149
150    key <LSGT> {[               less,             greater,         endash               ]};
151    key <AB02> {[            umacron,             Umacron,              x,            X ]};
152    key <AB08> {[             ccaron,              Ccaron,          comma,         less ]};
153    key <AB09> {[             scaron,              Scaron,         period,      greater ]};
154    key <AB10> {[            eogonek,             Eogonek,          slash,     question ]};
155};
156
157// LEKP and LEKPa layouts 1.0
158// For more info visit http://lekp.info
159// Created by Tautrimas Pajarskas, 2007
160// Made by Ernestas Lukoševičius, 2007
161// Minor cleanup by Rimas Kudelis, 2010
162partial alphanumeric_keys modifier_keys
163xkb_symbols "lekp" {
164
165    include "capslock(backspace)"
166    include "level3(ralt_switch)"
167
168    name[Group1]="Lithuanian (LEKP)";
169
170    key <TLDE> {[        grave,          asciitilde,         acute ]};
171    key <AE01> {[        slash,          numbersign,           bar ]};
172    key <AE02> {[    backslash,                  at,       section ]};
173    key <AE03> {[       period,           braceleft                ]};
174    key <AE04> {[        comma,          braceright                ]};
175    key <AE05> {[            f,                   F                ]};
176    key <AE06> {[       exclam,              endash                ]};
177    key <AE07> {[            w,                   W                ]};
178    key <AE08> {[      uogonek,             Uogonek                ]};
179    key <AE09> {[      iogonek,             Iogonek                ]};
180    key <AE10> {[    parenleft,  doublelowquotemark,    registered ]};
181    key <AE11> {[   parenright, leftdoublequotemark,     copyright ]};
182    key <AE12> {[        colon,           ampersand,     trademark ]};
183
184    key <AD01> {[            q,                   Q,      EuroSign ]};
185    key <AD02> {[            g,                   G,             7 ]};
186    key <AD03> {[            r,                   R,             8 ]};
187    key <AD04> {[            l,                   L,             9 ]};
188    key <AD05> {[            d,                   D,       percent ]};
189    key <AD06> {[       ccaron,              Ccaron                ]};
190    key <AD07> {[            j,                   J                ]};
191    key <AD08> {[            u,                   U,        period ]};
192    key <AD09> {[    eabovedot,           Eabovedot,         minus ]};
193    key <AD10> {[      eogonek,             Eogonek,         slash ]};
194    key <AD11> {[     question,         bracketleft,      division ]};
195    key <AD12> {[        equal,        bracketright                ]};
196
197    key <AC01> {[            a,                   A,             0 ]};
198    key <AC02> {[            k,                   K,             4 ]};
199    key <AC03> {[            s,                   S,             5 ]};
200    key <AC04> {[            t,                   T,             6 ]};
201    key <AC05> {[            m,                   M,        dollar ]};
202    key <AC06> {[            p,                   P                ]};
203    key <AC07> {[            n,                   N                ]};
204    key <AC08> {[            e,                   E,         comma ]};
205    key <AC09> {[            i,                   I,          plus ]};
206    key <AC10> {[            o,                   O,      asterisk ]};
207    key <AC11> {[            y,                   Y,      multiply ]};
208    key <BKSL> {[   apostrophe,          underscore                ]};
209
210    key <LSGT> {[    semicolon,            quotedbl,      sterling ]};
211    key <AB01> {[            z,                   Z,   asciicircum ]};
212    key <AB02> {[            x,                   X,             1 ]};
213    key <AB03> {[            c,                   C,             2 ]};
214    key <AB04> {[            v,                   V,             3 ]};
215    key <AB05> {[       zcaron,              Zcaron                ]};
216    key <AB06> {[       scaron,              Scaron                ]};
217    key <AB07> {[            b,                   B,        degree ]};
218    key <AB08> {[      umacron,             Umacron,          less ]};
219    key <AB09> {[      aogonek,             Aogonek,       greater ]};
220    key <AB10> {[            h,                   H                ]};
221};
222
223partial alphanumeric_keys modifier_keys
224xkb_symbols "lekpa" {
225
226    include "lt(lekp)"
227
228    name[Group1]="Lithuanian (LEKPa)";
229
230    key <AE01> {[        slash,            quotedbl,           bar ]};
231    key <AE03> {[       period,           braceleft,    numbersign ]};
232    key <AE04> {[        comma,          braceright,      sterling ]};
233    key <AE05> {[            f,                   F,     ampersand ]};
234    key <AE12> {[        colon,           semicolon,     trademark ]};
235
236    key <LSGT> {[         less,             greater,           bar ]};
237};
238
239// Samogitian (žemaiťiu/žemaičių) layout, based on the Lithuanian standard layout.
240// Long vowels are made by combining: pressing the grave key (`) after the vowel.
241// Special letters (ëůȧťď and Latvian ģŗļķ) are obtained with AltGr plus the base letter.
242//
243// Added by Arnas Udovičius <zordsdavini@gmail.com>, 2020.
244partial alphanumeric_keys modifier_keys
245xkb_symbols "sgs" {
246
247    include "lt(basic)"
248
249    name[Group1]="Samogitian";
250
251    key <TLDE>	{[ U0304,  asciitilde,  grave,       acute      ]};
252    key <AD01>	{[ q,      Q,           ediaeresis,  Ediaeresis ]};
253    key <AD02>	{[ w,      W,           U016F,       U016E      ]};
254    key <AD04>	{[ r,      R,           rcedilla,    Rcedilla   ]};
255    key <AD05>	{[ t,      T,           tcaron,      Tcaron     ]};
256    key <AC01>	{[ a,      A,           U0227,       U0226      ]};
257    key <AC03>	{[ d,      D,           dcaron,      Dcaron     ]};
258    key <AC05>	{[ g,      G,           gcedilla,    Gcedilla   ]};
259    key <AC08>	{[ k,      K,           kcedilla,    Kcedilla   ]};
260    key <AC09>	{[ l,      L,           lcedilla,    Lcedilla   ]};
261};
262
263// Lithuanian "Ratise" keymap, by Algirdas Buckus <algirdasbuckus@gmail.com>.
264// Last changed on 2020-12-24.
265partial alphanumeric_keys modifier_keys
266xkb_symbols "ratise" {
267
268    include "level3(ralt_switch)"
269
270    name[Group1]="Lithuanian (Ratise)";
271
272    key <TLDE> { [       plus,     section,                grave,              acute ] };
273    key <AE01> { [     exclam,    currency, rightsinglequotemark,         exclamdown ] };
274    key <AE02> { [      colon,          at,            0x10027E8,          0x1002190 ] }; // MATHEMATICAL LEFT ANGLE BRACKET; LEFTWARDS ARROW
275    key <AE03> { [     period,  numbersign,            0x10027E9,          0x1002192 ] }; // MATHEMATICAL RIGHT ANGLE BRACKET; RIGHTWARDS ARROW
276    key <AE04> { [   asterisk,      dollar, rightdoublequotemark,           sterling ] };
277    key <AE05> { [ underscore,     percent,             ellipsis,          0x1002030 ] }; // PER MILLE SIGN
278    key <AE06> { [     emdash,         bar,          asciicircum,          brokenbar ] };
279    key <AE07> { [      equal,   ampersand,                    7,           notequal ] };
280    key <AE08> { [      comma,        less,                    8,      lessthanequal ] };
281    key <AE09> { [  semicolon,     greater,                    9,   greaterthanequal ] };
282    key <AE10> { [      slash,   backslash,             division,          0x1002016 ] }; // DOUBLE VERTICAL LINE
283    key <AE11> { [          w,           W,          Greek_OMEGA,             ssharp ] };
284    key <AE12> { [   question,  asciitilde,            0x1002248,       questiondown ] }; // ALMOST EQUAL TO
285
286    key <AD01> { [    umacron,     Umacron,  leftsinglequotemark,          0x100203A ] }; // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
287    key <AD02> { [  eabovedot,   Eabovedot,          bracketleft,     dead_abovering ] };
288    key <AD03> { [          y,           Y,         bracketright,    dead_circumflex ] };
289    key <AD04> { [          o,           O,  leftdoublequotemark,     guillemotright ] };
290    key <AD05> { [          q,           Q,            0x1000301,          0x1002191 ] }; // COMBINING ACUTE ACCENT; UPWARDS ARROW
291    key <AD06> { [          j,           J,             EuroSign,                yen ] };
292    key <AD07> { [          n,           N,                    4,            notsign ] };
293    key <AD08> { [          k,           K,                    5,             dagger ] };
294    key <AD09> { [          g,           G,                    6, enfilledcircbullet ] };
295    key <AD10> { [          b,           B,             multiply,           infinity ] };
296    key <AD11> { [          c,           C,                 cent,          copyright ] };
297    key <AD12> { [          f,           F,            0x1002044,          trademark ] }; // FRACTION SLASH
298
299    key <AC01> { [          u,           U,           apostrophe,        dead_macron ] };
300    key <AC02> { [          e,           E,            parenleft,         dead_grave ] };
301    key <AC03> { [          i,           I,           parenright,         dead_acute ] };
302    key <AC04> { [          a,           A,             quotedbl,     dead_diaeresis ] };
303    key <AC05> { [          h,           H,            0x1000303,         dead_tilde ] }; // COMBINING TILDE ACCENT
304    key <AC06> { [          l,           L,              lstroke,            Lstroke ] };
305    key <AC07> { [          r,           R,                    1,        onesuperior ] };
306    key <AC08> { [          t,           T,                    2,        twosuperior ] };
307    key <AC09> { [          s,           S,                    3,      threesuperior ] };
308    key <AC10> { [          p,           P,            0x1002212,          paragraph ] }; // MINUS SIGN
309    key <AC11> { [     zcaron,      Zcaron,                minus,       dead_cedilla ] };
310    key <BKSL> { [          z,           Z,               degree,         registered ] };
311
312    key <LSGT> { [      minus,      endash,            0x1000307,          0x1002011 ] }; // COMBINING DOT ABOVE, NON-BREAKING HYPHEN
313    key <AB01> { [    uogonek,     Uogonek,   singlelowquotemark,          0x1002039 ] }; // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
314    key <AB02> { [    eogonek,     Eogonek,            braceleft,         dead_breve ] };
315    key <AB03> { [    iogonek,     Iogonek,           braceright,         dead_caron ] };
316    key <AB04> { [    aogonek,     Aogonek,   doublelowquotemark,      guillemotleft ] };
317    key <AB05> { [          x,           X,            0x1000300,          0x1002193 ] }; // COMBINING GRAVE ACCENT; DOWNWARDS ARROW
318    key <AB06> { [          v,           V,           squareroot,          0x10025CA ] }; // LOZENGE
319    key <AB07> { [          m,           M,                    0,                 mu ] };
320    key <AB08> { [          d,           D,               period,       doubledagger ] };
321    key <AB09> { [     scaron,      Scaron,                comma,          0x10000B7 ] }; // MIDDLE DOT
322    key <AB10> { [     ccaron,      Ccaron,                 plus,          plusminus ] };
323
324    key <SPCE> { [      space,       space,                space,       nobreakspace ] };
325
326    key <TAB>  { [        Tab,ISO_Left_Tab,            Multi_key                     ] }; // Tab as Multi_key (Compose)
327};
328
329// EXTRAS:
330
331partial alphanumeric_keys modifier_keys
332xkb_symbols "us_dvorak" {
333
334    include "us(dvorak)"
335
336    name[Group1]="Lithuanian (Dvorak)";
337
338    key <AE01>	{[     1,       exclam,     aogonek,    Aogonek ]};
339    key <AE02>	{[     2,           at,      ccaron,     Ccaron ]};
340    key <AE03>	{[     3,   numbersign,     eogonek,    Eogonek ]};
341    key <AE04>	{[     4,       dollar,   eabovedot,  Eabovedot ]};
342    key <AE05>	{[     5,      percent,     iogonek,    Iogonek ]};
343    key <AE06>	{[     6,  asciicircum,      scaron,     Scaron ]};
344    key <AE07>	{[     7,    ampersand,     uogonek,    Uogonek ]};
345    key <AE08>	{[     8,     asterisk,     umacron,    Umacron ]};
346    key <AE09>	{[     9,    parenleft,  doublelowquotemark,  parenleft ]};
347    key <AE10>	{[     0,   parenright, leftdoublequotemark, parenright ]};
348    key <AD12>	{[ equal,         plus,      zcaron,     Zcaron ]};
349
350    include "level3(ralt_switch)"
351};
352
353partial alphanumeric_keys
354	xkb_symbols "sun_type6" {
355	include "sun_vndr/lt(sun_type6)"
356};
357