V2-flux: v2-flux

File v2-flux, 37.4 KB (added by anonymous, 10 years ago)

xkbmap

Line 
1// based on a keyboard map from an 'xkb/symbols/de' file
2// v2-flux — alle Informationen im wiki: http://wiki.neo-layout.org/wiki/V2-flux
3
4// neo-specific configuration begins at line 213
5
6default
7xkb_symbols "basic" {
8
9 include "latin(type4)"
10
11 name[Group1]="German";
12
13 key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
14 key <AE03> { [ 3, section, threesuperior, sterling ] };
15 key <AE04> { [ 4, dollar, onequarter, currency ] };
16
17 key <AE11> {type[Group1]="FOUR_LEVEL_PLUS_LOCK", symbols[Group1]=
18 [ssharp, question, backslash, questiondown, 0x1001E9E ]};
19// The unicode capital letter sharp s U+1E9E is transformed to "SS"
20// to match the rules for capitalizing sharp s in german.
21// If the capital sharp s is needed, delete the line
22// starting with <U1E9C> from /usr/share/X11/locale/iso8859-15/Compose.
23// If both doubled S and capital sharp s are needed, use 0x1001E9E
24// for capital sharp s and some free unicode codepoint like 0x1001E9C
25// for doubled S. Don`t forget to change this in the Compose file, too.
26
27 key <AE12> { [dead_acute, dead_grave, dead_cedilla, dead_ogonek ] };
28
29 key <AD03> { [ e, E, EuroSign, EuroSign ] };
30 key <AD06> { [ z, Z, leftarrow, yen ] };
31 key <AD11> { [udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] };
32 key <AD12> { [ plus, asterisk, dead_tilde, dead_macron ] };
33
34 key <AC02> { [ s, S, U017F, U1E9E ] };
35 key <AC07> { [ j, J, dead_belowdot, dead_abovedot ] };
36 key <AC10> { [odiaeresis, Odiaeresis, dead_doubleacute, dead_belowdot ] };
37 key <AC11> { [adiaeresis, Adiaeresis, dead_circumflex, dead_caron ] };
38 key <TLDE> { [dead_circumflex, degree, U2032, U2033 ] };
39
40 key <BKSL> { [numbersign, apostrophe, rightsinglequotemark, dead_breve ] };
41 key <AB01> { [ y, Y, guillemotright, U203A ] };
42 key <AB02> { [ x, X, guillemotleft, U2039 ] };
43 key <AB04> { [ v, V, doublelowquotemark, singlelowquotemark ] };
44 key <AB05> { [ b, B, leftdoublequotemark, leftsinglequotemark ] };
45 key <AB06> { [ n, N, rightdoublequotemark, rightsinglequotemark ] };
46 key <AB08> { [ comma, semicolon, periodcentered, multiply ] };
47 key <AB09> { [ period, colon, U2026, division ] };
48 key <AB10> { [ minus, underscore, endash, emdash ] };
49
50 include "kpdl(comma)"
51
52 include "level3(ralt_switch)"
53};
54
55partial alphanumeric_keys
56xkb_symbols "nodeadkeys" {
57
58 // modify the basic German layout to not have any dead keys
59
60 include "de(basic)"
61 name[Group1]="German (eliminate dead keys)";
62
63 key <TLDE> { [asciicircum, degree, notsign, notsign ] };
64 key <AE12> { [ acute, grave, cedilla, cedilla ] };
65 key <AD11> { [udiaeresis, Udiaeresis, diaeresis, diaeresis ] };
66 key <AD12> { [ plus, asterisk, asciitilde, macron ] };
67 key <AC10> { [odiaeresis, Odiaeresis, doubleacute, doubleacute ] };
68 key <AC11> { [adiaeresis, Adiaeresis, asciicircum, asciicircum ] };
69 key <BKSL> { [numbersign, apostrophe, grave, grave ] };
70};
71
72partial alphanumeric_keys
73xkb_symbols "deadgraveacute" {
74 // modify the basic German layout to have only acute and grave
75 // as dead keys (tilde and circumflex are needed as spacing characters
76 // in many programming languages)
77
78 include "de(basic)"
79 name[Group1]="German (dead grave acute)";
80
81 key <TLDE> { [asciicircum, degree, notsign, notsign ] };
82 key <AD12> { [ plus, asterisk, asciitilde, dead_macron ] };
83 key <BKSL> { [numbersign, apostrophe, grave, grave ] };
84};
85
86partial alphanumeric_keys
87xkb_symbols "deadacute" {
88 // modify the basic German layout to have only acute as
89 // dead keys (ASCII grave, tilde and circumflex are needed as
90 // spacing characters in many programming languages and text formatters)
91
92 include "de(deadgraveacute)"
93
94 name[Group1]="German (dead acute)";
95
96 key <AE12> { [dead_acute, grave, dead_cedilla, dead_ogonek ] };
97 key <BKSL> { [numbersign, apostrophe, dead_grave, dead_grave ] };
98};
99
100partial alphanumeric_keys
101xkb_symbols "ro" {
102 // add romanian-specific letters to the basic German layout.
103 // Romanian symbols are accessible with combination of <AltGr> and
104 // 'a', 's', 't', 'i', 'ä (&auml)' (+<Shift> for capital letters).
105 // To view romanian-specific symbols, add "export LC_CTYPE=ro_RO"
106 // or "export LC_CTYPE=de_DE.utf8" to your .profile.
107
108 include "de(basic)"
109
110 name[Group1]="Romanian (Germany)";
111
112 key <AD05> { [ t, T, tcedilla, Tcedilla ] };
113 key <AD08> { [ i, I, icircumflex, Icircumflex ] };
114 key <AC01> { [ a, A, acircumflex, Acircumflex ] };
115 key <AC02> { [ s, S, scedilla, Scedilla ] };
116 key <AC11> { [ adiaeresis, Adiaeresis, abreve, Abreve ] };
117};
118
119partial alphanumeric_keys
120xkb_symbols "ro_nodeadkeys" {
121 // add romanian-specific letters to the German nodeadkeys layout.
122 // Read the comment for de_ro !
123
124 include "de(nodeadkeys)"
125 name[Group1]="Romanian (Germany, eliminate dead keys)";
126
127 key <AD05> { [ t, T, tcedilla, Tcedilla ] };
128 key <AD08> { [ i, I, icircumflex, Icircumflex ] };
129 key <AC01> { [ a, A, acircumflex, Acircumflex ] };
130 key <AC02> { [ s, S, scedilla, Scedilla ] };
131 key <AC11> { [ adiaeresis, Adiaeresis, abreve, Abreve ] };
132};
133
134// German Dvorak keymap by Thorsten Staerk (www.staerk.de/thorsten)
135// Have acute and grave as dead keys, tilde and circumflex alive as they are needed
136// in many programming languages.
137// to use this keymap, use a 105-key-keyboard and the command setxkbmap -model pc105 -layout dvorak -variant de
138// source: http://www-lehre.informatik.uni-osnabrueck.de/~rfreund/dvorak.php
139partial alphanumeric_keys
140xkb_symbols "dvorak" {
141 include "us(dvorak)"
142
143 name[Group1]="German (Dvorak)";
144
145 key <TLDE> { [ asciicircum, degree ] };
146
147 key <AE01> { [ 1, exclam, onesuperior ] };
148 key <AE02> { [ 2, quotedbl, twosuperior ] };
149 key <AE03> { [ 3, section, threesuperior ] };
150 key <AE04> { [ 4, dollar, bar ] };
151 key <AE05> { [ 5, percent, bar ] };
152 key <AE06> { [ 6, ampersand, brokenbar ] };
153 key <AE07> { [ 7, slash, braceleft ] };
154 key <AE08> { [ 8, parenleft, bracketleft ] };
155 key <AE09> { [ 9, parenright, bracketright ] };
156 key <AE10> { [ 0, equal, braceright ] };
157 key <AE11> { [ plus, asterisk, asciitilde ] };
158 key <AE12> { [ less, greater, dead_grave ] };
159
160 key <AD01> { [ udiaeresis, Udiaeresis, at ] };
161 key <AD02> { [ comma, semicolon, dead_diaeresis ] };
162 key <AD03> { [ period, colon ] };
163 key <AD08> { [ c, C, copyright, Cacute ] };
164 key <AD09> { [ t, T, trademark ] };
165 key <AD10> { [ z, Z, zabovedot, Zabovedot ] };
166 key <AD11> { [ question, ssharp ] };
167 key <AD12> { [ slash, backslash, dead_acute ] };
168
169 key <AC01> { [ a, A, at, aogonek ] };
170 key <AC02> { [ o, O, oacute, Oacute ] };
171 key <AC03> { [ e, E, EuroSign, eogonek ] };
172 key <AC04> { [ i, I ] };
173 key <AC05> { [ u, U ] };
174 key <AC06> { [ h, H ] };
175 key <AC07> { [ d, D ] };
176 key <AC08> { [ r, R, registered ] };
177 key <AC09> { [ n, N, nacute, Nacute ] };
178 key <AC10> { [ s, S, sacute, Sacute] };
179 key <AC11> { [ l, L, lstroke, Lstroke ] };
180
181 key <AB01> { [ odiaeresis, Odiaeresis ] };
182 key <AB02> { [ q, Q, at ] };
183 key <AB07> { [ m, M, mu ] };
184 key <AB10> { [ numbersign, apostrophe ] };
185
186 key <BKSL> { [ minus, underscore, hyphen, diaeresis] };
187
188 key <LSGT> { [ adiaeresis, Adiaeresis, bar ] };
189
190 include "level3(ralt_switch)"
191};
192
193partial alphanumeric_keys
194xkb_symbols "Sundeadkeys" {
195
196 // For naming consistency
197
198 include "de(basic)"
199
200};
201
202partial alphanumeric_keys
203xkb_symbols "sundeadkeys" {
204
205 // For naming consistency
206
207 include "de(Sundeadkeys)"
208
209 name[Group1]="German (Sun dead keys)";
210};
211
212
213// German Neo-Layout Version 2
214// adopted 2004 by Hanno Behrens <Hanno.Behrens@gmx.de>
215// inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/
216//
217// Authors:
218// Stephan Hilb <stephan at ehilb dot de>
219// <lucky at zankt dot net>
220// Benjamin Kellermann <Benjamin dot Kellermann at gmx dot Germany>
221// Erik Streb <mail at erikstreb dot de>
222// and many other contributors
223//
224// http://www.neo-layout.org
225//
226// $Revision$, $Date$
227
228partial alphanumeric_keys modifier_keys keypad_keys
229xkb_symbols "neo_base" {
230
231 // Levels in Neo jargon
232 // --------------------------------------------------------------
233 // Ebene 1: normal
234 // Ebene 2: Shift
235 // Ebene 3: Mod3
236 // Ebene 4: Mod4 (for marking something use Shift + Mod4)
237 // Ebene 5: Shift + Mod3
238 // Ebene 6: Mod3 + Mod4
239 // Compose (not a level): Mod3 + Tab
240 // Feststelltaste (Capslock): Shift + Shift
241 // Mod4-Lock: Mod4 + Mod4
242 // Mod4-Lock: Shift + Mod3 + Tab
243
244 // Legend
245 // ===============
246 // Levels in Xkbmap jargon to be found here in the definitions.
247 // These are the levels used, and Xorg's translations:
248 // --------------------------------------------------------------
249 // Xorg: Level1 Level2 Level3 Level4 Level5 Level6 Level7 Level8
250 // Neo: Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Pseudo-Ebene Ebene6 ???
251 // Keys (Neo): None Shift Mod3 Mod3 + Shift Mod4 Mod4 + Shift Mod3 + Mod4 Mod3 + Mod4 + Shift
252
253
254 // Alphanumeric-keys
255 // ===============
256 key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
257
258 // Tab as Multi_key (Compose)
259 // --------------------------------------------------------------
260 key <TAB> { [ Tab, ISO_Left_Tab, Multi_key, ISO_Level5_Lock, NoSymbol, NoSymbol, NoSymbol, ISO_Level5_Lock ] };
261
262
263 // Number row
264 // --------------------------------------------------------------
265 key <TLDE> { [ dead_circumflex, dead_caron, U21BB, U02DE, dead_abovedot, Pointer_EnableKeys, dead_belowdot, NoSymbol ] };
266
267 key <AE01> { [ section, onesubscript, onesuperior, onesubscript, ordfeminine, NoSymbol, notsign, NoSymbol ] };
268 key <AE02> { [ degree, twosubscript, twosuperior, twosubscript, masculine, NoSymbol, logicalor, NoSymbol ] };
269 key <AE03> { [ guillemotright, threesubscript, threesuperior, threesubscript, numerosign, NoSymbol, logicaland, NoSymbol ] };
270 key <AE04> { [ guillemotleft, U27C2, singlelowquotemark, femalesymbol, NoSymbol, NoSymbol, U22A5, NoSymbol ] };
271 key <AE05> { [ emdash, malesymbol, infinity, malesymbol, periodcentered, NoSymbol, U2221, NoSymbol ] };
272 key <AE06> { [ sterling, femalesymbol, leftsinglequotemark, U26A5, sterling, NoSymbol, U2225, NoSymbol ] };
273
274 key <AE07> { [ yen, notsign, rightsinglequotemark, U03F0, currency, NoSymbol, rightarrow, NoSymbol ] };
275 key <AE08> { [ U21A6, logicalor, U203A, U27E8, Tab, ISO_Left_Tab, U221E, NoSymbol ] };
276 key <AE09> { [ doublelowquotemark, logicaland, U203A, U27E9, KP_Divide, KP_Divide, variation, NoSymbol ] };
277 key <AE10> { [ leftdoublequotemark, leftanglebracket, U2113, zerosubscript, KP_Multiply, KP_Multiply, emptyset, NoSymbol ] };
278
279 key <AE11> { [ rightdoublequotemark, rightanglebracket, cent, U2011, KP_Subtract, KP_Subtract, hyphen, NoSymbol ] };
280 key <AE12> { [ dead_grave, dead_cedilla, dead_abovering, dead_dasia, dead_diaeresis, NoSymbol, dead_macron, NoSymbol ] };
281
282 // Top row
283 // --------------------------------------------------------------
284 key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
285 key <AD01> { [ j, J, ellipsis, Greek_theta, Prior, Prior, Greek_THETA, NoSymbol ] };
286 key <AD02> { [ g, G, underscore, Greek_gamma, BackSpace, BackSpace, Greek_GAMMA, NoSymbol ] };
287 key <AD03> { [ u, U, dollar, NoSymbol, Up, Up, NoSymbol, NoSymbol ] };
288 key <AD04> { [ a, A, bar, Greek_alpha, Delete, Delete, NoSymbol, NoSymbol ] };
289 key <AD05> { [ x, X, asciicircum, Greek_xi, Next, Next, Greek_XI, NoSymbol ] };
290
291 key <AD06> { [ w, W, EuroSign, Greek_omega, exclamdown, NoSymbol, Greek_OMEGA, NoSymbol ] };
292 key <AD07> { [ d, D, greater, Greek_delta, KP_4, KP_4, Greek_DELTA, NoSymbol ] };
293 key <AD08> { [ c, C, less, Greek_chi, KP_5, KP_5, Greek_CHI, NoSymbol ] };
294 key <AD09> { [ l, L, equal, Greek_lambda, KP_6, KP_6, Greek_LAMBDA, NoSymbol ] };
295 key <AD10> { [ f, F, parenright, Greek_phi, KP_Add, KP_Add, Greek_PHI, NoSymbol ] };
296
297 key <AD11> { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, U2212, NoSymbol, jot, NoSymbol ] };
298
299 key.type[ Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
300 key <AD12> { [ dead_acute, dead_tilde, dead_stroke, dead_psili, dead_doubleacute, NoSymbol, dead_breve, NoSymbol ] };
301
302 // Middle row
303 // --------------------------------------------------------------
304 key.type[ Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
305 key <AC01> { [ h, H, at, Greek_psi, Home, Home, Greek_psi, NoSymbol ] };
306 key <AC02> { [ m, M, backslash, Greek_mu, Left, Left, ifonlyif, NoSymbol ] };
307 key <AC03> { [ i, I, braceleft, Greek_iota, Down, Down, integral, NoSymbol ] };
308 key <AC04> { [ e, E, bracketleft, Greek_epsilon, Right, Right, U2203, NoSymbol ] };
309 key <AC05> { [ o, O, asterisk, Greek_omicron, End, End, Greek_OMICRON, NoSymbol ] };
310
311 key <AC06> { [ b, B, question, Greek_beta, questiondown, NoSymbol, U21D0, NoSymbol ] };
312 key <AC07> { [ t, T, exclam, Greek_tau, KP_1, KP_1, partialderivative, NoSymbol ] };
313 key <AC08> { [ n, N, parenleft, Greek_nu, KP_2, KP_2, U2115, NoSymbol ] };
314 key <AC09> { [ r, R, minus, Greek_rho, KP_3, KP_3, U211D, NoSymbol ] };
315 key <AC10> { [ s, S, ampersand, Greek_sigma, KP_Separator, comma, Greek_SIGMA, NoSymbol ] };
316
317 key <AC11> { [ q, Q, semicolon, U03D5, period, KP_Decimal, U211A, NoSymbol ] };
318
319 // Bottom row
320 // --------------------------------------------------------------
321 key <AB01> { [ k, K, numbersign, Greek_kappa, Escape, Escape, multiply, NoSymbol ] };
322 key <AB02> { [ v, V, braceright, NoSymbol, Tab, Tab, radical, NoSymbol ] };
323 key <AB03> { [ Escape, udiaeresis, bracketright, NoSymbol, Insert, Insert, union, NoSymbol ] };
324 key <AB04> { [ slash, adiaeresis, asciitilde, Greek_eta, Return, Return, U2135, NoSymbol ] };
325 key <AB05> { [ colon, odiaeresis, grave, U03F5, Undo, Redo, intersection, NoSymbol ] };
326
327 key <AB06> { [ y, Y, plus, Greek_upsilon, colon, NoSymbol, nabla, NoSymbol ] };
328 key <AB07> { [ p, P, percent, Greek_pi, KP_7, KP_7, Greek_PI, NoSymbol ] };
329 key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
330 key <AB08> { [ comma, endash, apostrophe, U03F1, KP_8, KP_8, U21D2, NoSymbol ] };
331 key <AB09> { [ period, enfilledcircbullet, quotedbl, U03D1, KP_9, KP_9, U21A6, NoSymbol ] };
332 key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
333 key <AB10> { [ z, Z, rightarrow, Greek_zeta, semicolon, NoSymbol, U2124, NoSymbol ] };
334 key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
335
336 // Space key
337 // --------------------------------------------------------------
338 key <SPCE> { [ space, space, space, nobreakspace, KP_0, KP_0, U202F, NoSymbol ] };
339
340
341 // Keypad-keys
342 // ===============
343
344 // The former Numlock key:
345 key <NMLK> { [ Tab, ISO_Left_Tab, equal, approxeq, notequal, Pointer_EnableKeys, identical, NoSymbol ] };
346
347 // Topmost row
348 // --------------------------------------------------------------
349 key <KPDV> { [ KP_Divide, KP_Divide, division, U2300, U2215, NoSymbol, U2223, NoSymbol ] };
350 key <KPMU> { [ KP_Multiply, KP_Multiply, U22C5, U2299, multiply, NoSymbol, U2297, NoSymbol ] };
351 key <KPSU> { [ KP_Subtract, KP_Subtract, U2212, U2296, U2216, NoSymbol, U2238, NoSymbol ] };
352
353 // Top row
354 // --------------------------------------------------------------
355 key <KP7> { [ KP_4, U2714, U2195, U226A, KP_Home, KP_Home, upstile, NoSymbol ] };
356 key <KP8> { [ KP_5, U2718, uparrow, intersection, KP_Up, KP_Up, U22C2, NoSymbol ] };
357 key <KP9> { [ KP_6, dagger, U20D7, U226B, KP_Prior, KP_Prior, U2309, NoSymbol ] };
358 key <KPAD> { [ KP_Add, KP_Add, plusminus, U2295, U2213, NoSymbol, U2214, NoSymbol ] };
359
360 // Middle row
361 // --------------------------------------------------------------
362 key <KP4> { [ KP_1, club, leftarrow, includedin, KP_Left, KP_Left, U2286, NoSymbol ] };
363 key <KP5> { [ KP_2, EuroSign, colon, U22B6, KP_Begin, KP_Begin, U22B7, NoSymbol ] };
364 key <KP6> { [ KP_3, U2023, rightarrow, includes, KP_Right, KP_Right, U2287, NoSymbol ] };
365
366 // Bottom row
367 // --------------------------------------------------------------
368 key <KP1> { [ KP_7, diamond, U2194, lessthanequal, KP_End, KP_End, downstile, NoSymbol ] };
369 key <KP2> { [ KP_8, heart, downarrow, union, KP_Down, KP_Down, U22C3, NoSymbol ] };
370 key <KP3> { [ KP_9, U2660, U21CC, greaterthanequal, KP_Next, KP_Next, U230B, NoSymbol ] };
371 key <KPEN> { [ KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, NoSymbol ] };
372 key <KPEQ> { [ KP_Equal, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ] };
373
374 // Bottommost row
375 // --------------------------------------------------------------
376 key <KP0> { [ KP_0, U2423, percent, U2030, KP_Insert, KP_Insert, U25A1, NoSymbol ] };
377 key <KPDL> { [ KP_Separator, period, comma, minutes, KP_Delete, KP_Delete, seconds, NoSymbol ] };
378};
379
380partial alphanumeric_keys modifier_keys keypad_keys
381xkb_symbols "neo" {
382
383 include "de(neo_base)"
384
385 name[Group1]= "German (Neo 2)";
386
387 include "shift(both_capslock)"
388 include "level3(caps_switch)"
389 include "level3(bksl_switch)"
390 include "level5(lsgt_switch_lock)"
391 include "level5(ralt_switch_lock)"
392};
393
394// Copied from macintosh_vndr/de
395// olh@suse.de very close to MacOS map
396
397partial alphanumeric_keys
398xkb_symbols "mac" {
399
400 include "de"
401 name[Group1]= "German (Macintosh)";
402
403 // Alphanumeric section
404 key <AE01> { [ 1, exclam, exclamdown, at ] };
405 key <AE05> { [ 5, percent, bracketleft ] };
406 key <AE06> { [ 6, ampersand, bracketright ] };
407 key <AE07> { [ 7, slash, bar, backslash ] };
408 key <AE08> { [ 8, parenleft, braceleft, asciitilde ] };
409 key <AE09> { [ 9, parenright, braceright ] };
410 key <AD01> { [ q, Q, guillemotleft, guillemotright ] };
411 key <AD04> { [ r, R, registered ] };
412 key <AD07> { [ u, U, diaeresis, Aacute ] };
413 key <AD08> { [ i, I, slash, Ucircumflex ] };
414 key <AD11> { [ udiaeresis, Udiaeresis, periodcentered, degree ] };
415 key <AD12> { [ plus, asterisk, asciitilde ] };
416 key <AC01> { [ a, A, aring, Aring ] };
417 key <AC05> { [ g, G, copyright ] };
418 key <AC06> { [ h, H, ordfeminine ] };
419 key <AC09> { [ l, L, at ] };
420 key <AC10> { [ odiaeresis, Odiaeresis, dead_acute ] };
421 key <AB06> { [ n, N, asciitilde ] };
422
423};
424
425partial alphanumeric_keys
426xkb_symbols "mac_nodeadkeys" {
427 // modify the standard German mac layout to not have any dead keys
428 include "de(mac)"
429 name[Group1]= "German (Macintosh, eliminate dead keys)";
430 key <AE04> { [ 4, dollar, onequarter, currency ] };
431
432 key <TLDE> { [ asciicircum, degree, notsign ] };
433 key <AE12> { [ acute, grave, cedilla ] };
434 key <AD11> { [ udiaeresis, Udiaeresis, diaeresis ] };
435 key <AD12> { [ plus, asterisk, asciitilde, macron ] };
436 key <AC10> { [ odiaeresis, Odiaeresis, acute ] };
437 key <AC11> { [ adiaeresis, Adiaeresis, asciicircum ] };
438
439 key <BKSL> { [ numbersign, apostrophe, grave ] };
440};
441
442partial alphanumeric_keys
443xkb_symbols "dsb"
444{
445 name[Group1] = "Lower Sorbian";
446 include "latin(basic)"
447 include "level3(ralt_switch)"
448 include "kpdl(comma)"
449 key <AB01> { [ z, Z, zcaron, Zcaron ] };
450 key <AB02> { [ x, X, zacute, Zacute ] };
451 key <AB03> { [ c, C, cacute, Cacute ] };
452 key <AB04> { [ v, V, ccaron, Ccaron ] };
453 key <AB06> { [ n, N, nacute, Nacute ] };
454 key <AC02> { [ s, S, sacute, Sacute ] };
455 key <AC03> { [ d, D, scaron, Scaron ] };
456 key <AC04> { [ f, F ] };
457 key <AD01> { [ q, Q ] };
458 key <AD02> { [ w, W ] };
459 key <AD03> { [ e, E, ecaron, Ecaron ] };
460 key <AD04> { [ r, R, racute, Racute ] };
461 key <AD05> { [ t, T, U20B5, EuroSign ] };
462 key <AD09> { [ o, O, oacute, Oacute ] };
463};
464
465partial alphanumeric_keys
466xkb_symbols "dsb_qwertz"
467{
468 name[Group1] = "Lower Sorbian (qwertz)";
469 include "latin(basic)"
470 include "level3(ralt_switch)"
471 include "kpdl(comma)"
472 key <AB01> { [ y, Y ] };
473 key <AB02> { [ x, X ] };
474 key <AB03> { [ c, C, cacute, Cacute ] };
475 key <AB04> { [ v, V, ccaron, Ccaron ] };
476 key <AB06> { [ n, N, nacute, Nacute ] };
477 key <AC02> { [ s, S, sacute, Sacute ] };
478 key <AC03> { [ d, D, scaron, Scaron ] };
479 key <AC04> { [ f, F ] };
480 key <AD01> { [ q, Q ] };
481 key <AD02> { [ w, W ] };
482 key <AD03> { [ e, E, ecaron, Ecaron ] };
483 key <AD04> { [ r, R, racute, Racute ] };
484 key <AD05> { [ t, T, U20B5, EuroSign ] };
485 key <AD06> { [ z, Z, zcaron, Zcaron ] };
486 key <AD07> { [ u, U, zacute, Zacute ] };
487 key <AD09> { [ o, O, oacute, Oacute ] };
488};
489
490// layout for Russian letters on an german keyboard
491// based on US-RU layout by Ivan Popov <pin@konvalo.org> 2005-07-17
492// adopted for german layout by Alexey Fisher <bug-track@fisher-privat.net> 2010-08-19
493
494partial alphanumeric_keys
495xkb_symbols "ru" {
496
497 include "de(basic)"
498
499 name[Group1]= "Russian (Germany, phonetic)";
500
501key.type[group1]="FOUR_LEVEL_ALPHABETIC";
502
503 key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
504 key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
505 key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
506 key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
507 key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
508 key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
509 key <TLDE> { [ Cyrillic_io, Cyrillic_IO, asciitilde ] };
510 key <LatX> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
511 key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
512 key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
513 key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
514 key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
515 key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
516 key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
517 key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
518 key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
519 key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
520 key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
521 key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
522 key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
523 key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
524 key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
525 key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
526 key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
527 key <AC10> { [ Cyrillic_che, Cyrillic_CHE ] };
528 key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
529 key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA, plus, asterisk ] };
530 key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
531 key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
532 key <LatV> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
533 key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
534 key <BKSL> { [ Cyrillic_yu, Cyrillic_YU, numbersign, apostrophe ] };
535 key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
536
537 include "level3(ralt_switch)"
538};
539
540partial alphanumeric_keys
541xkb_symbols "htcdream" {
542 include "inet(htcdream)"
543
544 name[Group1]= "German";
545
546 //second row
547 key <AD01> { [ q, Q, Tab, Tab ] };
548 key <AD02> { [ w, W, grave, grave ] };
549 key <AD03> { [ e, E, EuroSign, EuroSign ] };
550 key <AD04> { [ r, R, underscore, underscore ] };
551 key <AD05> { [ t, T, sterling, sterling] };
552 key <AD06> { [ z, Z, division, division ] };
553 key <AD07> { [ u, U, udiaeresis, udiaeresis ] };
554 key <AD08> { [ i, I, minus, minus ] };
555 key <AD09> { [ o, O, odiaeresis, odiaeresis ] };
556 key <AD10> { [ p, P, equal, equal ] };
557
558 //third row
559 key <AC01> { [ a, A, adiaeresis, adiaeresis ] };
560 key <AC02> { [ s, S, ssharp, ssharp] };
561 key <AC03> { [ d ,D, backslash, backslash ] };
562 key <AC04> { [ f, F, braceleft, braceleft ] };
563 key <AC05> { [ g, G, braceright, braceright ] };
564 key <AC06> { [ h, H, multiply, multiply ] };
565 key <AC07> { [ j, J, colon, colon ] };
566 key <AC08> { [ k, K, plus, plus ] };
567 key <AC09> { [ l, L, apostrophe, apostrophe ] };
568
569 //forth row
570 key <AB01> { [ y, Y, bar, bar ] };
571 key <AB02> { [ x, X, bracketleft, bracketleft ] };
572 key <AB03> { [ c, C, bracketright, bracketright ] };
573 key <AB04> { [ v, V, less, less ] };
574 key <AB05> { [ b, B, greater, greater ] };
575 key <AB06> { [ n, N, semicolon, semicolon ] };
576 key <AB07> { [ m, M, quotedbl, quotedbl ] };
577 key <AB08> { [ comma, comma, question, question ] };
578
579 //fifth row
580 key <FK15> { [ at, at, asciitilde, asciitilde ] };
581
582 include "level3(alt_switch)"
583};
584
585// EXTRAS:
586
587partial alphanumeric_keys
588xkb_symbols "us" {
589 include "us"
590
591 name[Group1]="German (US keyboard with German letters)";
592
593 key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
594 key <AC02> { [ s, S, ssharp, ssharp ] };
595 key <AC10> { [ semicolon, colon, odiaeresis, Odiaeresis ] };
596 key <AC11> { [ apostrophe, quotedbl, adiaeresis, Adiaeresis ] };
597 key <AD03> { [ e, E, EuroSign, EuroSign ] };
598 key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
599 key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
600 key <AD11> { [ bracketleft, braceleft, udiaeresis, Udiaeresis ] };
601 key <AE03> { [ 3, numbersign, section, section ] };
602 key <AE11> { [ minus, underscore, ssharp, question ] };
603
604 include "level3(ralt_switch)"
605};
606
607partial alphanumeric_keys
608xkb_symbols "hu" {
609
610 // modify the basic German layout to not have any dead keys and add Hungarian letters
611
612 include "de(basic)"
613 name[Group1]="German (with Hungarian letters and no dead keys)";
614
615 key <AB01> { [ y, Y, guillemotleft, less ] };
616 key <AC10> { [odiaeresis, Odiaeresis, eacute, Eacute ] };
617 key <AC11> { [adiaeresis, Adiaeresis, aacute, Aacute] };
618 key <AD03> { [ e, E, EuroSign, EuroSign ] };
619 key <AD06> { [ z, Z, leftarrow, yen ] };
620 key <AD07> { [ u, U, uacute, Uacute ] };
621 key <AD08> { [ i, I, iacute, Iacute ] };
622 key <AD09> { [ o, O, odoubleacute,Odoubleacute ] };
623 key <AD11> { [udiaeresis, Udiaeresis, udoubleacute,Udoubleacute ] };
624 key <AD12> { [ plus, asterisk, asciitilde, macron ] };
625 key <AE12> { [ acute, grave, oacute, Oacute ] };
626 key <BKSL> { [numbersign, apostrophe, grave, grave ] };
627 key <TLDE> { [asciicircum, degree, notsign, notsign ] };
628
629
630};