Форк
0
324 строки · 14.8 Кб
1
// Keyboard layouts for Serbia.
2

3
// Derived from "Danube" D.2 from 2003-05-12,
4
// which is available at http://srpski.org/dunav/.
5
//
6
// Original authors:
7
//   Danilo Segan (Данило Шеган) <danilo@kvota.net>
8
//   Chusslove Illich (Часлав Илић) <caslav.ilic@gmx.net>
9

10
default partial alphanumeric_keys
11
xkb_symbols "basic" {
12

13
    name[Group1]= "Serbian";
14

15
    include "rs(cyrlevel3)"
16
    include "rs(common)"
17
    include "rs(cyralpha)"
18
    include "level3(ralt_switch)"
19
};
20

21
partial alphanumeric_keys
22
xkb_symbols "latin" {
23

24
    name[Group1]= "Serbian (Latin)";
25

26
    include "latin(type3)"
27
    include "rs(latalpha)"
28
    include "rs(latlevel3)"
29
    include "rs(common)"
30
    include "level3(ralt_switch)"
31
};
32

33
partial alphanumeric_keys
34
xkb_symbols "yz" {
35

36
    include "rs(basic)"
37
    name[Group1]= "Serbian (Cyrillic, ZE and ZHE swapped)";
38

39
    key <AD06> { [ Cyrillic_zhe,    Cyrillic_ZHE ] }; // y
40
    key <AB01> { [ Cyrillic_ze,     Cyrillic_ZE  ] }; // z
41
};
42

43
hidden partial alphanumeric_keys
44
xkb_symbols "common" {
45
    // "Common" keys: keys that are the same
46
    // for both latin and cyrillic keyboards.
47

48
    key <TLDE> { [ grave,          asciitilde    ] };
49
    key <AE01> { [ 1,              exclam        ] };
50
    key <AE02> { [ 2,              quotedbl      ] };
51
    key <AE03> { [ 3,              numbersign    ] };
52
    key <AE04> { [ 4,              dollar        ] };
53
    key <AE05> { [ 5,              percent       ] };
54
    key <AE06> { [ 6,              ampersand     ] };
55
    key <AE07> { [ 7,              slash         ] };
56
    key <AE08> { [ 8,              parenleft     ] };
57
    key <AE09> { [ 9,              parenright    ] };
58
    key <AE10> { [ 0,              equal         ] };
59
    key <AE11> { [ apostrophe,     question      ] };
60
    key <AE12> { [ plus,           asterisk      ] };
61

62
    key <AB08> { [ comma,          semicolon     ] };
63
    key <AB09> { [ period,         colon         ] };
64
    key <AB10> { [ minus,          underscore    ] };
65

66
    include "kpdl(comma)"
67
};
68

69
hidden partial alphanumeric_keys
70
xkb_symbols "cyralpha" {
71

72
    key <AD01> { [ Cyrillic_lje,   Cyrillic_LJE  ] }; // q
73
    key <AD02> { [ Cyrillic_nje,   Cyrillic_NJE  ] }; // w
74
    key <AD03> { [ Cyrillic_ie,    Cyrillic_IE   ] }; // e
75
    key <AD04> { [ Cyrillic_er,    Cyrillic_ER   ] }; // r
76
    key <AD05> { [ Cyrillic_te,    Cyrillic_TE   ] }; // t
77
    key <AD06> { [ Cyrillic_ze,    Cyrillic_ZE   ] }; // y
78
    key <AD07> { [ Cyrillic_u,     Cyrillic_U    ] }; // u
79
    key <AD08> { [ Cyrillic_i,     Cyrillic_I    ] }; // i
80
    key <AD09> { [ Cyrillic_o,     Cyrillic_O    ] }; // o
81
    key <AD10> { [ Cyrillic_pe,    Cyrillic_PE   ] }; // p
82
    key <AD11> { [ Cyrillic_sha,   Cyrillic_SHA  ] }; // [ {
83
    key <AD12> { [ Serbian_dje,    Serbian_DJE   ] }; // ] }
84

85
    key <AC01> { [ Cyrillic_a,     Cyrillic_A    ] }; // a
86
    key <AC02> { [ Cyrillic_es,    Cyrillic_ES   ] }; // s
87
    key <AC03> { [ Cyrillic_de,    Cyrillic_DE   ] }; // d
88
    key <AC04> { [ Cyrillic_ef,    Cyrillic_EF   ] }; // f
89
    key <AC05> { [ Cyrillic_ghe,   Cyrillic_GHE  ] }; // g
90
    key <AC06> { [ Cyrillic_ha,    Cyrillic_HA   ] }; // h
91
    key <AC07> { [ Cyrillic_je,    Cyrillic_JE   ] }; // j
92
    key <AC08> { [ Cyrillic_ka,    Cyrillic_KA   ] }; // k
93
    key <AC09> { [ Cyrillic_el,    Cyrillic_EL   ] }; // l
94
    key <AC10> { [ Cyrillic_che,   Cyrillic_CHE  ] }; // ; :
95
    key <AC11> { [ Serbian_tshe,   Serbian_TSHE  ] }; // ' "
96
    key <BKSL> { [ Cyrillic_zhe,   Cyrillic_ZHE  ] }; // \ |
97

98
    key <AB01> { [ Cyrillic_zhe,   Cyrillic_ZHE  ] }; // z
99
    key <AB02> { [ Cyrillic_dzhe,  Cyrillic_DZHE ] }; // x
100
    key <AB03> { [ Cyrillic_tse,   Cyrillic_TSE  ] }; // c
101
    key <AB04> { [ Cyrillic_ve,    Cyrillic_VE   ] }; // v
102
    key <AB05> { [ Cyrillic_be,    Cyrillic_BE   ] }; // b
103
    key <AB06> { [ Cyrillic_en,    Cyrillic_EN   ] }; // n
104
    key <AB07> { [ Cyrillic_em,    Cyrillic_EM   ] }; // m
105
};
106

107

108
hidden partial alphanumeric_keys
109
xkb_symbols "latalpha" {
110

111
    key <AD11> { [ scaron,         Scaron        ] }; // [ {
112
    key <AD12> { [ dstroke,        Dstroke       ] }; // ] }
113

114
    key <AC10> { [ ccaron,         Ccaron        ] }; // ; :
115
    key <AC11> { [ cacute,         Cacute        ] }; // ' "
116
    key <BKSL> { [ zcaron,         Zcaron        ] }; // \ |
117
};
118

119
hidden partial alphanumeric_keys
120
xkb_symbols "twoletter" {
121

122
    // Letters which are written in latin transcription with two characters.
123
    key <AD01> { type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC",
124
                 [ U01C9,          U01C8,         any,  U01C7 ] }; // lj Lj . LJ
125
    key <AD02> { type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC",
126
                 [ U01CC,          U01CB,         any,  U01CA ] }; // nj Nj . NJ
127
    key <AB02> { type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC",
128
                 [ U01C6,          U01C5,         any,  U01C4 ] }; // dž Dž . DŽ
129

130
    // Also replace letter Y with Zcaron, since Y is of no use any longer.
131
    key <AB01> { [ zcaron,         Zcaron        ] };
132
};
133

134
hidden partial alphanumeric_keys
135
xkb_symbols "latlevel3" {
136
    key <TLDE> { [ any, any,   notsign,             notsign          ] }; // ` ~
137
    key <AE01> { [ any, any,   dead_tilde,          asciitilde       ] }; // 1 !
138
    key <AE02> { [ any, any,   dead_caron,          caron            ] }; // 2 @
139
    key <AE03> { [ any, any,   dead_circumflex,     asciicircum      ] }; // 3 #
140
    key <AE04> { [ any, any,   dead_breve,          breve            ] }; // 4 $
141
    key <AE05> { [ any, any,   dead_abovering,      degree           ] }; // 5 %
142
    key <AE06> { [ any, any,   dead_ogonek,         ogonek           ] }; // 6 ^
143
    key <AE07> { [ any, any,   dead_grave,          grave            ] }; // 7 &
144
    key <AE08> { [ any, any,   dead_abovedot,       abovedot         ] }; // 8 *
145
    key <AE09> { [ any, any,   dead_acute,          apostrophe       ] }; // 9 (
146
    key <AE10> { [ any, any,   dead_doubleacute,    doubleacute      ] }; // 0 )
147
    key <AE11> { [ any, any,   dead_diaeresis,      diaeresis        ] }; // - _
148
    key <AE12> { [ any, any,   dead_cedilla,        cedilla          ] }; // = +
149

150
    key <AD01> { [ any, any,   backslash,           Greek_OMEGA      ] }; // q
151
    key <AD02> { [ any, any,   bar,                 Lstroke          ] }; // w
152
    key <AD03> { [ any, any,   EuroSign,            EuroSign         ] }; // e
153
    key <AD04> { [ any, any,   paragraph,           registered       ] }; // r
154
    key <AD05> { type[Group1] = "FOUR_LEVEL_ALPHABETIC",
155
                 [ any, any,   tslash,              Tslash           ] }; // t
156
    key <AD06> { [ any, any,   leftarrow,           yen              ] }; // y
157
    key <AD07> { [ any, any,   downarrow,           uparrow          ] }; // u
158
    key <AD08> { [ any, any,   rightarrow,          idotless         ] }; // i
159
    key <AD09> { type[Group1] = "FOUR_LEVEL_ALPHABETIC",
160
                 [ any, any,   oslash,              Oslash           ] }; // o
161
    key <AD10> { type[Group1] = "FOUR_LEVEL_ALPHABETIC",
162
                 [ any, any,   thorn,               THORN            ] }; // p
163
    key <AD11> { [ any, any,   division,            dead_abovering   ] }; // [
164
    key <AD12> { [ any, any,   multiply,            dead_macron      ] }; // ]
165

166
    key <AC01> { type[Group1] = "FOUR_LEVEL_ALPHABETIC",
167
                 [ any, any,   ae,                  AE               ] }; // a
168
    key <AC02> { [ any, any,   doublelowquotemark,  guillemotright   ] }; // s
169
    key <AC03> { [ any, any,   leftdoublequotemark, guillemotleft    ] }; // d
170
    key <AC04> { [ any, any,   bracketleft,         ordfeminine      ] }; // f
171
    key <AC05> { [ any, any,   bracketright,        ENG              ] }; // g
172
    key <AC06> { type[Group1] = "FOUR_LEVEL_ALPHABETIC",
173
                 [ any, any,   hstroke,             Hstroke          ] }; // h
174
    key <AC08> { [ any, any,   lstroke,             ampersand        ] }; // k
175
    key <AC09> { [ any, any,   lstroke,             Lstroke          ] }; // l
176
    key <AC10> { [ any, any,   dead_acute,          dead_doubleacute ] }; // ;
177
    key <AC11> { [ any, any,   ssharp,              dead_caron       ] }; // '
178
    key <BKSL> { [ any, any,   currency,            dead_breve       ] }; // \
179

180
    key <AB01> { [ any, any,   leftsinglequotemark, guillemotright   ] }; // z
181
    key <AB02> { [ any, any,   rightsinglequotemark,guillemotleft    ] }; // x
182
    key <AB03> { [ any, any,   cent,                copyright        ] }; // c
183
    key <AB04> { [ any, any,   at,                  grave            ] }; // v
184
    key <AB05> { [ any, any,   braceleft,           apostrophe       ] }; // b
185
    key <AB06> { [ any, any,   braceright,          acute            ] }; // n
186
    key <AB07> { [ any, any,   section,             masculine        ] }; // m
187
    key <AB08> { [ any, any,   less,                multiply         ] }; // , <
188
    key <AB09> { [ any, any,   greater,             division         ] }; // . >
189
    key <AB10> { [ any, any,   emdash,              endash           ] }; // / ?
190
};
191

192
hidden partial alphanumeric_keys
193
xkb_symbols "cyrlevel3" {
194
    key <TLDE> { [ any, any,   degree,              notsign          ] }; // ` ~
195
    key <AE03> { [ any, any,   dead_circumflex                       ] }; // 3 #
196
    key <AE07> { [ any, any,   dead_grave                            ] }; // 7 &
197
    key <AE08> { [ any, any,   dead_doublegrave                      ] }; // 8 *
198
    key <AE09> { [ any, any,   dead_acute                            ] }; // 9 (
199
    key <AE10> { [ any, any,   dead_invertedbreve                    ] }; // 0 )
200
    key <AE11> { [ any, any,   dead_macron                           ] }; // - _
201

202
    key <AD01> { [ any, any,   backslash                             ] }; // q
203
    key <AD02> { [ any, any,   bar                                   ] }; // w
204
    key <AD03> { [ any, any,   EuroSign,            sterling         ] }; // e
205
    key <AD04> { [ any, any,   paragraph,           registered       ] }; // r
206
    key <AD05> { [ any, any,   ellipsis                              ] }; // t
207
    key <AD06> { [ any, any,   leftarrow,           yen              ] }; // y
208
    key <AD07> { [ any, any,   downarrow,           uparrow          ] }; // u
209
    key <AD08> { [ any, any,   rightarrow                            ] }; // i
210
    key <AD09> { [ any, any,   section                               ] }; // o
211
    key <AD11> { [ any, any,   division                              ] }; // [
212
    key <AD12> { [ any, any,   multiply                              ] }; // ]
213

214
    key <AC02> { [ any, any,   doublelowquotemark,  guillemotright   ] }; // s
215
    key <AC03> { [ any, any,   leftdoublequotemark, guillemotleft    ] }; // d
216
    key <AC04> { [ any, any,   bracketleft                           ] }; // f
217
    key <AC05> { [ any, any,   bracketright                          ] }; // g
218
    key <BKSL> { [ any, any,   currency                              ] }; // \
219

220
    key <AB01> { [ any, any,   leftsinglequotemark                   ] }; // z
221
    key <AB02> { [ any, any,   rightsinglequotemark                  ] }; // x
222
    key <AB03> { [ any, any,   cent,                copyright        ] }; // c
223
    key <AB04> { [ any, any,   at                                    ] }; // v
224
    key <AB05> { [ any, any,   braceleft                             ] }; // b
225
    key <AB06> { [ any, any,   braceright                            ] }; // n
226
    key <AB07> { [ any, any,   asciicircum                           ] }; // m
227
    key <AB08> { [ any, any,   less                                  ] }; // , <
228
    key <AB09> { [ any, any,   greater                               ] }; // . >
229
    key <AB10> { [ any, any,   emdash,              endash           ] }; // / ?
230
};
231

232
partial alphanumeric_keys
233
xkb_symbols "latinunicode" {
234
    // This mapping supports the Unicode characters 0x1c4-0x1cc (dz, lj, and nj
235
    // as single character). You get the title form with AltGr+Shift.
236

237
    include "rs(latin)"
238
    name[Group1]= "Serbian (Latin, Unicode)";
239

240
    include "rs(twoletter)"
241
};
242

243
partial alphanumeric_keys
244
xkb_symbols "latinyz" {
245
    // For those who insist on using "english-position" Z and Y.
246

247
    include "rs(latin)"
248
    name[Group1]= "Serbian (Latin, QWERTY)";
249

250
    key <AD06> { [ y,              Y             ] }; // y
251
    key <AB01> { [ z,              Z             ] }; // z
252
};
253

254
partial alphanumeric_keys
255
xkb_symbols "latinunicodeyz" {
256
    // Unicode, ZHE and Z swapped.
257

258
    include "rs(latinunicode)"
259
    name[Group1]= "Serbian (Latin, Unicode, QWERTY)";
260

261
    key <AD06> { [ zcaron,         Zcaron        ] }; // y
262
    key <AB01> { [ z,              Z             ] }; // z
263
};
264

265
xkb_symbols "alternatequotes" {
266
    // Another acceptable »pair of quotes« for Serbian.
267

268
    include "rs(basic)"
269
    name[Group1]= "Serbian (Cyrillic, with guillemets)";
270

271
    key <AC02> { [ any, any,   guillemotright    ] }; // s
272
    key <AC03> { [ any, any,   guillemotleft     ] }; // d
273
};
274

275
xkb_symbols "latinalternatequotes" {
276
    // Another acceptable »pair of quotes« for Serbian.
277

278
    include "rs(latin)"
279
    name[Group1]= "Serbian (Latin, with guillemets)";
280

281
    key <AC02> { [ any, any,   guillemotright    ] }; // s
282
    key <AC03> { [ any, any,   guillemotleft     ] }; // d
283
};
284

285
xkb_symbols "rue" {
286
    // Layout for Pannonian Rusyn (spoken mainly in Serbia and Croatia
287
    // by the Rusyn people), based on Serbian Cyrillic layout.
288
    // Authors:
289
    //   Ljubomir J. Papuga (Любомир Я. Папуґа) <papuga@zoho.com>
290
    //   Mihajlo Hornjak <smeceiotpad@gmail.com>
291

292
    include "rs(basic)"
293
    name[Group1]= "Pannonian Rusyn";
294

295
    key <TLDE> { [ Cyrillic_softsign,         Cyrillic_SOFTSIGN         ] }; // `
296

297
    key <AD01> { [ Cyrillic_ya,               Cyrillic_YA               ] }; // q
298
    key <AD02> { [ Ukrainian_ie,              Ukrainian_IE              ] }; // w
299
    key <AD12> { [ Cyrillic_shcha,            Cyrillic_SHCHA            ] }; // ]
300

301
    key <AC05> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; // g
302
    key <AC07> { [ Cyrillic_shorti,           Cyrillic_SHORTI           ] }; // j
303
    key <AC11> { [ Cyrillic_ghe,              Cyrillic_GHE              ] }; // '
304

305
    key <AB01> { [ Cyrillic_yu,               Cyrillic_YU               ] }; // z
306
    key <AB02> { [ Ukrainian_yi,              Ukrainian_YI              ] }; // x
307
};
308

309
// EXTRAS:
310

311
xkb_symbols "combiningkeys" {
312
    // Raw combining characters instead of dead keys,
313
    // especially good for post-accenting texts.
314

315
    include "rs(basic)"
316
    name[Group1]= "Serbian (combining accents instead of dead keys)";
317

318
    key <AE03> { [ any, any,   U0302, dead_circumflex ] }; // 3, U0302 = COMBINING CIRCUMFLEX ACCENT
319
    key <AE07> { [ any, any,   U0300                  ] }; // 7, U0300 = COMBINING GRAVE ACCENT
320
    key <AE08> { [ any, any,   U030F                  ] }; // 8, U030F = COMBINING DOUBLE GRAVE ACCENT
321
    key <AE09> { [ any, any,   U0301                  ] }; // 9, U0301 = COMBINING ACUTE ACCENT
322
    key <AE10> { [ any, any,   U0311                  ] }; // 0, U0311 = COMBINING INVERTED BREVE
323
    key <AE11> { [ any, any,   U0304                  ] }; // -, U0304 = COMBINING MACRON
324
};
325

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.