1default partial alphanumeric_keys
2xkb_symbols "basic" {
3    include "latin(type2)"
4    include "se(se)"
5};
6
7partial alphanumeric_keys
8xkb_symbols "se" {
9
10    name[Group1]="Swedish";
11
12    key <AE05>	{ [         5,    percent,     EuroSign,         cent ]	};
13    key <AE11>	{ [      plus,   question,    backslash, questiondown ]	};
14    key <AE12>	{ [dead_acute, dead_grave,    plusminus,      notsign ]	};
15
16
17    key <AC10>	{ [odiaeresis, Odiaeresis,       oslash,     Ooblique ]	};
18    key <AC11>	{ [adiaeresis, Adiaeresis,           ae,           AE ]	};
19    key <TLDE>	{ [   section,    onehalf,    paragraph, threequarters]	};
20
21    key <BKSL>	{ [apostrophe,   asterisk,        acute,     multiply ]	};
22
23    key <SPCE>	{ [     space,      space,        space, nobreakspace ]	};
24
25    key <LSGT>  { [      less,     greater,         bar,    brokenbar ] };
26    include "kpdl(comma)"
27
28    include "level3(ralt_switch)"
29};
30
31partial alphanumeric_keys
32xkb_symbols "nodeadkeys" {
33
34    // Modifies the basic Swedish layout to eliminate all dead keys
35
36    include "latin(type2)"
37    include "latin(type2_nodeadkeys)"
38    include "se(se)"
39
40    name[Group1]="Swedish (no dead keys)";
41
42    key <AE12>	{ [     acute,      grave,    plusminus,      notsign ]	};
43};
44
45// Swedish Dvorak
46partial alphanumeric_keys
47xkb_symbols "dvorak" {
48
49    include "se(basic)"
50
51    name[Group1]="Swedish (Dvorak)";
52
53    key <AD01> { [     aring,      Aring,    backslash		     ]	};
54    key <AD02> { [  adiaeresis,	Adiaeresis,  braceleft,  bracketleft ]	};
55    key <AD03> { [ odiaeresis, Odiaeresis,  braceright, bracketright ]	};
56    key <AD04> { [         p,          P,        thorn,        THORN ]	};
57    key <AD05> { [         y,          Y,    leftarrow,          yen ]	};
58    key <AD06> { [         f,          F,      dstroke,  ordfeminine ]	};
59    key <AD07> { [         g,          G,          eng,          ENG ]	};
60    key <AD08> { [         c,          C,    copyright,    copyright ]	};
61    key <AD09> { [         r,          R,   registered,   registered ]	};
62    key <AD10> { [         l,          L,      lstroke,      Lstroke ]	};
63    key <AD11> { [     comma,  semicolon, dead_cedilla,  dead_ogonek ]	};
64    key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde,	asciicircum	]	};
65
66    key <AC01> { [         a,          A,           ae,           AE ]	};
67    key <AC02> { [         o,          O,           oe,           OE ]	};
68    key <AC03> { [         e,          E,     EuroSign,         cent ]	};
69    key <AC04> { [         u,          U,    downarrow,      uparrow ]	};
70    key <AC05> { [         i,          I,   rightarrow,     idotless ]	};
71    key <AC06> { [         d,          D,          eth,          ETH ]	};
72    key <AC07> { [         h,          H,      hstroke,      Hstroke ]	};
73    key <AC08> { [         t,          T,       tslash,       Tslash ]	};
74    key <AC09> { [         n,          N ]	};
75    key <AC10> { [         s,          S,       ssharp,      section ]	};
76    key <AC11> { [     minus, underscore, dead_belowdot, dead_abovedot ] };
77
78    key <AB01> { [    period,   colon, periodcentered, dead_abovedot ]	};
79    key <AB02> { [         q,          Q,           at,  Greek_OMEGA ]	};
80    key <AB03> { [         j,          J ]	};
81    key <AB04> { [         k,          K,          kra,    ampersand ]	};
82    key <AB05> { [         x,          X, guillemotright,    greater ]	};
83    key <AB06> { [         b,          B, rightdoublequotemark, apostrophe ] };
84    key <AB07> { [         m,          M,           mu,    masculine ]	};
85    key <AB08> { [         w,          W,      lstroke,      Lstroke ]	};
86    key <AB09> { [         v,          V, leftdoublequotemark, grave ]	};
87    key <AB10> { [         z,          Z, guillemotleft,        less ]	};
88};
89
90// Ivan Popov, 2005-07-17
91// phonetic layout for Russian cyrillic letters
92// on Swedish (latin type2) keyboards
93
94// level3 modifier is a shortcut to the "se" meaning of the keys where
95// we place cyrillic letters, handy for accessing the corresponding
96// punctuation marks.
97// It is important to have access to punctuation marks, and the rest of
98// alphabetical keys are added for being consequent so that the users
99// can expect the level3 modifier to give what the key label shows.
100
101partial alphanumeric_keys
102xkb_symbols "rus" {
103    include "se(basic)"
104
105    name[Group1]="Russian (Sweden, phonetic)";
106    key.type[group1]="ALPHABETIC";
107
108    key <TLDE> {	[ Cyrillic_io, Cyrillic_IO ]	};
109    key <AE12> {	[ Cyrillic_hardsign, Cyrillic_HARDSIGN ]	};
110
111    key <AD01> {	[ Cyrillic_ya, Cyrillic_YA ]	};
112    key <AD02> {	[ Cyrillic_ve, Cyrillic_VE ]	};
113    key <AD03> {	[ Cyrillic_ie, Cyrillic_IE ]	};
114    key <AD04> {	[ Cyrillic_er, Cyrillic_ER ]	};
115    key <AD05> {	[ Cyrillic_te, Cyrillic_TE ]	};
116    key <AD06> {	[ Cyrillic_yeru, Cyrillic_YERU ]	};
117    key <AD07> {	[ Cyrillic_u, Cyrillic_U ]	};
118    key <AD08> {	[ Cyrillic_i, Cyrillic_I ]	};
119    key <AD09> {	[ Cyrillic_o, Cyrillic_O ]	};
120    key <AD10> {	[ Cyrillic_pe, Cyrillic_PE ]	};
121    key <AD11> {	[ Cyrillic_e, Cyrillic_E ]	};
122
123    key <AC01> {	[ Cyrillic_a, Cyrillic_A ]	};
124    key <AC02> {	[ Cyrillic_es, Cyrillic_ES ]	};
125    key <AC03> {	[ Cyrillic_de, Cyrillic_DE ]	};
126    key <AC04> {	[ Cyrillic_ef, Cyrillic_EF ]	};
127    key <AC05> {	[ Cyrillic_ghe, Cyrillic_GHE ]	};
128    key <AC06> {	[ Cyrillic_ha, Cyrillic_HA ]	};
129    key <AC07> {	[ Cyrillic_shorti, Cyrillic_SHORTI ]	};
130    key <AC08> {	[ Cyrillic_ka, Cyrillic_KA ]	};
131    key <AC09> {	[ Cyrillic_el, Cyrillic_EL ]	};
132    key <AC10> {	[ Cyrillic_sha, Cyrillic_SHA ]	};
133    key <AC11> {	[ Cyrillic_shcha, Cyrillic_SHCHA ]	};
134    key <BKSL> {	[ Cyrillic_yu, Cyrillic_YU ]	};
135
136    key <LSGT> {	[ Cyrillic_che, Cyrillic_CHE ]	};
137    key <AB01> {	[ Cyrillic_ze, Cyrillic_ZE ]	};
138    key <AB02> {	[ Cyrillic_softsign, Cyrillic_SOFTSIGN ]	};
139    key <AB03> {	[ Cyrillic_tse, Cyrillic_TSE ]	};
140    key <AB04> {	[ Cyrillic_zhe, Cyrillic_ZHE ]	};
141    key <AB05> {	[ Cyrillic_be, Cyrillic_BE ]	};
142    key <AB06> {	[ Cyrillic_en, Cyrillic_EN ]	};
143    key <AB07> {	[ Cyrillic_em, Cyrillic_EM ]	};
144};
145
146partial alphanumeric_keys
147xkb_symbols "rus_nodeadkeys" {
148
149    include "se(nodeadkeys)"
150    include "se(rus)"
151
152    name[Group1]="Russian (Sweden, phonetic, no dead keys)";
153
154    key <AE12> {	[ Cyrillic_hardsign, Cyrillic_HARDSIGN ]	};
155};
156
157xkb_symbols "smi" {
158    include "fi(smi)"
159    name[Group1]= "Northern Saami (Sweden)";
160};
161
162// Copied from macintosh_vndr/se
163partial alphanumeric_keys
164xkb_symbols "mac" {
165
166    // Describes the differences between a very simple en_US
167    // keyboard and a very simple Swedish(Sweden) keyboard.
168
169    include "latin"
170    name[Group1]= "Swedish (Macintosh)";
171
172    key <TLDE> {	[         section,         degree	]	};
173    key <AE01> {	[               1,          exclam,        copyright,      exclamdown	]	};
174    key <AE02> {	[               2,        quotedbl, 	       at,	 oneeighth	]	};
175    key <AE03> {	[               3,      numbersign,         sterling,             yen	]	};
176    key <AE04> {	[               4,        currency, 	   dollar,	      cent	]	};
177    key <AE06> {	[               6,       ampersand     	]	};
178    key <AE07> {	[               7,           slash, 	      bar,       backslash	]	};
179    key <AE08> {	[               8,       parenleft,      bracketleft,       braceleft	]	};
180    key <AE09> {	[               9,      parenright,     bracketright,      braceright	]	};
181    key <AE10> {	[               0,           equal     	]	};
182    key <AE11> {	[            plus,        question      ]	};
183    key <AE12> {	[           acute,           grave	]	};
184    key <AD11> {	[	    aring,           Aring     	]	};
185    key <AD12> {	[       diaeresis,     asciicircum, 	asciitilde			]	};
186    key <AC10> {	[      odiaeresis,      Odiaeresis, 	   oslash,	    Ooblique	]	};
187    key <AC11> {	[      adiaeresis,      Adiaeresis,               ae,		AE	]	};
188    key <BKSL> {	[      apostrophe,        asterisk,               at			]	};
189    key <AB08> {	[           comma,       semicolon     	]	};
190    key <AB09> {	[          period,           colon     	]	};
191    key <AB10> {	[           minus,      underscore     	]	};
192
193    include "kpdl(comma)"
194    include "level3(ralt_switch)"
195};
196
197// Svdvorak
198// This version of Dvorak follows danish and norwegian style in hope for a
199// Scandinavian standard.
200partial alphanumeric_keys
201xkb_symbols "svdvorak" {
202
203   include "se(basic)"
204
205   name[Group1]="Swedish (Svdvorak)";
206
207   key <AD01> { [ aring, Aring, braceleft ] };
208   key <AD02> { [ comma, semicolon, bracketleft ] };
209   key <AD03> { [ period, colon, bracketright ] };
210   key <AD04> { [ p, P, braceright ] };
211   key <AD05> { [ y, Y ] };
212   key <AD06> { [ f, F ] };
213   key <AD07> { [ g, G ] };
214   key <AD08> { [ c, C ] };
215   key <AD09> { [ r, R ] };
216   key <AD10> { [ l, L ] };
217   key <AD11> { [ apostrophe, asterisk ] };
218
219   key <AC01> { [ a, A ] };
220   key <AC02> { [ o, O, parenleft ] };
221   key <AC03> { [ e, E, parenright ] };
222   key <AC04> { [ u, U ] };
223   key <AC05> { [ i, I ] };
224   key <AC06> { [ d, D ] };
225   key <AC07> { [ h, H ] };
226   key <AC08> { [ t, T ] };
227   key <AC09> { [ n, N ] };
228   key <AC10> { [ s, S, ssharp, U1E9E ] };
229   key <AC11> { [ minus, underscore ] };
230   key <BKSL> { [ less, greater, bar ] };
231
232   key <LSGT> { [ odiaeresis, Odiaeresis ] };
233   key <AB01> { [ adiaeresis, Adiaeresis ] };
234   key <AB02> { [ q, Q ] };
235   key <AB03> { [ j, J ] };
236   key <AB04> { [ k, K ] };
237   key <AB05> { [ x, X ] };
238   key <AB06> { [ b, B ] };
239   key <AB07> { [ m, M ] };
240   key <AB08> { [ w, W ] };
241   key <AB09> { [ v, V ] };
242   key <AB10> { [ z, Z ] };
243};
244
245partial alphanumeric_keys
246xkb_symbols "swl" {
247
248//
249// Swedish Sign Language
250// ISO_639-3 language code: swl
251// (called “svenskt teckenspråk” in swedish)
252//
253// Author: Saašha Metsärantala saasha@acc.umu.se
254//
255// A sans-serif font is available at
256// http://www.acc.umu.se/home/saasha/typsnitt/swl_sans.ttf
257//
258
259  include "se(basic)"
260
261  name[Group1]="Swedish Sign Language";
262
263  key <AB01> { [ 0x110c925, 0x110c95f, 0x110c940, 0x110c99a ] };
264  key <AB02> { [ 0x110c96b, 0x110c933, 0x110c920, 0x110c98e ] };
265  key <AB03> { [ 0x110c949, 0x110c94b, 0x110c921, 0x110c99f ] };
266  key <AB04> { [ 0x110c923, 0x110c92d, 0x110c95c, 0x110c96e ] };
267  key <AB05> { [ 0x110c93b, 0x110c927, 0x110c908, 0x110c9a6 ] };
268  key <AB06> { [ 0x110c93a, 0x110c94c, 0x110c93e, 0x110c9a7 ] };
269  key <AB07> { [ 0x110c95b, 0x110c93f, 0x110c907, 0x110c992 ] };
270  key <AC01> { [ 0x110c973, 0x110c924, 0x110c93c, 0x110c9a4 ] };
271  key <AC02> { [ 0x110c972, 0x110c945, 0x110c91a, 0x110c99c ] };
272  key <AC03> { [ 0x110c979, 0x110c929, 0x110c916, 0x110c999 ] };
273  key <AC04> { [ 0x110c976, 0x110c975, 0x110c917, 0x110c994 ] };
274  key <AC05> { [ 0x110c95a, 0x110c926, 0x110c918, 0x110c996 ] };
275  key <AC06> { [ 0x110c96f, 0x110c932, 0x110c915, 0x110c998 ] };
276  key <AC07> { [ 0x110c942, 0x110c922, 0x110c913, 0x110c9a2 ] };
277  key <AC08> { [ 0x110c985, 0x110c94e, 0x110c914, 0x110c97a ] };
278  key <AC09> { [ 0x110c928, 0x110c948, 0x110c919, 0x110c9a5 ] };
279  key <AC10> { [ 0x110c970, 0x110c92b, 0x110c905, 0x110c991 ] };
280  key <AC11> { [ 0x110c92e, 0x110c944, 0x110c904, VoidSymbol ] };
281  key <AD01> { [ 0x110c96c, 0x110c92a, 0x110c900, 0x110c9a1 ] };
282  key <AD02> { [ 0x110c971, 0x110c930, 0x110c903, 0x110c99e ] };
283  key <AD03> { [ 0x110c987, 0x110c947, 0x110c90c, 0x110c96d ] };
284  key <AD04> { [ 0x110c986, 0x110c92c, 0x110c91b, 0x110c993 ] };
285  key <AD05> { [ 0x110c939, 0x110c94a, 0x110c911, 0x110c995 ] };
286  key <AD06> { [ 0x110c952, 0x110c943, 0x110c912, 0x110c99b ] };
287  key <AD07> { [ 0x110c978, 0x110c977, 0x110c95e, 0x110c9a3 ] };
288  key <AD08> { [ 0x110c951, 0x110c931, 0x110c91e, 0x110c997 ] };
289  key <AD09> { [ 0x110c90e, 0x110c946, 0x110c906, 0x110c9a0 ] };
290  key <AD10> { [ 0x110c91f, 0x110c961, 0x110c91c, VoidSymbol ] };
291  key <AD11> { [ 0x110c93d, 0x110c92f, 0x110c902, VoidSymbol ] };
292  key <AE01> { [ 0x110c953, 0x110c936, 0x110c988, 0x110c962 ] };
293  key <AE02> { [ 0x110c954, 0x110c957, 0x110c97d, 0x110c963 ] };
294  key <AE03> { [ 0x110c934, 0x110c937, 0x110c97e, 0x110c983 ] };
295  key <AE04> { [ 0x110c955, 0x110c958, 0x110c98a, 0x110c984 ] };
296  key <AE05> { [ 0x110c935, 0x110c938, 0x110c97f, 0x110c966 ] };
297  key <AE06> { [ 0x110c956, 0x110c959, 0x110c980, 0x110c967 ] };
298  key <AE07> { [ 0x110c960, 0x110c969, 0x110c982, 0x110c96a ] };
299  key <AE08> { [ 0x110c97c, 0x110c90b, 0x110c989, 0x110c964 ] };
300  key <AE09> { [ 0x110c97b, 0x110c90a, 0x110c98b, 0x110c965 ] };
301  key <AE10> { [ 0x110c974, 0x110c909, 0x110c98c, 0x110c968 ] };
302};
303
304partial alphanumeric_keys
305xkb_symbols "us" {
306    include "us"
307
308    name[Group1]="Swedish (US)";
309
310    key <AC10> { [ NoSymbol, NoSymbol, odiaeresis, Odiaeresis ] };
311    key <AC11> { [ NoSymbol, NoSymbol, adiaeresis, Adiaeresis ] };
312    key <AD11> { [ NoSymbol, NoSymbol, aring, Aring ] };
313
314    include "level3(ralt_switch)"
315};
316
317// EXTRAS:
318
319partial alphanumeric_keys
320	xkb_symbols "sun_type6" {
321	include "sun_vndr/se(sun_type6)"
322};
323
324partial alphanumeric_keys
325xkb_symbols "dvorak_a5" {
326
327	include "se(basic)"
328
329	name[Group1]="Swedish (Dvorak A5)";
330
331	key <AE12> { [ dead_acute, dead_grave, plusminus,           none ] };
332
333	key <AD01> { [ aring,      Aring,      braceleft,           none ] };
334	key <AD02> { [ adiaeresis, Adiaeresis, braceright,          none ] };
335	key <AD03> { [ odiaeresis, Odiaeresis, bracketleft,         none ] };
336	key <AD04> { [ p,          P,          bracketright,        none ] };
337	key <AD05> { [ y,          Y,          dollar,              none ] };
338	key <AD06> { [ f,          F,          quotedbl,            none ] };
339	key <AD07> { [ g,          G,          question,            none ] };
340	key <AD08> { [ c,          C,          ampersand,           none ] };
341	key <AD09> { [ r,          R,          less,                none ] };
342	key <AD10> { [ l,          L,          greater,             none ] };
343	key <AD11> { [ comma,      semicolon,  dead_cedilla,        none ] };
344	key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde,	asciicircum	]	};
345
346	key <AC01> { [ a,          A,          semicolon,           none ] };
347	key <AC02> { [ o,          O,          slash,               none ] };
348	key <AC03> { [ e,          E,          parenleft,           none ] };
349	key <AC04> { [ u,          U,          parenright,          none ] };
350	key <AC05> { [ i,          I,          bar,                 none ] };
351	key <AC06> { [ d,          D,          numbersign,          none ] };
352	key <AC07> { [ h,          H,          asciicircum,         none ] };
353	key <AC08> { [ t,          T,          numbersign,          none ] };
354	key <AC09> { [ n,          N,          quotedbl,            none ] };
355	key <AC10> { [ s,          S,          asciitilde,          none ] };
356	key <AC11> { [ minus,      underscore, grave,               none ] };
357
358	key <AB01> { [ period,     colon,      colon,               none ] };
359	key <AB02> { [ q,          Q,          equal,               none ] };
360	key <AB03> { [ j,          J,          at,                  none ] };
361	key <AB04> { [ k,          K,          exclam,              none ] };
362	key <AB05> { [ x,          X,          backslash,           none ] };
363	key <AB06> { [ b,          B,          percent,             none ] };
364	key <AB07> { [ m,          M,          grave,               none ] };
365	key <AB08> { [ w,          W,          lstroke,             none ] };
366	key <AB09> { [ v,          V,          leftdoublequotemark, none ] };
367	key <AB10> { [ z,          Z,          guillemotleft,       none ] };
368
369	key <BKSL> { [ apostrophe, asterisk,   asterisk,            none ] };
370};
371
372partial alphanumeric_keys
373xkb_symbols "ovd" {
374
375    // Adds combining ogonek (U0328) to the basic Swedish layout to facilitate
376    // typing of Ą ą Ę ę Į į Ų ų Y̨ y̨ Ą̊ ą̊.
377    // The character replaces <dead_diaeresis> which is considered dispensable
378    // since ä and ö have their own keys. <dead_diaeresis> is still available
379    // via <AltGr> + Å.
380
381    include "se(basic)"
382
383    name[Group1]="Elfdalian (Swedish, with combining ogonek)";
384
385    key <AD12> { [ U0328,  dead_circumflex,  dead_tilde,  dead_caron ] };
386};
387
388// us_dvorak
389// Author Thomas Lundqvist http://tlundqvist.org/sv_dvorak/
390
391partial alphanumeric_keys
392xkb_symbols "us_dvorak" {
393  include "us(dvorak-intl)"
394  name[Group1]="Swedish (Dvorak, intl.)";
395
396  key <TLDE> { [ apostrophe,  asciitilde,           grave,      dead_tilde ] };
397  key <AE02> { [          2,    quotedbl,              at                  ] };
398  key <AE06> { [          6, asciicircum, dead_circumflex                  ] };
399  key <AD01> { [      aring,       Aring,      dead_acute                  ] };
400  key <AC11> { [      minus,  underscore,             bar,     dead_macron ] };
401  key <AB01> { [ adiaeresis,  Adiaeresis,      dead_grave,     dead_ogonek ] };
402  key <LSGT> { [ odiaeresis,  Odiaeresis,  dead_diaeresis,   dead_belowdot ] };
403  key <BKSL> { [  semicolon,       colon,       backslash                  ] };
404
405  include "kpdl(comma)"
406  include "level3(ralt_switch)"
407};
408