// Keyboard layouts for Germany. default xkb_symbols "basic" { include "latin(type4)" name[Group1]="German"; key {[dead_circumflex, degree, U2032, U2033 ]}; // ′ ″ key {[ 2, quotedbl, twosuperior, oneeighth ]}; key {[ 3, section, threesuperior, sterling ]}; key {[ 4, dollar, onequarter, currency ]}; key {[ ssharp, question, backslash, questiondown, U1E9E ], type[group1]="FOUR_LEVEL_PLUS_LOCK" }; key {[ dead_acute, dead_grave, dead_cedilla, dead_ogonek ]}; key {[ e, E, EuroSign, EuroSign ]}; key {[ z, Z, leftarrow, yen ]}; key {[ udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ]}; key {[ plus, asterisk, asciitilde, macron ]}; key {[ s, S, U017F, U1E9E ]}; // ſ ẞ key {[ j, J, dead_belowdot, dead_abovedot ]}; key {[ odiaeresis, Odiaeresis, dead_doubleacute, dead_belowdot ]}; key {[ adiaeresis, Adiaeresis, dead_circumflex, dead_caron ]}; key {[ numbersign, apostrophe, rightsinglequotemark, dead_breve ]}; key {[ less, greater, bar, dead_belowmacron ]}; key {[ y, Y, guillemotright, U203A ]}; // » › key {[ x, X, guillemotleft, U2039 ]}; // « ‹ key {[ comma, semicolon, periodcentered, multiply ]}; key {[ period, colon, U2026, division ]}; // … ÷ key {[ minus, underscore, endash, emdash ]}; include "kpdl(comma)" include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "deadtilde" { // The previous standard German layout with tilde as dead key. include "de(basic)" name[Group1]="German (dead tilde)"; key { [ plus, asterisk, dead_tilde, dead_macron ] }; }; partial alphanumeric_keys xkb_symbols "nodeadkeys" { // Modify the basic German layout to not have any dead keys. include "de(basic)" name[Group1]="German (no dead keys)"; key { [asciicircum, degree, notsign, notsign ] }; key { [ acute, grave, cedilla, cedilla ] }; key { [ udiaeresis, Udiaeresis, diaeresis, diaeresis ] }; key { [ plus, asterisk, asciitilde, macron ] }; key { [ odiaeresis, Odiaeresis, doubleacute, doubleacute ] }; key { [ adiaeresis, Adiaeresis, asciicircum, asciicircum ] }; key { [ numbersign, apostrophe, rightsinglequotemark, grave ] }; }; partial alphanumeric_keys xkb_symbols "deadgraveacute" { // Modify the basic German layout to have only acute and grave as dead keys // (~ and ^ are needed as spacing characters in many programming languages). include "de(basic)" name[Group1]="German (dead grave acute)"; key { [asciicircum, degree, notsign, notsign ] }; key { [ plus, asterisk, asciitilde, dead_macron ] }; key { [ numbersign, apostrophe, rightsinglequotemark, grave ] }; }; partial alphanumeric_keys xkb_symbols "deadacute" { // Modify the basic German layout to have only acute as a dead key. include "de(deadgraveacute)" name[Group1]="German (dead acute)"; key { [dead_acute, grave, dead_cedilla, dead_ogonek ] }; key { [numbersign, apostrophe, rightsinglequotemark, dead_grave ] }; }; partial alphanumeric_keys xkb_symbols "e1" { // German extended layout E1, based on DIN 2137-1:2020-11, for a 105-key keyboard. // See https://de.wikipedia.org/wiki/E1_(Tastaturbelegung). name[Group1]="German (E1)"; key.type[Group1] = "EIGHT_LEVEL"; key {[ dead_circumflex, degree, multiply, any, any, any ]}; key {[ 1, exclam, rightsinglequotemark, any, onequarter, U25CA ]}; key {[ 2, quotedbl, twosuperior, any, onehalf, brokenbar ]}; key {[ 3, section, threesuperior, any, threequarters, paragraph ]}; key {[ 4, dollar, emdash, any, currency, U2133 ]}; key {[ 5, percent, exclamdown, any, U2030, U20B0 ]}; key {[ 6, ampersand, questiondown, any, U2044, U204A ]}; key {[ 7, slash, braceleft, any, U2300, U2116 ]}; key {[ 8, parenleft, bracketleft, any, U27E8, U27EA ]}; key {[ 9, parenright, bracketright, any, U27E9, U27EB ]}; key {[ 0, equal, braceright, any, division, U2205 ]}; key {[ ssharp, question, backslash, any, notequal, notsign ]}; key {[ dead_acute, dead_grave, dead_abovedot, any, sterling, U035C ]}; key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; key {[ q, Q, at, any, masculine, U2642 ]}; key {[ w, W, dead_macron, any, ordfeminine, U2640 ]}; key {[ e, E, EuroSign, any, schwa, SCHWA ]}; key {[ r, R, dead_doubleacute, any, trademark, registered ]}; key {[ t, T, dead_caron, any, thorn, THORN ]}; key {[ z, Z, dead_diaeresis, any, U0292, U01B7 ]}; key {[ u, U, dead_breve, any, rightarrow, leftarrow ]}; key {[ i, I, dead_tilde, any, idotless, U26A5 ]}; key {[ o, O, dead_abovering, any, oslash, Oslash ]}; key {[ p, P, dead_hook, any, downarrow, uparrow ]}; key {[ udiaeresis, Udiaeresis, dead_horn, any, U2198, U2197 ]}; key.type[Group1] = "EIGHT_LEVEL"; key {[ plus, asterisk, asciitilde, any, plusminus, U2052 ]}; key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; // Per DIN 2137-1:2018-12, p. 11-12, AltGr+a can either invoke a selection possibility // for emojis and/or special characters, or output the U+263A smiley. key {[ a, A, Multi_key, any, any, any ]}; key {[ s, S, seconds, any, U017F, U2211 ]}; key {[ d, D, minutes, any, eth, ETH ]}; key {[ f, F, ISO_Level5_Latch, any, any, any ]}; key {[ g, G, U1E9E, any, U02BF, U261B ]}; key {[ h, H, dead_belowmacron, any, U02BE, U261A ]}; key {[ j, J, dead_cedilla, any, U02B9, U02BA ]}; key {[ k, K, dead_belowcomma, any, any, any ]}; key {[ l, L, dead_ogonek, any, lstroke, Lstroke ]}; key {[ odiaeresis, Odiaeresis, dead_belowdot, any, oe, OE ]}; key {[ adiaeresis, Adiaeresis, dead_stroke, any, ae, AE ]}; key.type[Group1] = "EIGHT_LEVEL"; key {[ numbersign, apostrophe, U2212, any, U2020, U2021 ]}; key {[ less, greater, bar, any, lessthanequal, greaterthanequal ]}; key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; key {[ y, Y, U203A, any, U2423, U23D1 ]}; key {[ x, X, guillemotright, any, doublelowquotemark, singlelowquotemark ]}; key {[ c, C, U202F, any, cent, copyright ]}; key {[ v, V, guillemotleft, any, leftdoublequotemark, leftsinglequotemark ]}; key {[ b, B, U2039, any, rightdoublequotemark, rightsinglequotemark ]}; key {[ n, N, endash, any, eng, ENG ]}; // Per DIN 2137-1:2018-12, p. 12, U+2217 should be replaced by the 'middle asterisk' character // as soon as it has been added to Unicode (see Unicode proposal L2/17-152). key {[ m, M, mu, any, U200C, U2217 ]}; key.type[Group1] = "EIGHT_LEVEL"; key {[ comma, semicolon, U2011, any, U02BB, U2661 ]}; key {[ period, colon, periodcentered, any, ellipsis, U2713 ]}; key {[ minus, underscore, hyphen, any, U2022, U25E6 ]}; key.type[Group1] = "EIGHT_LEVEL"; key {[ space, space, nobreakspace, any, U200A, U2009 ]}; key.type[Group1] = "ONE_LEVEL"; key {[ Shift_L ]}; key {[ Shift_R ]}; key {[ ISO_Level3_Shift ]}; include "kpdl(comma)" }; partial alphanumeric_keys xkb_symbols "e2" { // German extended layout E2, based on DIN 2137-1:2020-11, for a 104-key keyboard. // See https://de.wikipedia.org/wiki/E1_(Tastaturbelegung). include "de(e1)" name[Group1]="German (E2)"; // One key less than E1: assign bar, less and greater to other keys. key.type[Group1] = "EIGHT_LEVEL"; key {[ dead_circumflex, degree, bar, any, any, any ]}; key {[ 2, quotedbl, less, any, onehalf, brokenbar ]}; key {[ 3, section, greater, any, threequarters, paragraph ]}; key {[ plus, asterisk, asciitilde, any, multiply, U2052 ]}; // For when E2 is used on a 105-key keyboard. key {[ ISO_Level3_Shift ], type[group1] = "ONE_LEVEL" }; }; partial alphanumeric_keys xkb_symbols "T3" { // German extended layout T3 based on DIN 2137-1:2012-06 // Now obsolete, use de(e1) or de(e2) name[Group1]="German (T3)"; key.type[Group1] = "EIGHT_LEVEL"; key {[ dead_circumflex, degree, multiply, NoSymbol, U204A, hyphen, bar ]}; key {[ 1, exclam, rightsinglequotemark, NoSymbol, onesuperior, exclamdown, U02B9 ]}; key {[ 2, quotedbl, twosuperior, NoSymbol, twosuperior, currency, U02BA ]}; key {[ 3, section, threesuperior, NoSymbol, threesuperior, sterling, U02BF ]}; key {[ 4, dollar, emdash, NoSymbol, onequarter, EuroSign, U02BE ]}; key {[ 5, percent, exclamdown, NoSymbol, onehalf, uparrow, U02C1 ]}; key {[ 6, ampersand, questiondown, NoSymbol, threequarters, downarrow, U02C0 ]}; key {[ 7, slash, braceleft, NoSymbol, oneeighth, leftarrow, braceleft ]}; key {[ 8, parenleft, bracketleft, NoSymbol, threeeighths, rightarrow, braceright ]}; key {[ 9, parenright, bracketright, NoSymbol, fiveeighths, plusminus, bracketleft ]}; key {[ 0, equal, braceright, NoSymbol, seveneighths, trademark, bracketright ]}; key {[ ssharp, question, backslash, NoSymbol, backslash, questiondown, U02BB ]}; key {[ dead_acute, dead_grave, dead_abovedot, NoSymbol, dead_cedilla, dead_ogonek, notsign ]}; key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC"; key {[ q, Q, at, NoSymbol, U0242, U0241, U030D ]}; key {[ w, W, dead_caron, NoSymbol, U02B7, U2126, dead_abovedot ]}; key {[ e, E, EuroSign, NoSymbol, oe, OE, dead_breve ]}; key {[ r, R, dead_diaeresis, NoSymbol, paragraph, registered, dead_circumflex ]}; key {[ t, T, dead_macron, NoSymbol, UA78C, UA78B, dead_diaeresis ]}; key {[ z, Z, dead_doubleacute, NoSymbol, U027C, yen, dead_invertedbreve ]}; key {[ u, U, dead_breve, NoSymbol, U0223, U0222, dead_caron ]}; key {[ i, I, dead_tilde, NoSymbol, idotless, U214D, dead_abovecomma ]}; key {[ o, O, dead_abovering, NoSymbol, oslash, Oslash, dead_horn ]}; key {[ p, P, dead_hook, NoSymbol, thorn, THORN, dead_hook ]}; key {[ udiaeresis, Udiaeresis, dead_horn, NoSymbol, U017F, dead_abovering, dead_grave ]}; key.type[Group1] = "EIGHT_LEVEL"; key {[ plus, asterisk, asciitilde, NoSymbol, dead_tilde, dead_macron, at ]}; key.type[Group1] = "ONE_LEVEL"; key {[ Caps_Lock ]}; key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC"; key {[ a, A, lessthanequal, NoSymbol, ae, AE, U0329 ]}; key {[ s, S, greaterthanequal, NoSymbol, ssharp, section, dead_belowdot ]}; key {[ d, D, U2300, NoSymbol, eth, ETH, dead_belowbreve ]}; key {[ f, F, minutes, NoSymbol, U0294, ordfeminine, dead_belowcircumflex ]}; key {[ g, G, seconds, NoSymbol, eng, ENG, dead_belowmacron ]}; key {[ h, H, U1E9E, NoSymbol, U0272, U019D, U0332 ]}; key {[ j, J, dead_cedilla, NoSymbol, U0133, U0132, dead_belowring ]}; key {[ k, K, dead_belowcomma, NoSymbol, kra, dead_belowcomma, dead_stroke ]}; key {[ l, L, dead_ogonek, NoSymbol, lstroke, Lstroke, U0338 ]}; key {[ odiaeresis, Odiaeresis, dead_belowdot, NoSymbol, dead_acute, dead_doubleacute, degree ]}; key {[ adiaeresis, Adiaeresis, dead_stroke, NoSymbol, U019B, U1E9E, minutes ]}; key.type[Group1] = "EIGHT_LEVEL"; key {[ numbersign, apostrophe, registered, NoSymbol, schwa, SCHWA, seconds ]}; key {[ less, greater, bar, NoSymbol, U0149, brokenbar, U266A ]}; key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC"; key {[ y, Y, U203A, NoSymbol, U0292, U01B7, guillemotleft ]}; key {[ x, X, guillemotright, NoSymbol, doublelowquotemark, singlelowquotemark, guillemotright ]}; key {[ c, C, copyright, NoSymbol, cent, copyright, Greek_horizbar ]}; key {[ v, V, guillemotleft, NoSymbol, leftdoublequotemark, leftsinglequotemark, U2039 ]}; key {[ b, B, U2039, NoSymbol, rightdoublequotemark, rightsinglequotemark, U203A ]}; key {[ n, N, endash, NoSymbol, U019E, U0220, endash ]}; key {[ m, M, mu, NoSymbol, mu, masculine, emdash ]}; key.type[Group1] = "EIGHT_LEVEL"; key {[ comma, semicolon, U02BB, NoSymbol, ellipsis, multiply, dollar ]}; key {[ period, colon, U200C, NoSymbol, periodcentered, division, numbersign ]}; key {[ minus, underscore, hyphen, NoSymbol, U0140, U013F, U2011 ]}; key {[ space, space, nobreakspace, NoSymbol, U202F, U200C, nobreakspace ]}; include "kpdl(comma)" key.type[Group1] = "THREE_LEVEL"; key {[ Shift_L, Shift_L, ISO_Level5_Latch ]}; key {[ Shift_R, Shift_R, ISO_Level5_Latch ]}; key {[ ISO_Level3_Shift, ISO_Level5_Latch, ISO_Level5_Latch ]}; }; partial alphanumeric_keys xkb_symbols "ro" { // Adds Romanian-specific letters to the German basic layout. // Romanian symbols are accessible by combining and // 'a', 's', 't', 'i', 'ä (ä)' (+ for capital letters). include "de(basic)" name[Group1]="Romanian (Germany)"; key { [ t, T, U021b, U021a ] }; key { [ i, I, icircumflex, Icircumflex ] }; key { [ a, A, acircumflex, Acircumflex ] }; key { [ s, S, U0219, U0218 ] }; key { [ adiaeresis, Adiaeresis, abreve, Abreve ] }; }; partial alphanumeric_keys xkb_symbols "ro_nodeadkeys" { // Adds Romanian-specific letters to the German nodeadkeys layout. // Read the comment for de_ro ! include "de(nodeadkeys)" name[Group1]="Romanian (Germany, no dead keys)"; key { [ t, T, U021b, U021a ] }; key { [ i, I, icircumflex, Icircumflex ] }; key { [ a, A, acircumflex, Acircumflex ] }; key { [ s, S, U0219, U0218 ] }; key { [ adiaeresis, Adiaeresis, abreve, Abreve ] }; }; // German Dvorak keymap by Thorsten Staerk (www.staerk.de/thorsten) // Have acute and grave as dead keys, tilde and circumflex alive as they are needed // in many programming languages. // to use this keymap, use a 105-key-keyboard and the command setxkbmap -model pc105 -layout dvorak -variant de // source: http://www-lehre.informatik.uni-osnabrueck.de/~rfreund/dvorak.php partial alphanumeric_keys xkb_symbols "dvorak" { include "us(dvorak)" name[Group1]="German (Dvorak)"; key { [ asciicircum, degree ] }; key { [ 1, exclam, onesuperior ] }; key { [ 2, quotedbl, twosuperior ] }; key { [ 3, section, threesuperior ] }; key { [ 4, dollar, bar ] }; key { [ 5, percent, bar ] }; key { [ 6, ampersand, brokenbar ] }; key { [ 7, slash, braceleft ] }; key { [ 8, parenleft, bracketleft ] }; key { [ 9, parenright, bracketright ] }; key { [ 0, equal, braceright ] }; key { [ plus, asterisk, asciitilde ] }; key { [ less, greater, dead_grave ] }; key { [ udiaeresis, Udiaeresis, at ] }; key { [ comma, semicolon, dead_diaeresis ] }; key { [ period, colon ] }; key { [ c, C, copyright, Cacute ] }; key { [ t, T, trademark ] }; key { [ z, Z, zabovedot, Zabovedot ] }; key { [ question, ssharp ] }; key { [ slash, backslash, dead_acute ] }; key { [ a, A, at, aogonek ] }; key { [ o, O, oacute, Oacute ] }; key { [ e, E, EuroSign, eogonek ] }; key { [ i, I ] }; key { [ u, U ] }; key { [ h, H ] }; key { [ d, D ] }; key { [ r, R, registered ] }; key { [ n, N, nacute, Nacute ] }; key { [ s, S, sacute, Sacute] }; key { [ l, L, lstroke, Lstroke ] }; key { [ minus, underscore, hyphen, diaeresis] }; key { [ adiaeresis, Adiaeresis, bar ] }; key { [ odiaeresis, Odiaeresis ] }; key { [ q, Q, at ] }; key { [ m, M, mu ] }; key { [ numbersign, apostrophe ] }; include "level3(ralt_switch)" }; // German Neo-Layout Version 2 // adopted 2004 by Hanno Behrens // inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/ // // Authors: Stephan Hilb // // Benjamin Kellermann // Erik Streb // and many other contributors // // https://www.neo-layout.org partial alphanumeric_keys modifier_keys keypad_keys xkb_symbols "neo_base" { // The different layers and how to reach them // -------------------------------------------------------------- // Ebene 1: normal // Ebene 2: Shift // Ebene 3: Caps or Bksl ("Mod three") // Ebene 4: Lsgt or RAlt ("Mod four") (for selecting, use also Shift) // Ebene 5: Shift + Caps/Bksl // Ebene 6: Caps/Bksl + Lsgt/RAlt // Locking uppercase: left Shift + right Shift // Locking Ebene 4: Shift + Caps + Tab, or Lsgt + RAlt // Captions for the large table below // -------------------------------------------------------------- // Xorg: Level1 Level2 Level3 Level4 Level5 Level6 Level7 Level8 // Neo: Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Pseudo-Ebene Ebene6 // Access key: none Shift Caps/Bksl Shift + Caps/Bksl Lsgt/RAlt Shift + Lsgt/RAlt Caps/Bksl + Lsgt/RAlt // Alphanumeric-keys // ================= key.type[Group1] = "EIGHT_LEVEL_WITH_LEVEL5_LOCK"; // The Tab key has Compose on the third layer (Caps + Tab) // -------------------------------------------------------------- key { [ Tab, ISO_Left_Tab, Multi_key, ISO_Level5_Lock, NoSymbol, NoSymbol, NoSymbol, ISO_Level5_Lock ] }; // Number row // -------------------------------------------------------------- key { [ dead_circumflex, dead_caron, U21BB, U02DE, dead_abovedot, Pointer_EnableKeys, dead_belowdot, NoSymbol ] }; key { [ 1, degree, onesuperior, onesubscript, ordfeminine, NoSymbol, notsign, NoSymbol ] }; key { [ 2, section, twosuperior, twosubscript, masculine, NoSymbol, logicalor, NoSymbol ] }; key { [ 3, U2113, threesuperior, threesubscript, numerosign, NoSymbol, logicaland, NoSymbol ] }; key { [ 4, guillemotright, U203A, femalesymbol, NoSymbol, NoSymbol, U22A5, NoSymbol ] }; key { [ 5, guillemotleft, U2039, malesymbol, periodcentered, NoSymbol, U2221, NoSymbol ] }; key { [ 6, dollar, cent, U26A5, sterling, NoSymbol, U2225, NoSymbol ] }; key { [ 7, EuroSign, yen, U03F0, currency, NoSymbol, rightarrow, NoSymbol ] }; key { [ 8, doublelowquotemark, singlelowquotemark, U27E8, Tab, ISO_Left_Tab, U221E, NoSymbol ] }; key { [ 9, leftdoublequotemark, leftsinglequotemark, U27E9, KP_Divide, KP_Divide, variation, NoSymbol ] }; key { [ 0, rightdoublequotemark, rightsinglequotemark, zerosubscript, KP_Multiply, KP_Multiply, emptyset, NoSymbol ] }; key { [ minus, emdash, NoSymbol, U2011, KP_Subtract, KP_Subtract, hyphen, NoSymbol ] }; key { [ dead_grave, dead_cedilla, dead_abovering, dead_dasia, dead_diaeresis, NoSymbol, dead_macron, NoSymbol ] }; // Top row // -------------------------------------------------------------- key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_WITH_LEVEL5_LOCK"; key { [ x, X, ellipsis, Greek_xi, Prior, Prior, Greek_XI, NoSymbol ] }; key { [ v, V, underscore, NoSymbol, BackSpace, BackSpace, radical, NoSymbol ] }; key { [ l, L, bracketleft, Greek_lambda, Up, Up, Greek_LAMBDA, NoSymbol ] }; key { [ c, C, bracketright, Greek_chi, Delete, Delete, U2102, NoSymbol ] }; key { [ w, W, asciicircum, Greek_omega, Next, Next, Greek_OMEGA, NoSymbol ] }; key { [ k, K, exclam, Greek_kappa, exclamdown, NoSymbol, multiply, NoSymbol ] }; key { [ h, H, less, Greek_psi, KP_7, KP_7, Greek_PSI, NoSymbol ] }; key { [ g, G, greater, Greek_gamma, KP_8, KP_8, Greek_GAMMA, NoSymbol ] }; key { [ f, F, equal, Greek_phi, KP_9, KP_9, Greek_PHI, NoSymbol ] }; key { [ q, Q, ampersand, U03D5, KP_Add, KP_Add, U211A, NoSymbol ] }; key { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, U2212, NoSymbol, jot, NoSymbol ] }; key.type[Group1] = "EIGHT_LEVEL_WITH_LEVEL5_LOCK"; key { [ dead_acute, dead_tilde, dead_stroke, dead_psili, dead_doubleacute, NoSymbol, dead_breve, NoSymbol ] }; // Middle row // -------------------------------------------------------------- key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_WITH_LEVEL5_LOCK"; key { [ u, U, backslash, NoSymbol, Home, Home, includedin, NoSymbol ] }; key { [ i, I, slash, Greek_iota, Left, Left, integral, NoSymbol ] }; key { [ a, A, braceleft, Greek_alpha, Down, Down, U2200, NoSymbol ] }; key { [ e, E, braceright, Greek_epsilon, Right, Right, U2203, NoSymbol ] }; key { [ o, O, asterisk, Greek_omicron, End, End, elementof, NoSymbol ] }; key { [ s, S, question, Greek_sigma, questiondown, NoSymbol, Greek_SIGMA, NoSymbol ] }; key { [ n, N, parenleft, Greek_nu, KP_4, KP_4, U2115, NoSymbol ] }; key { [ r, R, parenright, Greek_rho, KP_5, KP_5, U211D, NoSymbol ] }; key { [ t, T, minus, Greek_tau, KP_6, KP_6, partialderivative, NoSymbol ] }; key { [ d, D, colon, Greek_delta, KP_Separator, comma, Greek_DELTA, NoSymbol ] }; key { [ y, Y, at, Greek_upsilon, period, KP_Decimal, nabla, NoSymbol ] }; // Bottom row // -------------------------------------------------------------- key { [ udiaeresis, Udiaeresis, numbersign, NoSymbol, Escape, Escape, union, NoSymbol ] }; key { [ odiaeresis, Odiaeresis, dollar, U03F5, Tab, Tab, intersection, NoSymbol ] }; key { [ adiaeresis, Adiaeresis, bar, Greek_eta, Insert, Insert, U2135, NoSymbol ] }; key { [ p, P, asciitilde, Greek_pi, Return, Return, Greek_PI, NoSymbol ] }; key { [ z, Z, grave, Greek_zeta, Undo, Redo, U2124, NoSymbol ] }; key { [ b, B, plus, Greek_beta, colon, NoSymbol, U21D0, NoSymbol ] }; key { [ m, M, percent, Greek_mu, KP_1, KP_1, ifonlyif, NoSymbol ] }; key.type[Group1] = "EIGHT_LEVEL_WITH_LEVEL5_LOCK"; key { [ comma, endash, quotedbl, U03F1, KP_2, KP_2, U21D2, NoSymbol ] }; key { [ period, enfilledcircbullet, apostrophe, U03D1, KP_3, KP_3, U21A6, NoSymbol ] }; key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_WITH_LEVEL5_LOCK"; key { [ j, J, semicolon, Greek_theta, semicolon, NoSymbol, Greek_THETA, NoSymbol ] }; // Space key // -------------------------------------------------------------- key.type[Group1] = "EIGHT_LEVEL_WITH_LEVEL5_LOCK"; key { [ space, space, space, nobreakspace, KP_0, KP_0, U202F, NoSymbol ] }; // Keypad-keys // =========== // The former Numlock key: key { [ Tab, ISO_Left_Tab, equal, approxeq, notequal, Pointer_EnableKeys, identical, NoSymbol ] }; // Topmost row // -------------------------------------------------------------- key { [ KP_Divide, KP_Divide, division, U2300, U2044, NoSymbol, U2223, NoSymbol ] }; key { [ KP_Multiply, KP_Multiply, U22C5, U2299, multiply, NoSymbol, U2297, NoSymbol ] }; key { [ KP_Subtract, KP_Subtract, U2212, U2296, U2216, NoSymbol, U2238, NoSymbol ] }; // Top row // -------------------------------------------------------------- key { [ KP_7, U2714, U2195, U226A, KP_Home, KP_Home, upstile, NoSymbol ] }; key { [ KP_8, U2718, uparrow, intersection, KP_Up, KP_Up, U22C2, NoSymbol ] }; key { [ KP_9, dagger, U20D7, U226B, KP_Prior, KP_Prior, U2309, NoSymbol ] }; key { [ KP_Add, KP_Add, plusminus, U2295, U2213, NoSymbol, U2214, NoSymbol ] }; // Middle row // -------------------------------------------------------------- key { [ KP_4, club, leftarrow, includedin, KP_Left, KP_Left, U2286, NoSymbol ] }; key { [ KP_5, EuroSign, colon, U22B6, KP_Begin, KP_Begin, U22B7, NoSymbol ] }; key { [ KP_6, U2023, rightarrow, includes, KP_Right, KP_Right, U2287, NoSymbol ] }; // Bottom row // -------------------------------------------------------------- key { [ KP_1, diamond, U2194, lessthanequal, KP_End, KP_End, downstile, NoSymbol ] }; key { [ KP_2, heart, downarrow, union, KP_Down, KP_Down, U22C3, NoSymbol ] }; key { [ KP_3, U2660, U21CC, greaterthanequal, KP_Next, KP_Next, U230B, NoSymbol ] }; key { [ KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, NoSymbol ] }; key { [ KP_Equal, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; // Bottommost row // -------------------------------------------------------------- key { [ KP_0, U2423, percent, U2030, KP_Insert, KP_Insert, U25A1, NoSymbol ] }; key { [ KP_Separator, period, comma, minutes, KP_Delete, KP_Delete, seconds, NoSymbol ] }; }; partial alphanumeric_keys modifier_keys keypad_keys xkb_symbols "neo" { include "de(neo_base)" name[Group1]= "German (Neo 2)"; include "shift(both_capslock)" include "level3(caps_switch)" include "level3(bksl_switch)" include "level5(lsgt_switch_lock)" include "level5(ralt_switch_lock)" }; // Copied from macintosh_vndr/de // olh@suse.de very close to MacOS map partial alphanumeric_keys xkb_symbols "mac" { include "de" name[Group1]= "German (Macintosh)"; key { [ 1, exclam, exclamdown, at ] }; key { [ 5, percent, bracketleft ] }; key { [ 6, ampersand, bracketright ] }; key { [ 7, slash, bar, backslash ] }; key { [ 8, parenleft, braceleft, asciitilde ] }; key { [ 9, parenright, braceright ] }; key { [ q, Q, guillemotleft, guillemotright ] }; key { [ r, R, registered ] }; key { [ u, U, diaeresis, Aacute ] }; key { [ i, I, slash, Ucircumflex ] }; key { [ udiaeresis, Udiaeresis, periodcentered, degree ] }; key { [ plus, asterisk, asciitilde ] }; key { [ a, A, aring, Aring ] }; key { [ g, G, copyright ] }; key { [ h, H, ordfeminine ] }; key { [ l, L, at ] }; key { [ odiaeresis, Odiaeresis, dead_acute ] }; key { [ n, N, asciitilde ] }; }; partial alphanumeric_keys xkb_symbols "mac_nodeadkeys" { // modify the standard German mac layout to not have any dead keys include "de(mac)" name[Group1]= "German (Macintosh, no dead keys)"; key { [ asciicircum, degree, notsign ] }; key { [ 4, dollar, onequarter, currency ] }; key { [ acute, grave, cedilla ] }; key { [ udiaeresis, Udiaeresis, diaeresis ] }; key { [ plus, asterisk, asciitilde, macron ] }; key { [ odiaeresis, Odiaeresis, acute ] }; key { [ adiaeresis, Adiaeresis, asciicircum ] }; key { [ numbersign, apostrophe, rightsinglequotemark ] }; }; partial alphanumeric_keys xkb_symbols "dsb" { include "latin(basic)" name[Group1] = "Lower Sorbian"; key { [ e, E, ecaron, Ecaron ] }; key { [ r, R, racute, Racute ] }; key { [ t, T, U20B5, EuroSign ] }; key { [ o, O, oacute, Oacute ] }; key { [ s, S, sacute, Sacute ] }; key { [ d, D, scaron, Scaron ] }; key { [ z, Z, zcaron, Zcaron ] }; key { [ x, X, zacute, Zacute ] }; key { [ c, C, cacute, Cacute ] }; key { [ v, V, ccaron, Ccaron ] }; key { [ n, N, nacute, Nacute ] }; include "kpdl(comma)" include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "dsb_qwertz" { include "de(basic)" name[Group1] = "Lower Sorbian (QWERTZ)"; key { [ e, E, ecaron, Ecaron ] }; key { [ r, R, racute, Racute ] }; key { [ t, T, U20B5, EuroSign ] }; key { [ z, Z, zcaron, Zcaron ] }; key { [ u, U, zacute, Zacute ] }; key { [ o, O, oacute, Oacute ] }; key { [ s, S, sacute, Sacute ] }; key { [ d, D, scaron, Scaron ] }; key { [ c, C, cacute, Cacute ] }; key { [ v, V, ccaron, Ccaron ] }; key { [ n, N, nacute, Nacute ] }; include "kpdl(comma)" include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "qwerty" { // This layout should work exactly as a de with the exception // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped). // 2008 by Matej Košík include "de(basic)" name[Group1] = "German (QWERTY)"; key { [ z, Z, leftarrow, yen ] }; key { [ y, Y, guillemotleft, less ] }; }; // layout for Russian letters on an german keyboard // based on US-RU layout by Ivan Popov 2005-07-17 // adopted for german layout by Alexey Fisher 2010-08-19 partial alphanumeric_keys xkb_symbols "ru" { include "de(basic)" name[Group1]= "Russian (Germany, phonetic)"; key { [ Cyrillic_a, Cyrillic_A ] }; key { [ Cyrillic_be, Cyrillic_BE ] }; key { [ Cyrillic_ve, Cyrillic_VE ] }; key { [ Cyrillic_ghe, Cyrillic_GHE ] }; key { [ Cyrillic_de, Cyrillic_DE ] }; key { [ Cyrillic_ie, Cyrillic_IE ] }; key { [ Cyrillic_io, Cyrillic_IO, asciitilde ] }; key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; key { [ Cyrillic_ze, Cyrillic_ZE ] }; key { [ Cyrillic_i, Cyrillic_I ] }; key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; key { [ Cyrillic_ka, Cyrillic_KA ] }; key { [ Cyrillic_el, Cyrillic_EL ] }; key { [ Cyrillic_em, Cyrillic_EM ] }; key { [ Cyrillic_en, Cyrillic_EN ] }; key { [ Cyrillic_o, Cyrillic_O ] }; key { [ Cyrillic_pe, Cyrillic_PE ] }; key { [ Cyrillic_er, Cyrillic_ER ] }; key { [ Cyrillic_es, Cyrillic_ES ] }; key { [ Cyrillic_te, Cyrillic_TE ] }; key { [ Cyrillic_u, Cyrillic_U ] }; key { [ Cyrillic_ef, Cyrillic_EF ] }; key { [ Cyrillic_ha, Cyrillic_HA ] }; key { [ Cyrillic_tse, Cyrillic_TSE ] }; key { [ Cyrillic_che, Cyrillic_CHE ] }; key { [ Cyrillic_sha, Cyrillic_SHA ] }; key { [ Cyrillic_shcha, Cyrillic_SHCHA, plus, asterisk ] }; key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; key { [ Cyrillic_yeru, Cyrillic_YERU ] }; key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; key { [ Cyrillic_e, Cyrillic_E ] }; key { [ Cyrillic_yu, Cyrillic_YU, numbersign, apostrophe ] }; key { [ Cyrillic_ya, Cyrillic_YA ] }; include "level3(ralt_switch)" }; // layout for Russian (recommended) letters on a german keyboard // based on "Russisch für Deutsche, empfohlen" by B. Bendixen und H. Rothe http://russisch.urz.uni-leipzig.de/key2000.htm 2016-02-01 // adapted for Linux by Niko Krause 2016-06-09 partial alphanumeric_keys xkb_symbols "ru-recom" { include "de(basic)" name[Group1]= "Russian (Germany, recommended)"; key { [ Cyrillic_a, Cyrillic_A ] }; key { [ Cyrillic_be, Cyrillic_BE ] }; key { [ Cyrillic_ve, Cyrillic_VE ] }; key { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; key { [ Cyrillic_de, Cyrillic_DE ] }; key { [ Cyrillic_ie, Cyrillic_IE ] }; key { [ Cyrillic_ya, Cyrillic_YA, asciicircum, degree ] }; key { [ Cyrillic_ha, Cyrillic_HA ] }; key { [ Cyrillic_tse, Cyrillic_TSE ] }; key { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] }; key { [ Cyrillic_shorti, Cyrillic_SHORTI, Ukrainian_yi, Ukrainian_YI ] }; key { [ Cyrillic_ka, Cyrillic_KA ] }; key { [ Cyrillic_el, Cyrillic_EL ] }; key { [ Cyrillic_em, Cyrillic_EM ] }; key { [ Cyrillic_en, Cyrillic_EN ] }; key { [ Cyrillic_o, Cyrillic_O ] }; key { [ Cyrillic_pe, Cyrillic_PE ] }; key { [ Cyrillic_er, Cyrillic_ER ] }; key { [ Cyrillic_es, Cyrillic_ES, Cyrillic_ze, Cyrillic_ZE ] }; key { [ Cyrillic_te, Cyrillic_TE ] }; key { [ Cyrillic_u, Cyrillic_U ] }; key { [ Cyrillic_ef, Cyrillic_EF ] }; key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; key { [ Cyrillic_che, Cyrillic_CHE ] }; key { [ Cyrillic_io, Cyrillic_IO ] }; key { [ Cyrillic_yu, Cyrillic_YU ] }; key { [ Cyrillic_sha, Cyrillic_SHA, plus, asterisk ] }; key { [ Cyrillic_ze, Cyrillic_ZE ] }; key { [ Cyrillic_yeru, Cyrillic_YERU ] }; key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; key { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ] }; key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, numbersign, apostrophe ] }; key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; key { [ asciitilde, question, backslash, questiondown ] }; key { [ U0301, U0300, U0323, U0307 ] }; include "level3(ralt_switch)" }; // layout for Russian (transliteration) letters on a german keyboard // based on "Russisch für Deutsche, Transliteration" by B. Bendixen und H. Rothe http://russisch.urz.uni-leipzig.de/key2000.htm 2016-02-01 // adapted for Linux by Niko Krause 2016-06-09 partial alphanumeric_keys xkb_symbols "ru-translit" { include "de(basic)" name[Group1]= "Russian (Germany, transliteration)"; key { [ Cyrillic_a, Cyrillic_A ] }; key { [ Cyrillic_be, Cyrillic_BE ] }; key { [ Cyrillic_sha, Cyrillic_SHA ] }; key { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; key { [ Cyrillic_de, Cyrillic_DE ] }; key { [ Cyrillic_ie, Cyrillic_IE ] }; key { [ Cyrillic_ya, Cyrillic_YA, asciicircum, degree ] }; key { [ Cyrillic_ha, Cyrillic_HA ] }; key { [ Cyrillic_ze, Cyrillic_ZE ] }; key { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] }; key { [ Cyrillic_shorti, Cyrillic_SHORTI, Ukrainian_yi, Ukrainian_YI ] }; key { [ Cyrillic_ka, Cyrillic_KA ] }; key { [ Cyrillic_el, Cyrillic_EL ] }; key { [ Cyrillic_em, Cyrillic_EM ] }; key { [ Cyrillic_en, Cyrillic_EN ] }; key { [ Cyrillic_o, Cyrillic_O ] }; key { [ Cyrillic_pe, Cyrillic_PE ] }; key { [ Cyrillic_er, Cyrillic_ER ] }; key { [ Cyrillic_es, Cyrillic_ES, Cyrillic_che, Cyrillic_CHE ] }; key { [ Cyrillic_te, Cyrillic_TE ] }; key { [ Cyrillic_u, Cyrillic_U ] }; key { [ Cyrillic_ef, Cyrillic_EF ] }; key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; key { [ Cyrillic_tse, Cyrillic_TSE ] }; key { [ Cyrillic_io, Cyrillic_IO ] }; key { [ Cyrillic_yu, Cyrillic_YU ] }; key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, plus, asterisk ] }; key { [ Cyrillic_che, Cyrillic_CHE ] }; key { [ Cyrillic_yeru, Cyrillic_YERU ] }; key { [ Cyrillic_ve, Cyrillic_VE ] }; key { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ] }; key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, numbersign, apostrophe ] }; key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; key { [ asciitilde, question, backslash, questiondown ] }; key { [ U0301, U0300, U0323, U0307 ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "pl" { // Combined layout for entering both German and Polish symbols on a German physical // keyboard. Based on German (no dead keys) and Polish (basic). Polish diacritics // on AltGr+"acelnosxz". EuroSign moved to AE04 (AltGr+dollar key) to avoid conflict // with Polish eogonek. // // https://github.com/kontextify/xkeyboard-config include "latin(type4)" include "de(nodeadkeys)" name[Group1]= "Polish (Germany, no dead keys)"; key { [ 4, dollar, EuroSign, currency ] }; key { [ q, Q ] }; key { [ w, W ] }; key { [ e, E, eogonek, Eogonek ] }; key { [ o, O, oacute, Oacute ] }; key { [ a, A, aogonek, Aogonek ] }; key { [ s, S, sacute, Sacute ] }; key { [ f, F ] }; key { [ z, Z, zabovedot, Zabovedot ] }; key { [ x, X, zacute, Zacute ] }; key { [ c, C, cacute, Cacute ] }; key { [ n, N, nacute, Nacute ] }; include "kpdl(comma)" include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "tr" { // add turkish-specific letters to the basic German layout. // Turkish symbols are accessible with combination of and // 'i', 's', 'g', 'c'' (+ for capital letters). include "de(basic)" name[Group1]="Turkish (Germany)"; key {[ i, I, idotless, Iabovedot ], type[group1]="FOUR_LEVEL_ALPHABETIC" }; key {[ s, S, scedilla, Scedilla ]}; key {[ g, G, gbreve, Gbreve ]}; key {[ c, C, ccedilla, Ccedilla ]}; }; partial alphanumeric_keys xkb_symbols "us" { include "us" name[Group1]="German (US)"; key { [ 3, numbersign, section, degree ] }; key { [ minus, underscore, ssharp, U1E9E ] }; key { [ e, E, EuroSign, cent ] }; key { [ u, U, udiaeresis, Udiaeresis ] }; key { [ o, O, odiaeresis, Odiaeresis ] }; key { [ bracketleft, braceleft, udiaeresis, Udiaeresis ] }; key { [ a, A, adiaeresis, Adiaeresis ] }; key { [ s, S, ssharp, U1E9E ] }; key { [ semicolon, colon, odiaeresis, Odiaeresis ] }; key { [ apostrophe, quotedbl, adiaeresis, Adiaeresis ] }; key { [ c, C, Multi_key, Multi_key ] }; key { [ m, M, dead_greek, Menu ] }; include "level3(ralt_switch)" }; // EXTRAS: partial alphanumeric_keys xkb_symbols "hu" { // modify the basic German layout to not have any dead keys and add Hungarian letters include "de(basic)" name[Group1]="German (with Hungarian letters, no dead keys)"; key { [ y, Y, guillemotleft, less ] }; key { [odiaeresis, Odiaeresis, eacute, Eacute ] }; key { [adiaeresis, Adiaeresis, aacute, Aacute] }; key { [ e, E, EuroSign, EuroSign ] }; key { [ z, Z, leftarrow, yen ] }; key { [ u, U, uacute, Uacute ] }; key { [ i, I, iacute, Iacute ] }; key { [ o, O, odoubleacute, Odoubleacute ] }; key { [udiaeresis, Udiaeresis, udoubleacute, Udoubleacute ] }; key { [ plus, asterisk, asciitilde, macron ] }; key { [ acute, grave, oacute, Oacute ] }; key { [numbersign, apostrophe, rightsinglequotemark, grave ] }; key { [asciicircum, degree, notsign, notsign ] }; }; partial alphanumeric_keys xkb_symbols "sun_type6" { include "sun_vndr/de(sun_type6)" }; partial alphanumeric_keys xkb_symbols "adnw_base" { include "de(neo_base)" key.type[Group1] = "EIGHT_LEVEL_WITH_LEVEL5_LOCK"; key { [ period, enfilledcircbullet, NoSymbol, U03D1, NoSymbol, NoSymbol, U21A6, NoSymbol ] }; key { [ comma, endash, NoSymbol, U03F1, NoSymbol, NoSymbol, U21D2, NoSymbol ] }; key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_WITH_LEVEL5_LOCK"; key { [ k, K, NoSymbol, Greek_kappa, NoSymbol, NoSymbol, multiply, NoSymbol ] }; key { [ u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, includedin, NoSymbol ] }; key { [ udiaeresis, Udiaeresis, NoSymbol, NoSymbol, NoSymbol, NoSymbol, union, NoSymbol ] }; key { [ adiaeresis, Adiaeresis, NoSymbol, Greek_eta, NoSymbol, NoSymbol, U2135, NoSymbol ] }; key { [ v, V, NoSymbol, NoSymbol, NoSymbol, NoSymbol, radical, NoSymbol ] }; key { [ g, G, NoSymbol, Greek_gamma, NoSymbol, NoSymbol, Greek_GAMMA, NoSymbol ] }; key { [ c, C, NoSymbol, Greek_chi, NoSymbol, NoSymbol, U2102, NoSymbol ] }; key { [ l, L, NoSymbol, Greek_lambda, NoSymbol, NoSymbol, Greek_LAMBDA, NoSymbol ] }; key { [ j, J, NoSymbol, Greek_theta, NoSymbol, NoSymbol, Greek_THETA, NoSymbol ] }; key { [ f, F, NoSymbol, Greek_phi, NoSymbol, NoSymbol, Greek_PHI, NoSymbol ] }; key { [ h, H, NoSymbol, Greek_psi, NoSymbol, NoSymbol, Greek_PSI, NoSymbol ] }; key { [ i, I, NoSymbol, Greek_iota, NoSymbol, NoSymbol, integral, NoSymbol ] }; key { [ e, E, NoSymbol, Greek_epsilon, NoSymbol, NoSymbol, U2203, NoSymbol ] }; key { [ a, A, NoSymbol, Greek_alpha, NoSymbol, NoSymbol, U2200, NoSymbol ] }; key { [ o, O, NoSymbol, Greek_omicron, NoSymbol, NoSymbol, elementof, NoSymbol ] }; key { [ d, D, NoSymbol, Greek_delta, NoSymbol, NoSymbol, Greek_DELTA, NoSymbol ] }; key { [ t, T, NoSymbol, Greek_tau, NoSymbol, NoSymbol, partialderivative, NoSymbol ] }; key { [ r, R, NoSymbol, Greek_rho, NoSymbol, NoSymbol, U211D, NoSymbol ] }; key { [ n, N, NoSymbol, Greek_nu, NoSymbol, NoSymbol, U2115, NoSymbol ] }; key { [ s, S, NoSymbol, Greek_sigma, NoSymbol, NoSymbol, Greek_SIGMA, NoSymbol ] }; key { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] }; key { [ x, X, NoSymbol, Greek_xi, NoSymbol, NoSymbol, Greek_XI, NoSymbol ] }; key { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, nabla, NoSymbol ] }; key { [ odiaeresis, Odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, intersection, NoSymbol ] }; key { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] }; key { [ b, B, NoSymbol, Greek_beta, NoSymbol, NoSymbol, U21D0, NoSymbol ] }; key { [ p, P, NoSymbol, Greek_pi, NoSymbol, NoSymbol, Greek_PI, NoSymbol ] }; key { [ w, W, NoSymbol, Greek_omega, NoSymbol, NoSymbol, Greek_OMEGA, NoSymbol ] }; key { [ m, M, NoSymbol, Greek_mu, NoSymbol, NoSymbol, ifonlyif, NoSymbol ] }; key { [ z, Z, NoSymbol, Greek_zeta, NoSymbol, NoSymbol, U2124, NoSymbol ] }; }; partial alphanumeric_keys modifier_keys keypad_keys xkb_symbols "adnw" { include "de(adnw_base)" name[Group1]= "German (Aus der Neo-Welt)"; include "shift(both_capslock)" include "level3(caps_switch)" include "level3(bksl_switch)" include "level5(lsgt_switch_lock)" include "level5(ralt_switch_lock)" }; partial alphanumeric_keys xkb_symbols "koy_base" { include "de(neo_base)" key.type[Group1] = "EIGHT_LEVEL_WITH_LEVEL5_LOCK"; key { [ period, enfilledcircbullet, NoSymbol, U03D1, NoSymbol, NoSymbol, U21A6, NoSymbol ] }; key { [ comma, endash, NoSymbol, U03F1, NoSymbol, NoSymbol, U21D2, NoSymbol ] }; key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_WITH_LEVEL5_LOCK"; key { [ k, K, NoSymbol, Greek_kappa, NoSymbol, NoSymbol, multiply, NoSymbol ] }; key { [ o, O, NoSymbol, Greek_omicron, NoSymbol, NoSymbol, elementof, NoSymbol ] }; key { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, nabla, NoSymbol ] }; key { [ v, V, NoSymbol, NoSymbol, NoSymbol, NoSymbol, radical, NoSymbol ] }; key { [ g, G, NoSymbol, Greek_gamma, NoSymbol, NoSymbol, Greek_GAMMA, NoSymbol ] }; key { [ c, C, NoSymbol, Greek_chi, NoSymbol, NoSymbol, U2102, NoSymbol ] }; key { [ l, L, NoSymbol, Greek_lambda, NoSymbol, NoSymbol, Greek_LAMBDA, NoSymbol ] }; key { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] }; key { [ z, Z, NoSymbol, Greek_zeta, NoSymbol, NoSymbol, U2124, NoSymbol ] }; key { [ h, H, NoSymbol, Greek_psi, NoSymbol, NoSymbol, Greek_PSI, NoSymbol ] }; key { [ a, A, NoSymbol, Greek_alpha, NoSymbol, NoSymbol, U2200, NoSymbol ] }; key { [ e, E, NoSymbol, Greek_epsilon, NoSymbol, NoSymbol, U2203, NoSymbol ] }; key { [ i, I, NoSymbol, Greek_iota, NoSymbol, NoSymbol, integral, NoSymbol ] }; key { [ u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, includedin, NoSymbol ] }; key { [ d, D, NoSymbol, Greek_delta, NoSymbol, NoSymbol, Greek_DELTA, NoSymbol ] }; key { [ t, T, NoSymbol, Greek_tau, NoSymbol, NoSymbol, partialderivative, NoSymbol ] }; key { [ r, R, NoSymbol, Greek_rho, NoSymbol, NoSymbol, U211D, NoSymbol ] }; key { [ n, N, NoSymbol, Greek_nu, NoSymbol, NoSymbol, U2115, NoSymbol ] }; key { [ s, S, NoSymbol, Greek_sigma, NoSymbol, NoSymbol, Greek_SIGMA, NoSymbol ] }; key { [ f, F, NoSymbol, Greek_phi, NoSymbol, NoSymbol, Greek_PHI, NoSymbol ] }; key { [ x, X, NoSymbol, Greek_xi, NoSymbol, NoSymbol, Greek_XI, NoSymbol ] }; key { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] }; key { [ adiaeresis, Adiaeresis, NoSymbol, Greek_eta, NoSymbol, NoSymbol, U2135, NoSymbol ] }; key { [ udiaeresis, Udiaeresis, NoSymbol, NoSymbol, NoSymbol, NoSymbol, union, NoSymbol ] }; key { [ odiaeresis, Odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, intersection, NoSymbol ] }; key { [ b, B, NoSymbol, Greek_beta, NoSymbol, NoSymbol, U21D0, NoSymbol ] }; key { [ p, P, NoSymbol, Greek_pi, NoSymbol, NoSymbol, Greek_PI, NoSymbol ] }; key { [ w, W, NoSymbol, Greek_omega, NoSymbol, NoSymbol, Greek_OMEGA, NoSymbol ] }; key { [ m, M, NoSymbol, Greek_mu, NoSymbol, NoSymbol, ifonlyif, NoSymbol ] }; key { [ j, J, NoSymbol, Greek_theta, NoSymbol, NoSymbol, Greek_THETA, NoSymbol ] }; }; partial alphanumeric_keys modifier_keys keypad_keys xkb_symbols "koy" { include "de(koy_base)" name[Group1]= "German (KOY)"; include "shift(both_capslock)" include "level3(caps_switch)" include "level3(bksl_switch)" include "level5(lsgt_switch_lock)" include "level5(ralt_switch_lock)" }; partial alphanumeric_keys xkb_symbols "bone_base" { include "de(neo_base)" key.type[Group1] = "EIGHT_LEVEL_WITH_LEVEL5_LOCK"; key { [ comma, endash, NoSymbol, U03F1, NoSymbol, NoSymbol, U21D2, NoSymbol ] }; key { [ period, enfilledcircbullet, NoSymbol, U03D1, NoSymbol, NoSymbol, U21A6, NoSymbol ] }; key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_WITH_LEVEL5_LOCK"; key { [ j, J, NoSymbol, Greek_theta, NoSymbol, NoSymbol, Greek_THETA, NoSymbol ] }; key { [ d, D, NoSymbol, Greek_delta, NoSymbol, NoSymbol, Greek_DELTA, NoSymbol ] }; key { [ u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, includedin, NoSymbol ] }; key { [ a, A, NoSymbol, Greek_alpha, NoSymbol, NoSymbol, U2200, NoSymbol ] }; key { [ x, X, NoSymbol, Greek_xi, NoSymbol, NoSymbol, Greek_XI, NoSymbol ] }; key { [ p, P, NoSymbol, Greek_pi, NoSymbol, NoSymbol, Greek_PI, NoSymbol ] }; key { [ h, H, NoSymbol, Greek_psi, NoSymbol, NoSymbol, Greek_PSI, NoSymbol ] }; key { [ l, L, NoSymbol, Greek_lambda, NoSymbol, NoSymbol, Greek_LAMBDA, NoSymbol ] }; key { [ m, M, NoSymbol, Greek_mu, NoSymbol, NoSymbol, ifonlyif, NoSymbol ] }; key { [ w, W, NoSymbol, Greek_omega, NoSymbol, NoSymbol, Greek_OMEGA, NoSymbol ] }; key { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] }; key { [ c, C, NoSymbol, Greek_chi, NoSymbol, NoSymbol, U2102, NoSymbol ] }; key { [ t, T, NoSymbol, Greek_tau, NoSymbol, NoSymbol, partialderivative, NoSymbol ] }; key { [ i, I, NoSymbol, Greek_iota, NoSymbol, NoSymbol, integral, NoSymbol ] }; key { [ e, E, NoSymbol, Greek_epsilon, NoSymbol, NoSymbol, U2203, NoSymbol ] }; key { [ o, O, NoSymbol, Greek_omicron, NoSymbol, NoSymbol, elementof, NoSymbol ] }; key { [ b, B, NoSymbol, Greek_beta, NoSymbol, NoSymbol, U21D0, NoSymbol ] }; key { [ n, N, NoSymbol, Greek_nu, NoSymbol, NoSymbol, U2115, NoSymbol ] }; key { [ r, R, NoSymbol, Greek_rho, NoSymbol, NoSymbol, U211D, NoSymbol ] }; key { [ s, S, NoSymbol, Greek_sigma, NoSymbol, NoSymbol, Greek_SIGMA, NoSymbol ] }; key { [ g, G, NoSymbol, Greek_gamma, NoSymbol, NoSymbol, Greek_GAMMA, NoSymbol ] }; key { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] }; key { [ f, F, NoSymbol, Greek_phi, NoSymbol, NoSymbol, Greek_PHI, NoSymbol ] }; key { [ v, V, NoSymbol, NoSymbol, NoSymbol, NoSymbol, radical, NoSymbol ] }; key { [ udiaeresis, Udiaeresis, NoSymbol, NoSymbol, NoSymbol, NoSymbol, union, NoSymbol ] }; key { [ adiaeresis, Adiaeresis, NoSymbol, Greek_eta, NoSymbol, NoSymbol, U2135, NoSymbol ] }; key { [ odiaeresis, Odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, intersection, NoSymbol ] }; key { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, nabla, NoSymbol ] }; key { [ z, Z, NoSymbol, Greek_zeta, NoSymbol, NoSymbol, U2124, NoSymbol ] }; key { [ k, K, NoSymbol, Greek_kappa, NoSymbol, NoSymbol, multiply, NoSymbol ] }; }; partial alphanumeric_keys modifier_keys keypad_keys xkb_symbols "bone" { include "de(bone_base)" name[Group1]= "German (Bone)"; include "shift(both_capslock)" include "level3(caps_switch)" include "level3(bksl_switch)" include "level5(lsgt_switch_lock)" include "level5(ralt_switch_lock)" }; partial alphanumeric_keys xkb_symbols "bone_eszett_home_base" { include "de(bone_base)" key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_WITH_LEVEL5_LOCK"; key { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] }; key { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] }; }; partial alphanumeric_keys modifier_keys keypad_keys xkb_symbols "bone_eszett_home" { include "de(bone_eszett_home_base)" name[Group1]= "German (Bone, eszett in the home row)"; include "shift(both_capslock)" include "level3(caps_switch)" include "level3(bksl_switch)" include "level5(lsgt_switch_lock)" include "level5(ralt_switch_lock)" }; partial alphanumeric_keys xkb_symbols "neo_qwertz_base" { include "de(neo_base)" key.type[Group1] = "EIGHT_LEVEL_WITH_LEVEL5_LOCK"; key { [ comma, endash, NoSymbol, U03F1, NoSymbol, NoSymbol, U21D2, NoSymbol ] }; key { [ period, enfilledcircbullet, NoSymbol, U03D1, NoSymbol, NoSymbol, U21A6, NoSymbol ] }; key { [ minus, emdash, NoSymbol, U2011, NoSymbol, NoSymbol, hyphen, NoSymbol ] }; key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_WITH_LEVEL5_LOCK"; key { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] }; key { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] }; key { [ w, W, NoSymbol, Greek_omega, NoSymbol, NoSymbol, Greek_OMEGA, NoSymbol ] }; key { [ e, E, NoSymbol, Greek_epsilon, NoSymbol, NoSymbol, U2203, NoSymbol ] }; key { [ r, R, NoSymbol, Greek_rho, NoSymbol, NoSymbol, U211D, NoSymbol ] }; key { [ t, T, NoSymbol, Greek_tau, NoSymbol, NoSymbol, partialderivative, NoSymbol ] }; key { [ z, Z, NoSymbol, Greek_zeta, NoSymbol, NoSymbol, U2124, NoSymbol ] }; key { [ u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, includedin, NoSymbol ] }; key { [ i, I, NoSymbol, Greek_iota, NoSymbol, NoSymbol, integral, NoSymbol ] }; key { [ o, O, NoSymbol, Greek_omicron, NoSymbol, NoSymbol, elementof, NoSymbol ] }; key { [ p, P, NoSymbol, Greek_pi, NoSymbol, NoSymbol, Greek_PI, NoSymbol ] }; key { [ udiaeresis, Udiaeresis, NoSymbol, NoSymbol, NoSymbol, NoSymbol, union, NoSymbol ] }; key { [ a, A, NoSymbol, Greek_alpha, NoSymbol, NoSymbol, U2200, NoSymbol ] }; key { [ s, S, NoSymbol, Greek_sigma, NoSymbol, NoSymbol, Greek_SIGMA, NoSymbol ] }; key { [ d, D, NoSymbol, Greek_delta, NoSymbol, NoSymbol, Greek_DELTA, NoSymbol ] }; key { [ f, F, NoSymbol, Greek_phi, NoSymbol, NoSymbol, Greek_PHI, NoSymbol ] }; key { [ g, G, NoSymbol, Greek_gamma, NoSymbol, NoSymbol, Greek_GAMMA, NoSymbol ] }; key { [ h, H, NoSymbol, Greek_psi, NoSymbol, NoSymbol, Greek_PSI, NoSymbol ] }; key { [ j, J, NoSymbol, Greek_theta, NoSymbol, NoSymbol, Greek_THETA, NoSymbol ] }; key { [ k, K, NoSymbol, Greek_kappa, NoSymbol, NoSymbol, multiply, NoSymbol ] }; key { [ l, L, NoSymbol, Greek_lambda, NoSymbol, NoSymbol, Greek_LAMBDA, NoSymbol ] }; key { [ odiaeresis, Odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, intersection, NoSymbol ] }; key { [ adiaeresis, Adiaeresis, NoSymbol, Greek_eta, NoSymbol, NoSymbol, U2135, NoSymbol ] }; key { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, nabla, NoSymbol ] }; key { [ x, X, NoSymbol, Greek_xi, NoSymbol, NoSymbol, Greek_XI, NoSymbol ] }; key { [ c, C, NoSymbol, Greek_chi, NoSymbol, NoSymbol, U2102, NoSymbol ] }; key { [ v, V, NoSymbol, NoSymbol, NoSymbol, NoSymbol, radical, NoSymbol ] }; key { [ b, B, NoSymbol, Greek_beta, NoSymbol, NoSymbol, U21D0, NoSymbol ] }; key { [ n, N, NoSymbol, Greek_nu, NoSymbol, NoSymbol, U2115, NoSymbol ] }; key { [ m, M, NoSymbol, Greek_mu, NoSymbol, NoSymbol, ifonlyif, NoSymbol ] }; }; partial alphanumeric_keys modifier_keys keypad_keys xkb_symbols "neo_qwertz" { include "de(neo_qwertz_base)" name[Group1]= "German (Neo, QWERTZ)"; include "shift(both_capslock)" include "level3(caps_switch)" include "level3(bksl_switch)" include "level5(lsgt_switch_lock)" include "level5(ralt_switch_lock)" }; partial alphanumeric_keys xkb_symbols "neo_qwerty_base" { include "de(neo_qwertz_base)" key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_WITH_LEVEL5_LOCK"; key { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, nabla, NoSymbol ] }; key { [ z, Z, NoSymbol, Greek_zeta, NoSymbol, NoSymbol, U2124, NoSymbol ] }; }; partial alphanumeric_keys modifier_keys keypad_keys xkb_symbols "neo_qwerty" { include "de(neo_qwerty_base)" name[Group1]= "German (Neo, QWERTY)"; include "shift(both_capslock)" include "level3(caps_switch)" include "level3(bksl_switch)" include "level5(lsgt_switch_lock)" include "level5(ralt_switch_lock)" }; partial alphanumeric_keys xkb_symbols "lld" { include "de(basic)" name[Group1] = "German (Ladin)"; key { [ p, P, ediaeresis, Ediaeresis ] }; };