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