Ticket #33: de

File de, 33.7 KB (added by stephan@…, 17 years ago)

Meine aktuelle de(neo) Datei

Line 
1
2// based on a keyboard map from an 'xkb/symbols/de' file
3//
4// $XKeyboardConfig$
5// $XFree86: xc/programs/xkbcomp/symbols/de,v 1.6 2003/09/08 13:12:51 pascal Exp $
6
7default
8xkb_symbols "basic" {
9
10 include "latin(type4)"
11
12 name[Group1]="Germany";
13
14 key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
15 key <AE03> { [ 3, section, threesuperior, sterling ] };
16 key <AE04> { [ 4, dollar, onequarter, currency ] };
17
18 key <AE11> {type[Group1]="FOUR_LEVEL_PLUS_LOCK", symbols[Group1]=
19 [ssharp, question, backslash, questiondown, 0x1001E9E ]};
20// The unicode capital letter sharp s U+1E9E is transformed to "SS"
21// to match the rules for capitalizing sharp s in german.
22// If the capital sharp s is needed, delete the line
23// starting with <U1E9C> from /usr/share/X11/locale/iso8859-15/Compose.
24// If both doubled S and capital sharp s are needed, use 0x1001E9E
25// for capital sharp s and some free unicode codepoint like 0x1001E9C
26// for doubled S. Don`t forget to change this in the Compose file, too.
27
28 key <AE12> { [dead_acute, dead_grave, dead_cedilla, dead_ogonek ] };
29
30 key <AD03> { [ e, E, EuroSign, EuroSign ] };
31 key <AD06> { [ z, Z, leftarrow, yen ] };
32 key <AD11> { [udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] };
33 key <AD12> { [ plus, asterisk, dead_tilde, dead_macron ] };
34
35 key <AC10> { [odiaeresis, Odiaeresis, dead_doubleacute, dead_doubleacute ] };
36 key <AC11> { [adiaeresis, Adiaeresis, dead_circumflex, dead_caron] };
37 key <TLDE> { [dead_circumflex, degree, notsign, notsign ] };
38
39 key <BKSL> { [numbersign, apostrophe, dead_grave, dead_breve ] };
40 key <AB01> { [ y, Y, guillemotleft, less ] };
41
42 include "kpdl(comma)"
43
44 include "level3(ralt_switch)"
45};
46
47partial alphanumeric_keys
48xkb_symbols "nodeadkeys" {
49
50 // modify the basic German layout to not have any dead keys
51
52 include "de(basic)"
53 name[Group1]="Germany - Eliminate dead keys";
54
55 key <TLDE> { [asciicircum, degree, notsign, notsign ] };
56 key <AE12> { [apostrophe, grave, cedilla, cedilla ] };
57 key <AD11> { [udiaeresis, Udiaeresis, diaeresis, diaeresis ] };
58 key <AD12> { [ plus, asterisk, asciitilde, macron ] };
59 key <AC10> { [odiaeresis, Odiaeresis, doubleacute, doubleacute ] };
60 key <AC11> { [adiaeresis, Adiaeresis, asciicircum, asciicircum ] };
61 key <BKSL> { [numbersign, apostrophe, grave, grave ] };
62 key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
63};
64
65partial alphanumeric_keys
66xkb_symbols "deadgraveacute" {
67 // modify the basic German layout to have only acute and grave
68 // as dead keys (tilde and circumflex are needed as spacing characters
69 // in many programming languages)
70
71 include "de(basic)"
72 name[Group1]="Germany - Dead grave acute";
73
74 key <TLDE> { [asciicircum, degree, notsign, notsign ] };
75 key <AD12> { [ plus, asterisk, asciitilde, dead_macron ] };
76 key <BKSL> { [numbersign, apostrophe, grave, grave ] };
77};
78
79partial alphanumeric_keys
80xkb_symbols "deadacute" {
81 // modify the basic German layout to have only acute as
82 // dead keys (ASCII grave, tilde and circumflex are needed as
83 // spacing characters in many programming languages and text formatters)
84
85 include "de(deadgraveacute)"
86
87 name[Group1]="Germany - Dead acute";
88
89 key <AE12> { [dead_acute, grave, dead_cedilla, dead_ogonek ] };
90 key <BKSL> { [numbersign, apostrophe, dead_grave, dead_grave ] };
91};
92
93partial alphanumeric_keys
94xkb_symbols "ro" {
95 // add romanian-specific letters to the basic German layout.
96 // Romanian symbols are accessible with combination of <AltGr> and
97 // 'a', 's', 't', 'i', 'ä (&auml)' (+<Shift> for capital letters).
98 // To view romanian-specific symbols, add "export LC_CTYPE=ro_RO"
99 // or "export LC_CTYPE=de_DE.utf8" to your .profile.
100
101 include "de(basic)"
102
103 name[Group1]="Germany - Romanian keyboard with German letters";
104
105 key <AD05> { [ t, T, tcedilla, Tcedilla ] };
106 key <AD08> { [ i, I, icircumflex, Icircumflex ] };
107 key <AC01> { [ a, A, acircumflex, Acircumflex ] };
108 key <AC02> { [ s, S, scedilla, Scedilla ] };
109 key <AC11> { [ adiaeresis, Adiaeresis, abreve, Abreve ] };
110};
111
112partial alphanumeric_keys
113xkb_symbols "ro_nodeadkeys" {
114 // add romanian-specific letters to the German nodeadkeys layout.
115 // Read the comment for de_ro !
116
117 include "de(nodeadkeys)"
118 name[Group1]="Germany - Romanian keyboard with German letters, eliminate dead keys";
119
120 key <AD05> { [ t, T, tcedilla, Tcedilla ] };
121 key <AD08> { [ i, I, icircumflex, Icircumflex ] };
122 key <AC01> { [ a, A, acircumflex, Acircumflex ] };
123 key <AC02> { [ s, S, scedilla, Scedilla ] };
124 key <AC11> { [ adiaeresis, Adiaeresis, abreve, Abreve ] };
125};
126
127// German Dvorak keymap by Thorsten Staerk (www.staerk.de/thorsten)
128// Have acute and grave as dead keys, tilde and circumflex alive as they are needed
129// in many programming languages.
130// to use this keymap, use a 105-key-keyboard and the command setxkbmap -model pc105 -layout dvorak -variant de
131// source: http://www-lehre.informatik.uni-osnabrueck.de/~rfreund/dvorak.php
132partial alphanumeric_keys
133xkb_symbols "dvorak" {
134 include "us(dvorak)"
135
136 name[Group1]="Germany - Dvorak";
137
138 key <TLDE> { [ asciicircum, degree ] };
139
140 key <AE01> { [ 1, exclam, onesuperior ] };
141 key <AE02> { [ 2, quotedbl, twosuperior ] };
142 key <AE03> { [ 3, section, threesuperior ] };
143 key <AE04> { [ 4, dollar, bar ] };
144 key <AE05> { [ 5, percent, bar ] };
145 key <AE06> { [ 6, ampersand, brokenbar ] };
146 key <AE07> { [ 7, slash, braceleft ] };
147 key <AE08> { [ 8, parenleft, bracketleft ] };
148 key <AE09> { [ 9, parenright, bracketright ] };
149 key <AE10> { [ 0, equal, braceright ] };
150 key <AE11> { [ plus, asterisk, asciitilde ] };
151 key <AE12> { [ less, greater, dead_grave ] };
152
153 key <AD01> { [ udiaeresis, Udiaeresis, at ] };
154 key <AD02> { [ comma, semicolon, dead_diaeresis ] };
155 key <AD03> { [ period, colon ] };
156 key <AD08> { [ c, C, copyright, Cacute ] };
157 key <AD09> { [ t, T, trademark ] };
158 key <AD10> { [ z, Z, zabovedot, Zabovedot ] };
159 key <AD11> { [ question, ssharp ] };
160 key <AD12> { [ slash, backslash, dead_acute ] };
161
162 key <AC01> { [ a, A, at, aogonek ] };
163 key <AC02> { [ o, O, oacute, Oacute ] };
164 key <AC03> { [ e, E, EuroSign, eogonek ] };
165 key <AC04> { [ i, I ] };
166 key <AC05> { [ u, U ] };
167 key <AC06> { [ h, H ] };
168 key <AC07> { [ d, D ] };
169 key <AC08> { [ r, R, registered ] };
170 key <AC09> { [ n, N, nacute, Nacute ] };
171 key <AC10> { [ s, S, sacute, Sacute] };
172 key <AC11> { [ l, L, lstroke, Lstroke ] };
173
174 key <AB01> { [ odiaeresis, Odiaeresis ] };
175 key <AB02> { [ q, Q, at ] };
176 key <AB07> { [ m, M, mu ] };
177 key <AB10> { [ numbersign, apostrophe ] };
178
179 key <BKSL> { [ minus, underscore, hyphen, diaeresis] };
180
181 key <LSGT> { [ adiaeresis, Adiaeresis, bar ] };
182
183 include "level3(ralt_switch)"
184};
185
186partial alphanumeric_keys
187xkb_symbols "Sundeadkeys" {
188
189 // For naming consistency
190
191 include "de(basic)"
192
193};
194
195partial alphanumeric_keys
196xkb_symbols "sundeadkeys" {
197
198 // For naming consistency
199
200 include "de(Sundeadkeys)"
201
202 name[Group1]="Germany - Sun dead keys";
203};
204
205// German NEO-Layout Version 2
206// adopted 2004 by Hanno Behrens <Hanno.Behrens@gmx.de>
207// inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/
208//
209// Authors:
210// <lucky at zankt dot net>
211// Benjamin Kellermann <Benjamin dot Kellermann at gmx dot Germany>
212// Erik Streb <mail at erikstreb dot de>
213// and many other contributers
214//
215// http://www.neo-layout.org
216//
217// $Revision$, $Date$
218
219partial alphanumeric_keys modifier_keys keypad_keys
220xkb_symbols "neo" {
221
222 name[Group1]= "Germany - Neo 2";
223
224 // Levels in Neo jargon
225 // --------------------------------------------------------------
226 // Ebene 1: normal
227 // Ebene 2: Shift
228 // Ebene 3: Mod3
229 // Ebene 4: Mod4 (for marking something use Shift+Mod4)
230 // Ebene 5: Shift+Mod3
231 // Ebene 6: Mod3+Mod4 (in this order)
232 // Compose (not a level): Mod3 + Tab
233 // Feststelltaste (Capslock): Shift + Shift
234 //
235 // Levels in Xkbmap jargon to be found here in the definitions.
236 // These are the levels used, and Xorg's translations with type="EIGHT_LEVEL":
237 // --------------------------------------------------------------
238
239 // Legend
240 // ===============
241 // I don't think we need EIGHT_LEVEL_ALPHABETIC because the Lock gets deaktivated as soon as a Shift-key is pressed
242 // Therefore there is no need for Lock + Shift.
243 // key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC";
244 key.type[Group1] = "EIGHT_LEVEL";
245
246 // Xorg: Level1 Level2 Level3 Level4 Level5 Level6 Level7 Level8
247 // Neo: Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 ??? Ebene6 ???
248 // Keys (Neo): None Shift Mod3 Mod3 + Shift Mod4 Mod4 + Shift Mod3 + Mod4 Mod3 + Mod4 + Shift
249
250
251 // Modifier-keys
252 // ===============
253
254 // FIXME Force norepeat is not working correctly:
255 // key <BKSL> { repeat = false };
256 // key <LSGT> { repeat = false };
257 // key <RALT> { repeat = false };
258
259 // Shift
260 // --------------------------------------------------------------
261 // Redefinition of both Shift-keys in order to get the desired "Shift + Shift = Shift_Lock"
262 key <LFSH> { [ Shift_L, Shift_Lock, Shift_L, Shift_Lock, Shift_L, Shift_Lock, Shift_L, Shift_Lock ] };
263 key <RTSH> { [ Shift_R, Shift_Lock, Shift_R, Shift_Lock, Shift_R, Shift_Lock, Shift_R, Shift_Lock ] };
264
265 // Neo-Mod3
266 // --------------------------------------------------------------
267 // Mod3 + Mod3 = Mod3_Lock
268 key <CAPS> { [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Lock, ISO_Level3_Lock, ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Lock, ISO_Level3_Lock ] };
269 key <BKSL> { [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Lock, ISO_Level3_Lock, ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Lock, ISO_Level3_Lock ] };
270 // The following is also done somewhere else, but I couldn't find where and since the modifier_map is needed by ISO_Level5 too (see below) I'm adding it here.
271 // Also see how Level-switching is done in "symbols/level3(ralt_switch)"
272 modifier_map Mod5 { ISO_Level3_Shift }; // optional
273 // This ^^^^ has nothing to do with the "Neo-Mod-Keys"!
274
275 // Neo-Mod4
276 // --------------------------------------------------------------
277 // Mod4 + Mod4 = Mod4_Lock
278 // The console-setup package doesn't like ISO_Level5_Shift and ISO_Level5_Lock, see
279 // https://bugs.launchpad.net/ubuntu/+source/console-setup/+bug/363388
280 key <LSGT> { [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] };
281 key <RALT> { [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] };
282 // ISO_Level5_Shift alone won't have the desired effect in all applicitions, therefore adding the following as it is done in "symbols/level5(rctrl_switch)"
283 modifier_map Mod3 { ISO_Level5_Shift }; // mandatory
284 // This ^^^^ has nothing to do with the "Neo-Mod-Keys"!
285
286
287 // Alphanumeric-keys
288 // ===============
289
290 // Tab as Multi_key (Compose)
291 // --------------------------------------------------------------
292 key <TAB> { [ Tab, ISO_Left_Tab, Multi_key, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ] };
293
294 // Number Row
295 // --------------------------------------------------------------
296 key <TLDE> { [ dead_circumflex, dead_tilde, dead_abovering, dead_breve, dead_caron, Pointer_EnableKeys, dead_macron, NoSymbol ] };
297
298 key <AE01> { [ 1, degree, onesuperior, onesubscript, ordfeminine, NoSymbol, notsign, NoSymbol ] };
299 key <AE02> { [ 2, section, twosuperior, twosubscript, masculine, NoSymbol, logicalor, NoSymbol ] };
300 key <AE03> { [ 3, U2113, threesuperior, threesubscript, numerosign, NoSymbol, logicaland, NoSymbol ] };
301 key <AE04> { [ 4, guillemotright, U203A, femalesymbol, Prior, Prior, U22A5, NoSymbol ] };
302 key <AE05> { [ 5, guillemotleft, U2039, malesymbol, periodcentered, NoSymbol, U2221, NoSymbol ] };
303
304 key <AE06> { [ 6, dollar, cent, U26A5, sterling, NoSymbol, U2225, NoSymbol ] };
305 key <AE07> { [ 7, EuroSign, yen, Greek_kappa, currency, NoSymbol, rightarrow, NoSymbol ] };
306 key <AE08> { [ 8, doublelowquotemark, singlelowquotemark, U27E8, NoSymbol, NoSymbol, U221E, NoSymbol ] };
307 key <AE09> { [ 9, leftdoublequotemark, leftsinglequotemark, U27E9, KP_Divide, NoSymbol, U220B, NoSymbol ] };
308 key <AE10> { [ 0, rightdoublequotemark, rightsinglequotemark, zerosubscript, KP_Multiply, NoSymbol, emptyset, NoSymbol ] };
309
310 key <AE11> { [ minus, emdash, NoSymbol, U2011, KP_Subtract, NoSymbol, hyphen, NoSymbol ] };
311 key <AE12> { [ dead_grave, NoSymbol, dead_diaeresis, dead_dasia, dead_doublegrave, NoSymbol, NoSymbol, NoSymbol ] };
312 key <BKSP> { [ BackSpace, BackSpace, BackSpace, BackSpace, BackSpace, BackSpace, BackSpace, NoSymbol ] };
313
314 // Top Row
315 // --------------------------------------------------------------
316 key <AD01> { [ x, X, ellipsis, Greek_xi, U22EE, NoSymbol, Greek_XI, NoSymbol ] };
317 key <AD02> { [ v, V, underscore, NoSymbol, BackSpace, BackSpace, U222E, NoSymbol ] };
318 key <AD03> { [ l, L, bracketleft, Greek_lambda, Up, Up, Greek_LAMBDA, NoSymbol ] };
319 key <AD04> { [ c, C, bracketright, Greek_chi, Delete, Delete, U2102, NoSymbol ] };
320 key <AD05> { [ w, W, asciicircum, Greek_omega, Insert, Insert, Greek_OMEGA, NoSymbol ] };
321
322 key <AD06> { [ k, K, exclam, U03F0, exclamdown, NoSymbol, radical, NoSymbol ] };
323 key <AD07> { [ h, H, less, Greek_psi, KP_7, NoSymbol, Greek_PSI, NoSymbol ] };
324 key <AD08> { [ g, G, greater, Greek_gamma, KP_8, NoSymbol, Greek_GAMMA, NoSymbol ] };
325 key <AD09> { [ f, F, equal, Greek_phi, KP_9, NoSymbol, Greek_PHI, NoSymbol ] };
326 key <AD10> { [ q, Q, ampersand, U03D5, KP_Add, NoSymbol, U211A, NoSymbol ] };
327
328 key <AD11> { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, U2212, NoSymbol, jot, NoSymbol ] };
329 key <AD12> { [ dead_acute, dead_cedilla, dead_stroke, dead_psili, dead_doubleacute, NoSymbol, dead_abovedot, NoSymbol ] };
330
331 // Middle Row
332 // --------------------------------------------------------------
333 key <AC01> { [ u, U, backslash, NoSymbol, Home, Home, mu, NoSymbol ] };
334 key <AC02> { [ i, I, slash, Greek_iota, Left, Left, integral, NoSymbol ] };
335 key <AC03> { [ a, A, braceleft, Greek_alpha, Down, Down, U2200, NoSymbol ] };
336 key <AC04> { [ e, E, braceright, Greek_epsilon, Right, Right, U2203, NoSymbol ] };
337 key <AC05> { [ o, O, asterisk, Greek_omicron, End, End, elementof, NoSymbol ] };
338
339 key <AC06> { [ s, S, question, Greek_sigma, questiondown, NoSymbol, Greek_SIGMA, NoSymbol ] };
340 key <AC07> { [ n, N, parenleft, Greek_nu, KP_4, NoSymbol, U2115, NoSymbol ] };
341 key <AC08> { [ r, R, parenright, U03F1, KP_5, NoSymbol, U211D, NoSymbol ] };
342 key <AC09> { [ t, T, minus, Greek_tau, KP_6, NoSymbol, partialderivative, NoSymbol ] };
343 key <AC10> { [ d, D, colon, Greek_delta, KP_Separator, NoSymbol, Greek_DELTA, NoSymbol ] };
344
345 key <AC11> { [ y, Y, at, Greek_upsilon, KP_Decimal, NoSymbol, nabla, NoSymbol ] };
346
347 // Bottom Row
348 // --------------------------------------------------------------
349 key <AB01> { [ udiaeresis, Udiaeresis, numbersign, NoSymbol, Escape, Escape, U211C, NoSymbol ] };
350 key <AB02> { [ odiaeresis, Odiaeresis, dollar, U03F5, Tab, Tab, U2111, NoSymbol ] };
351 key <AB03> { [ adiaeresis, Adiaeresis, bar, Greek_eta, Next, Next, U2135, NoSymbol ] };
352 key <AB04> { [ p, P, asciitilde, Greek_pi, Return, Return, Greek_PI, NoSymbol ] };
353 key <AB05> { [ z, Z, grave, Greek_zeta, NoSymbol, NoSymbol, U2124, NoSymbol ] };
354
355 key <AB06> { [ b, B, plus, Greek_beta, colon, NoSymbol, U21D0, NoSymbol ] };
356 key <AB07> { [ m, M, percent, Greek_mu, KP_1, NoSymbol, ifonlyif, NoSymbol ] };
357 key <AB08> { [ comma, endash, quotedbl, Greek_rho, KP_2, NoSymbol, U21D2, NoSymbol ] };
358 key <AB09> { [ period, enfilledcircbullet, apostrophe, U03D1, KP_3, NoSymbol, Greek_THETA, NoSymbol ] };
359 key <AB10> { [ j, J, semicolon, Greek_theta, semicolon, NoSymbol, variation, NoSymbol ] };
360
361 // Space key
362 // --------------------------------------------------------------
363 key <SPCE> { [ space, space, space, nobreakspace, KP_0, NoSymbol, U202F, NoSymbol ] };
364
365
366 // Keypad-keys
367 // ===============
368
369 // Num-Lock is no longer used with Neo:
370 //key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD";
371
372 // The former Numlock key:
373 key <NMLK> { [ Tab, ISO_Left_Tab, equal, approxeq, notequal, NoSymbol, identical, NoSymbol ] };
374
375 // Topmost Row
376 // --------------------------------------------------------------
377 key <KPDV> { [ KP_Divide, KP_Divide, division, U2300, U2215, NoSymbol, U2223, NoSymbol ] };
378 key <KPMU> { [ KP_Multiply, KP_Multiply, U2219, U2299, multiply, NoSymbol, U2297, NoSymbol ] };
379 key <KPSU> { [ KP_Subtract, KP_Subtract, U2212, U2296, U2216, NoSymbol, U2238, NoSymbol ] };
380
381 // Top Row
382 // --------------------------------------------------------------
383 key <KP7> { [ KP_7, U2714, U2195, U226A, KP_Home, KP_Home, upstile, NoSymbol ] };
384 key <KP8> { [ KP_8, U2718, uparrow, intersection, KP_Up, KP_Up, U22C2, NoSymbol ] };
385 key <KP9> { [ KP_9, dagger, U20D7, U226B, KP_Prior, KP_Prior, U2309, NoSymbol ] };
386 key <KPAD> { [ KP_Add, KP_Add, plusminus, U2295, U2213, NoSymbol, U2214, NoSymbol ] };
387
388 // middle Row
389 // --------------------------------------------------------------
390 key <KP4> { [ KP_4, club, leftarrow, includedin, KP_Left, KP_Left, U2286, NoSymbol ] };
391 key <KP5> { [ KP_5, EuroSign, brokenbar, U22B6, KP_Begin, KP_Begin, U22B7, NoSymbol ] };
392 key <KP6> { [ KP_6, U2023, rightarrow, includes, KP_Right, KP_Right, U2287, NoSymbol ] };
393
394 // Bottom Row
395 // --------------------------------------------------------------
396 key <KP1> { [ KP_1, diamond, U2194, lessthanequal, KP_End, KP_End, downstile, NoSymbol ] };
397 key <KP2> { [ KP_2, heart, downarrow, union, KP_Down, KP_Down, U22C3, NoSymbol ] };
398 key <KP3> { [ KP_3, U2660, U21CC, greaterthanequal, KP_Next, KP_Next, U230B, NoSymbol ] };
399 key <KPEN> { [ KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, NoSymbol ] };
400 key <KPEQ> { [ KP_Equal, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ] };
401
402 // Bottommost Row
403 // --------------------------------------------------------------
404 key <KP0> { [ KP_0, U2423, percent, U2030, KP_Insert, KP_Insert, U25A1, NoSymbol ] };
405 key <KPDL> { [ KP_Separator, KP_Decimal, period, apostrophe, KP_Delete, KP_Delete, quotedbl, NoSymbol ] };
406};
407
408// Copied from macintosh_vndr/de
409// olh@suse.de very close to MacOS map
410
411partial alphanumeric_keys
412xkb_symbols "mac" {
413
414 include "de"
415 name[Group1]= "Germany - Macintosh";
416
417 // Alphanumeric section
418 key <AE01> { [ 1, exclam, exclamdown, at ] };
419 key <AE05> { [ 5, percent, bracketleft ] };
420 key <AE06> { [ 6, ampersand, bracketright ] };
421 key <AE07> { [ 7, slash, bar, backslash ] };
422 key <AE08> { [ 8, parenleft, braceleft, asciitilde ] };
423 key <AE09> { [ 9, parenright, braceright ] };
424 key <AD01> { [ q, Q, guillemotleft, guillemotright ] };
425 key <AD04> { [ r, R, registered ] };
426 key <AD07> { [ u, U, diaeresis, Aacute ] };
427 key <AD08> { [ i, I, slash, Ucircumflex ] };
428 key <AD11> { [ udiaeresis, Udiaeresis, periodcentered, degree ] };
429 key <AD12> { [ plus, asterisk, asciitilde ] };
430 key <AC01> { [ a, A, aring, Aring ] };
431 key <AC05> { [ g, G, copyright ] };
432 key <AC06> { [ h, H, ordfeminine ] };
433 key <AC09> { [ l, L, at ] };
434 key <AC10> { [ odiaeresis, Odiaeresis, dead_acute ] };
435 key <AB06> { [ n, N, asciitilde ] };
436
437};
438
439partial alphanumeric_keys
440xkb_symbols "mac_nodeadkeys" {
441 // modify the standard German mac layout to not have any dead keys
442 include "de(mac)"
443 name[Group1]= "Germany - Macintosh, eliminate dead keys";
444 key <AE04> { [ 4, dollar, onequarter, currency ] };
445
446 key <TLDE> { [ asciicircum, degree, notsign ] };
447 key <AE12> { [ acute, grave, cedilla ] };
448 key <AD11> { [ udiaeresis, Udiaeresis, diaeresis ] };
449 key <AD12> { [ plus, asterisk, asciitilde, macron ] };
450 key <AC10> { [ odiaeresis, Odiaeresis, acute ] };
451 key <AC11> { [ adiaeresis, Adiaeresis, asciicircum ] };
452
453 key <BKSL> { [ numbersign, apostrophe, grave ] };
454};
455
456partial alphanumeric_keys
457xkb_symbols "dsb"
458{
459 name[Group1] = "Germany - Lower Sorbian";
460 include "latin(basic)"
461 include "level3(ralt_switch)"
462 include "kpdl(comma)"
463 key <AB01> { [ z, Z, zcaron, Zcaron ] };
464 key <AB02> { [ x, X, zacute, Zacute ] };
465 key <AB03> { [ c, C, cacute, Cacute ] };
466 key <AB04> { [ v, V, ccaron, Ccaron ] };
467 key <AB06> { [ n, N, nacute, Nacute ] };
468 key <AC02> { [ s, S, sacute, Sacute ] };
469 key <AC03> { [ d, D, scaron, Scaron ] };
470 key <AC04> { [ f, F ] };
471 key <AD01> { [ q, Q ] };
472 key <AD02> { [ w, W ] };
473 key <AD03> { [ e, E, ecaron, Ecaron ] };
474 key <AD04> { [ r, R, racute, Racute ] };
475 key <AD05> { [ t, T, U20B5, EuroSign ] };
476 key <AD09> { [ o, O, oacute, Oacute ] };
477};
478
479partial alphanumeric_keys
480xkb_symbols "dsb_qwertz"
481{
482 name[Group1] = "Germany - Lower Sorbian (qwertz)";
483 include "latin(basic)"
484 include "level3(ralt_switch)"
485 include "kpdl(comma)"
486 key <AB01> { [ y, Y ] };
487 key <AB02> { [ x, X ] };
488 key <AB03> { [ c, C, cacute, Cacute ] };
489 key <AB04> { [ v, V, ccaron, Ccaron ] };
490 key <AB06> { [ n, N, nacute, Nacute ] };
491 key <AC02> { [ s, S, sacute, Sacute ] };
492 key <AC03> { [ d, D, scaron, Scaron ] };
493 key <AC04> { [ f, F ] };
494 key <AD01> { [ q, Q ] };
495 key <AD02> { [ w, W ] };
496 key <AD03> { [ e, E, ecaron, Ecaron ] };
497 key <AD04> { [ r, R, racute, Racute ] };
498 key <AD05> { [ t, T, U20B5, EuroSign ] };
499 key <AD06> { [ z, Z, zcaron, Zcaron ] };
500 key <AD07> { [ u, U, zacute, Zacute ] };
501 key <AD09> { [ o, O, oacute, Oacute ] };
502};
503
504partial alphanumeric_keys
505xkb_symbols "qwerty" {
506
507 // This layout should work exactly as a de with the exception
508 // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
509 // 2008 by Matej Košík <kosik@fiit.stuba.sk>
510
511 include "de(basic)"
512
513 name[Group1] = "Germany - qwerty";
514
515 key <AB01> { [ z, Z, leftarrow, yen ] };
516 key <AD06> { [ y, Y, guillemotleft, less ] };
517};