Instantly share code, notes, and snippets.
Created
January 3, 2016 02:23
-
Star
0
(0)
You must be signed in to star a gist -
Fork
0
(0)
You must be signed in to fork a gist
-
Save nightscape/17dbe05b00d516f587be to your computer and use it in GitHub Desktop.
Tweaked NEO keyboard layout for Linux with working CTRL+SHIFT+Mod4Navigation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
default partial xkb_compatibility "misc" { | |
virtual_modifiers Alt,Meta,Super,Hyper,ScrollLock; | |
// Interpretations for some other useful keys. | |
interpret Terminate_Server { | |
action = Terminate(); | |
}; | |
setMods.clearLocks= True; | |
// Sets the "Alt" virtual modifier. | |
interpret Alt_L+Any { | |
//useModMapMods= level1; | |
virtualModifier= Alt; | |
action = SetMods(modifiers=modMapMods); | |
}; | |
interpret Alt_L { | |
action = SetMods(modifiers=Alt); | |
}; | |
interpret Alt_R+Any { | |
//useModMapMods= level1; | |
virtualModifier= Alt; | |
action = SetMods(modifiers=modMapMods); | |
}; | |
interpret Alt_R { | |
action = SetMods(modifiers=Alt); | |
}; | |
// Sets the "Meta" virtual modifier. | |
interpret Meta_L+Any { | |
//useModMapMods= level1; | |
virtualModifier= Meta; | |
action = SetMods(modifiers=modMapMods); | |
}; | |
interpret Meta_L { | |
action = SetMods(modifiers=Meta); | |
}; | |
interpret Meta_R+Any { | |
//useModMapMods= level1; | |
virtualModifier= Meta; | |
action = SetMods(modifiers=modMapMods); | |
}; | |
interpret Meta_R { | |
action = SetMods(modifiers=Meta); | |
}; | |
// Sets the "Super" virtual modifier. | |
interpret Super_L+Any { | |
//useModMapMods= level1; | |
virtualModifier= Super; | |
action = SetMods(modifiers=modMapMods); | |
}; | |
interpret Super_L { | |
action = SetMods(modifiers=Super); | |
}; | |
interpret Super_R+Any { | |
//useModMapMods= level1; | |
virtualModifier= Super; | |
action = SetMods(modifiers=modMapMods); | |
}; | |
interpret Super_R { | |
action = SetMods(modifiers=Super); | |
}; | |
// Sets the "Hyper" virtual modifier. | |
interpret Hyper_L+Any { | |
//useModMapMods= level1; | |
virtualModifier= Hyper; | |
action = SetMods(modifiers=modMapMods); | |
}; | |
interpret Hyper_L { | |
action = SetMods(modifiers=Hyper); | |
}; | |
interpret Hyper_R+Any { | |
//useModMapMods= level1; | |
virtualModifier= Hyper; | |
action = SetMods(modifiers=modMapMods); | |
}; | |
interpret Hyper_R { | |
action = SetMods(modifiers=Hyper); | |
}; | |
// Sets the "ScrollLock" virtual modifier and | |
// makes it actually lock when pressed. Sets | |
// up a map for the scroll lock indicator. | |
interpret Scroll_Lock+Any { | |
virtualModifier= ScrollLock; | |
action = LockMods(modifiers=modMapMods); | |
}; | |
interpret 0x1100001 { | |
repeat= True; | |
action= RedirectKey(key=<BKSP>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
interpret 0x1100002 { | |
repeat= True; | |
action= RedirectKey(key=<UP>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
interpret 0x1100003 { | |
repeat= True; | |
action= RedirectKey(key=<DOWN>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
interpret 0x1100004 { | |
repeat= True; | |
action= RedirectKey(key=<LEFT>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
interpret 0x1100005 { | |
repeat= True; | |
action= RedirectKey(key=<RGHT>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
interpret 0x1100006 { | |
repeat= True; | |
action= RedirectKey(key=<PGUP>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
interpret 0x1100007 { | |
repeat= True; | |
action= RedirectKey(key=<PGDN>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
interpret 0x1100008 { | |
repeat= True; | |
action= RedirectKey(key=<DELE>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
interpret 0x1100009 { | |
repeat= True; | |
action= RedirectKey(key=<END>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
interpret 0x110000A { | |
repeat= True; | |
action= RedirectKey(key=<HOME>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
interpret 0x110000B { | |
repeat= True; | |
action= RedirectKey(key=<RTRN>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
interpret 0x110000C { | |
repeat= True; | |
action= RedirectKey(key=<ESC>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
interpret 0x110000D { | |
repeat= True; | |
action= RedirectKey(key=<TAB>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
interpret 0x110000E { | |
repeat= True; | |
action= RedirectKey(key=<INS>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
interpret 0x110000F { | |
repeat= True; | |
action= RedirectKey(key=<UNDO>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
interpret 0x1100010 { | |
repeat= True; | |
action= RedirectKey(key=<AGAI>,clearMods= Lock+Mod2+Mod3+Mod5); | |
}; | |
include "ledscroll" | |
include "misc(assign_shift_left_action)" | |
}; | |
partial xkb_compatibility "assign_shift_left_action" { | |
// Because of the irrevertable modifier mapping in symbols/pc, | |
// <LFSH> is getting bound to the Lock modifier when using | |
// symbols/shift(both_capslock), creating unwanted behaviour. | |
// This is a quirk, to circumvent the problem. | |
interpret Shift_L { | |
action = SetMods(modifiers = Shift); | |
}; | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// based on a keyboard map from an 'xkb/symbols/de' file | |
default | |
xkb_symbols "basic" { | |
include "latin(type4)" | |
name[Group1]="German"; | |
key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] }; | |
key <AE03> { [ 3, section, threesuperior, sterling ] }; | |
key <AE04> { [ 4, dollar, onequarter, currency ] }; | |
key <AE11> {type[Group1]="FOUR_LEVEL_PLUS_LOCK", symbols[Group1]= | |
[ssharp, question, backslash, questiondown, 0x1001E9E ]}; | |
// The unicode capital letter sharp s U+1E9E is transformed to "SS" | |
// to match the rules for capitalizing sharp s in german. | |
// If the capital sharp s is needed, delete the line | |
// starting with <U1E9C> from /usr/share/X11/locale/iso8859-15/Compose. | |
// If both doubled S and capital sharp s are needed, use 0x1001E9E | |
// for capital sharp s and some free unicode codepoint like 0x1001E9C | |
// for doubled S. Don`t forget to change this in the Compose file, too. | |
key <AE12> { [dead_acute, dead_grave, dead_cedilla, dead_ogonek ] }; | |
key <AD03> { [ e, E, EuroSign, EuroSign ] }; | |
key <AD06> { [ z, Z, leftarrow, yen ] }; | |
key <AD11> { [udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] }; | |
key <AD12> { [ plus, asterisk, asciitilde, macron ] }; | |
key <AC02> { [ s, S, U017F, U1E9E ] }; | |
key <AC07> { [ j, J, dead_belowdot, dead_abovedot ] }; | |
key <AC10> { [odiaeresis, Odiaeresis, dead_doubleacute, dead_belowdot ] }; | |
key <AC11> { [adiaeresis, Adiaeresis, dead_circumflex, dead_caron ] }; | |
key <TLDE> { [dead_circumflex, degree, U2032, U2033 ] }; | |
key <BKSL> { [numbersign, apostrophe, rightsinglequotemark, dead_breve ] }; | |
key <AB01> { [ y, Y, guillemotright, U203A ] }; | |
key <AB02> { [ x, X, guillemotleft, U2039 ] }; | |
key <AB04> { [ v, V, doublelowquotemark, singlelowquotemark ] }; | |
key <AB05> { [ b, B, leftdoublequotemark, leftsinglequotemark ] }; | |
key <AB06> { [ n, N, rightdoublequotemark, rightsinglequotemark ] }; | |
key <AB08> { [ comma, semicolon, periodcentered, multiply ] }; | |
key <AB09> { [ period, colon, U2026, division ] }; | |
key <AB10> { [ minus, underscore, endash, emdash ] }; | |
include "kpdl(comma)" | |
include "level3(ralt_switch)" | |
}; | |
partial alphanumeric_keys | |
xkb_symbols "legacy" { | |
// previous standard German layout with tilde as dead key | |
include "de(basic)" | |
name[Group1]="German (legacy)"; | |
key <AD12> { [ 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 (eliminate dead keys)"; | |
key <TLDE> { [asciicircum, degree, notsign, notsign ] }; | |
key <AE12> { [ acute, grave, cedilla, cedilla ] }; | |
key <AD11> { [udiaeresis, Udiaeresis, diaeresis, diaeresis ] }; | |
key <AD12> { [ plus, asterisk, asciitilde, macron ] }; | |
key <AC10> { [odiaeresis, Odiaeresis, doubleacute, doubleacute ] }; | |
key <AC11> { [adiaeresis, Adiaeresis, asciicircum, asciicircum ] }; | |
key <BKSL> { [numbersign, apostrophe, grave, grave ] }; | |
}; | |
partial alphanumeric_keys | |
xkb_symbols "deadgraveacute" { | |
// modify the basic German layout to have only acute and grave | |
// as dead keys (tilde and circumflex are needed as spacing characters | |
// in many programming languages) | |
include "de(basic)" | |
name[Group1]="German (dead grave acute)"; | |
key <TLDE> { [asciicircum, degree, notsign, notsign ] }; | |
key <AD12> { [ plus, asterisk, asciitilde, dead_macron ] }; | |
key <BKSL> { [numbersign, apostrophe, grave, grave ] }; | |
}; | |
partial alphanumeric_keys | |
xkb_symbols "deadacute" { | |
// modify the basic German layout to have only acute as | |
// dead keys (ASCII grave, tilde and circumflex are needed as | |
// spacing characters in many programming languages and text formatters) | |
include "de(deadgraveacute)" | |
name[Group1]="German (dead acute)"; | |
key <AE12> { [dead_acute, grave, dead_cedilla, dead_ogonek ] }; | |
key <BKSL> { [numbersign, apostrophe, dead_grave, dead_grave ] }; | |
}; | |
partial alphanumeric_keys | |
xkb_symbols "T3" { | |
name[Group1]="German (T3)"; | |
key.type[Group1] = "EIGHT_LEVEL"; | |
key <TLDE> { [ dead_circumflex, degree, multiply, NoSymbol, U204A, hyphen, bar, NoSymbol ] }; | |
key <AE01> { [ 1, exclam, rightsinglequotemark, NoSymbol, onesuperior, exclamdown, U02B9, NoSymbol ] }; | |
key <AE02> { [ 2, quotedbl, twosuperior, NoSymbol, twosuperior, currency, U02BA, NoSymbol ] }; | |
key <AE03> { [ 3, section, threesuperior, NoSymbol, threesuperior, sterling, U02BF, NoSymbol ] }; | |
key <AE04> { [ 4, dollar, emdash, NoSymbol, onequarter, 0x20AC, U02BE, NoSymbol ] }; | |
key <AE05> { [ 5, percent, exclamdown, NoSymbol, onehalf, uparrow, U02C1, NoSymbol ] }; | |
key <AE06> { [ 6, ampersand, questiondown, NoSymbol, threequarters, downarrow, U02C0, NoSymbol ] }; | |
key <AE07> { [ 7, slash, braceleft, NoSymbol, oneeighth, leftarrow, braceleft, NoSymbol ] }; | |
key <AE08> { [ 8, parenleft, bracketleft, NoSymbol, threeeighths, rightarrow, braceright, NoSymbol ] }; | |
key <AE09> { [ 9, parenright, bracketright, NoSymbol, fiveeighths, plusminus, bracketleft, NoSymbol ] }; | |
key <AE10> { [ 0, equal, braceright, NoSymbol, seveneighths, trademark, bracketright, NoSymbol ] }; | |
key <AE11> { [ ssharp, question, backslash, NoSymbol, backslash, questiondown, U02BB, NoSymbol ] }; | |
key <AE12> { [ dead_acute, dead_grave, dead_abovedot, NoSymbol, dead_cedilla, dead_ogonek, notsign, NoSymbol ] }; | |
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC"; | |
key <AD01> { [ q, Q, at, NoSymbol, U0242, U0241, U030D, NoSymbol ] }; | |
key <AD02> { [ w, W, dead_caron, NoSymbol, U02B7, U2126, dead_abovedot, NoSymbol ] }; | |
key <AD03> { [ e, E, EuroSign, NoSymbol, oe, OE, dead_breve, NoSymbol ] }; | |
key <AD04> { [ r, R, dead_diaeresis, NoSymbol, paragraph, registered, dead_circumflex, NoSymbol ] }; | |
key <AD05> { [ t, T, dead_macron, NoSymbol, UA78C, UA78B, dead_diaeresis, NoSymbol ] }; | |
key <AD06> { [ z, Z, dead_doubleacute, NoSymbol, U027C, yen, dead_invertedbreve, NoSymbol ] }; | |
key <AD07> { [ u, U, dead_breve, NoSymbol, U0223, U0222, dead_caron, NoSymbol ] }; | |
key <AD08> { [ i, I, dead_tilde, NoSymbol, idotless, U214D, dead_abovecomma, NoSymbol ] }; | |
key <AD09> { [ o, O, dead_abovering, NoSymbol, oslash, Oslash, dead_horn, NoSymbol ] }; | |
key <AD10> { [ p, P, dead_hook, NoSymbol, thorn, THORN, dead_hook, NoSymbol ] }; | |
key <AD11> { [ udiaeresis, Udiaeresis, dead_horn, NoSymbol, U017F, dead_abovering, dead_grave, NoSymbol ] }; | |
key.type[Group1] = "EIGHT_LEVEL"; | |
key <AD12> { [ plus, asterisk, asciitilde, NoSymbol, dead_tilde, dead_macron, at, NoSymbol ] }; | |
key.type[Group1] = "ONE_LEVEL"; | |
key <CAPS> { [ Caps_Lock ] }; | |
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC"; | |
key <AC01> { [ a, A, lessthanequal, NoSymbol, ae, AE, U0329, NoSymbol ] }; | |
key <AC02> { [ s, S, greaterthanequal, NoSymbol, ssharp, section, dead_belowdot, NoSymbol ] }; | |
key <AC03> { [ d, D, U2300, NoSymbol, eth, ETH, dead_belowbreve, NoSymbol ] }; | |
key <AC04> { [ f, F, minutes, NoSymbol, U0294, ordfeminine, dead_belowcircumflex, NoSymbol ] }; | |
key <AC05> { [ g, G, seconds, NoSymbol, eng, ENG, dead_belowmacron, NoSymbol ] }; | |
key <AC06> { [ h, H, U1E9E, NoSymbol, U0272, U019D, U0332, NoSymbol ] }; | |
key <AC07> { [ j, J, dead_cedilla, NoSymbol, U0133, U0132, dead_belowring, NoSymbol ] }; | |
key <AC08> { [ k, K, dead_belowcomma, NoSymbol, kra, dead_belowcomma, dead_stroke, NoSymbol ] }; | |
key <AC09> { [ l, L, dead_ogonek, NoSymbol, lstroke, Lstroke, U0338, NoSymbol ] }; | |
key <AC10> { [ odiaeresis, Odiaeresis, dead_belowdot, NoSymbol, dead_acute, dead_doubleacute, degree, NoSymbol ] }; | |
key <AC11> { [ adiaeresis, Adiaeresis, dead_stroke, NoSymbol, U019B, U1E9E, minutes, NoSymbol ] }; | |
key.type[Group1] = "EIGHT_LEVEL"; | |
key <BKSL> { [ numbersign, apostrophe, registered, NoSymbol, schwa, SCHWA, seconds, NoSymbol ] }; | |
key <LSGT> { [ less, greater, bar, NoSymbol, U0149, brokenbar, U266A, NoSymbol ] }; | |
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC"; | |
key <AB01> { [ y, Y, U203A, NoSymbol, U0292, U01B7, guillemotleft, NoSymbol ] }; | |
key <AB02> { [ x, X, guillemotright, NoSymbol, doublelowquotemark, singlelowquotemark, guillemotright, NoSymbol ] }; | |
key <AB03> { [ c, C, copyright, NoSymbol, cent, copyright, Greek_horizbar, NoSymbol ] }; | |
key <AB04> { [ v, V, guillemotleft, NoSymbol, leftdoublequotemark, leftsinglequotemark, U2039, NoSymbol ] }; | |
key <AB05> { [ b, B, U2039, NoSymbol, rightdoublequotemark, rightsinglequotemark, U203A, NoSymbol ] }; | |
key <AB06> { [ n, N, endash, NoSymbol, U019E, U0220, endash, NoSymbol ] }; | |
key <AB07> { [ m, M, Greek_mu, NoSymbol, mu, masculine, emdash, NoSymbol ] }; | |
key.type[Group1] = "EIGHT_LEVEL"; | |
key <AB08> { [ comma, semicolon, U02BB, NoSymbol, ellipsis, multiply, dollar, NoSymbol ] }; | |
key <AB09> { [ period, colon, U200C, NoSymbol, periodcentered, division, numbersign, NoSymbol ] }; | |
key <AB10> { [ minus, underscore, hyphen, NoSymbol, U0140, U013F, U2011, NoSymbol ] }; | |
key <SPCE> { [ space, space, nobreakspace, NoSymbol, U202F, U200C, nobreakspace, NoSymbol ] }; | |
include "kpdl(comma)" | |
include "level5(modifier_mapping)" | |
include "level3(modifier_mapping)" | |
key.type[Group1] = "THREE_LEVEL"; | |
key <LFSH> { [ Shift_L, Shift_L, ISO_Level5_Latch ] }; | |
key <RTSH> { [ Shift_R, Shift_R, ISO_Level5_Latch ] }; | |
key <RALT> { [ ISO_Level3_Latch, ISO_Level5_Latch, ISO_Level5_Latch ] }; | |
}; | |
partial alphanumeric_keys | |
xkb_symbols "ro" { | |
// add romanian-specific letters to the basic German layout. | |
// Romanian symbols are accessible with combination of <AltGr> and | |
// 'a', 's', 't', 'i', 'ä (ä)' (+<Shift> for capital letters). | |
// To view romanian-specific symbols, add "export LC_CTYPE=ro_RO" | |
// or "export LC_CTYPE=de_DE.utf8" to your .profile. | |
include "de(basic)" | |
name[Group1]="Romanian (Germany)"; | |
key <AD05> { [ t, T, tcedilla, Tcedilla ] }; | |
key <AD08> { [ i, I, icircumflex, Icircumflex ] }; | |
key <AC01> { [ a, A, acircumflex, Acircumflex ] }; | |
key <AC02> { [ s, S, scedilla, Scedilla ] }; | |
key <AC11> { [ adiaeresis, Adiaeresis, abreve, Abreve ] }; | |
}; | |
partial alphanumeric_keys | |
xkb_symbols "ro_nodeadkeys" { | |
// add romanian-specific letters to the German nodeadkeys layout. | |
// Read the comment for de_ro ! | |
include "de(nodeadkeys)" | |
name[Group1]="Romanian (Germany, eliminate dead keys)"; | |
key <AD05> { [ t, T, tcedilla, Tcedilla ] }; | |
key <AD08> { [ i, I, icircumflex, Icircumflex ] }; | |
key <AC01> { [ a, A, acircumflex, Acircumflex ] }; | |
key <AC02> { [ s, S, scedilla, Scedilla ] }; | |
key <AC11> { [ 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 <TLDE> { [ asciicircum, degree ] }; | |
key <AE01> { [ 1, exclam, onesuperior ] }; | |
key <AE02> { [ 2, quotedbl, twosuperior ] }; | |
key <AE03> { [ 3, section, threesuperior ] }; | |
key <AE04> { [ 4, dollar, bar ] }; | |
key <AE05> { [ 5, percent, bar ] }; | |
key <AE06> { [ 6, ampersand, brokenbar ] }; | |
key <AE07> { [ 7, slash, braceleft ] }; | |
key <AE08> { [ 8, parenleft, bracketleft ] }; | |
key <AE09> { [ 9, parenright, bracketright ] }; | |
key <AE10> { [ 0, equal, braceright ] }; | |
key <AE11> { [ plus, asterisk, asciitilde ] }; | |
key <AE12> { [ less, greater, dead_grave ] }; | |
key <AD01> { [ udiaeresis, Udiaeresis, at ] }; | |
key <AD02> { [ comma, semicolon, dead_diaeresis ] }; | |
key <AD03> { [ period, colon ] }; | |
key <AD08> { [ c, C, copyright, Cacute ] }; | |
key <AD09> { [ t, T, trademark ] }; | |
key <AD10> { [ z, Z, zabovedot, Zabovedot ] }; | |
key <AD11> { [ question, ssharp ] }; | |
key <AD12> { [ slash, backslash, dead_acute ] }; | |
key <AC01> { [ a, A, at, aogonek ] }; | |
key <AC02> { [ o, O, oacute, Oacute ] }; | |
key <AC03> { [ e, E, EuroSign, eogonek ] }; | |
key <AC04> { [ i, I ] }; | |
key <AC05> { [ u, U ] }; | |
key <AC06> { [ h, H ] }; | |
key <AC07> { [ d, D ] }; | |
key <AC08> { [ r, R, registered ] }; | |
key <AC09> { [ n, N, nacute, Nacute ] }; | |
key <AC10> { [ s, S, sacute, Sacute] }; | |
key <AC11> { [ l, L, lstroke, Lstroke ] }; | |
key <AB01> { [ odiaeresis, Odiaeresis ] }; | |
key <AB02> { [ q, Q, at ] }; | |
key <AB07> { [ m, M, mu ] }; | |
key <AB10> { [ numbersign, apostrophe ] }; | |
key <BKSL> { [ minus, underscore, hyphen, diaeresis] }; | |
key <LSGT> { [ adiaeresis, Adiaeresis, bar ] }; | |
include "level3(ralt_switch)" | |
}; | |
partial alphanumeric_keys | |
xkb_symbols "Sundeadkeys" { | |
// For naming consistency | |
include "de(basic)" | |
}; | |
partial alphanumeric_keys | |
xkb_symbols "sundeadkeys" { | |
// For naming consistency | |
include "de(Sundeadkeys)" | |
name[Group1]="German (Sun dead keys)"; | |
}; | |
// German Neo-Layout Version 2 | |
// adopted 2004 by Hanno Behrens <[email protected]> | |
// inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/ | |
// | |
// Authors: | |
// Stephan Hilb <stephan at ehilb dot de> | |
// <lucky at zankt dot net> | |
// Benjamin Kellermann <Benjamin dot Kellermann at gmx dot Germany> | |
// Erik Streb <mail at erikstreb dot de> | |
// and many other contributors | |
// | |
// http://www.neo-layout.org | |
// | |
// $Revision$, $Date$ | |
partial alphanumeric_keys modifier_keys keypad_keys | |
xkb_symbols "neo_base" { | |
// Levels in Neo jargon | |
// -------------------------------------------------------------- | |
// Ebene 1: normal | |
// Ebene 2: Shift | |
// Ebene 3: Mod3 | |
// Ebene 4: Mod4 (for marking something use Shift + Mod4) | |
// Ebene 5: Shift + Mod3 | |
// Ebene 6: Mod3 + Mod4 | |
// Compose (not a level): Mod3 + Tab | |
// Feststelltaste (Capslock): Shift + Shift | |
// Mod4-Lock: Mod4 + Mod4 | |
// Mod4-Lock: Shift + Mod3 + Tab | |
// Legend | |
// =============== | |
// Levels in Xkbmap jargon to be found here in the definitions. | |
// These are the levels used, and Xorg's translations: | |
// -------------------------------------------------------------- | |
// Xorg: Level1 Level2 Level3 Level4 Level5 Level6 Level7 Level8 | |
// Neo: Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Pseudo-Ebene Ebene6 ??? | |
// Keys (Neo): None Shift Mod3 Mod3 + Shift Mod4 Mod4 + Shift Mod3 + Mod4 Mod3 + Mod4 + Shift | |
// Alphanumeric-keys | |
// =============== | |
key.type[Group1] = "EIGHT_LEVEL"; | |
// Tab as Multi_key (Compose) | |
// -------------------------------------------------------------- | |
key <TAB> { [ Tab, ISO_Left_Tab, Multi_key, ISO_Level5_Lock, NoSymbol, NoSymbol, NoSymbol, ISO_Level5_Lock ] }; | |
// Number row | |
// -------------------------------------------------------------- | |
key <TLDE> { [ dead_circumflex, dead_caron, U21BB, U02DE, dead_abovedot, Pointer_EnableKeys, dead_belowdot, NoSymbol ] }; | |
key <AE01> { [ 1, degree, onesuperior, onesubscript, ordfeminine, NoSymbol, notsign, NoSymbol ] }; | |
key <AE02> { [ 2, section, twosuperior, twosubscript, masculine, NoSymbol, logicalor, NoSymbol ] }; | |
key <AE03> { [ 3, U2113, threesuperior, threesubscript, numerosign, NoSymbol, logicaland, NoSymbol ] }; | |
key <AE04> { [ 4, guillemotright, U203A, femalesymbol, NoSymbol, NoSymbol, U22A5, NoSymbol ] }; | |
key <AE05> { [ 5, guillemotleft, U2039, malesymbol, periodcentered, NoSymbol, U2221, NoSymbol ] }; | |
key <AE06> { [ 6, dollar, cent, U26A5, sterling, NoSymbol, U2225, NoSymbol ] }; | |
key <AE07> { [ 7, EuroSign, yen, U03F0, currency, NoSymbol, rightarrow, NoSymbol ] }; | |
key <AE08> { [ 8, doublelowquotemark, singlelowquotemark, U27E8, Tab, ISO_Left_Tab, U221E, NoSymbol ] }; | |
key <AE09> { [ 9, leftdoublequotemark, leftsinglequotemark, U27E9, KP_Divide, KP_Divide, variation, NoSymbol ] }; | |
key <AE10> { [ 0, rightdoublequotemark, rightsinglequotemark, zerosubscript, KP_Multiply, KP_Multiply, emptyset, NoSymbol ] }; | |
key <AE11> { [ minus, emdash, NoSymbol, U2011, KP_Subtract, KP_Subtract, hyphen, NoSymbol ] }; | |
key <AE12> { [ dead_grave, dead_cedilla, dead_abovering, dead_dasia, dead_diaeresis, NoSymbol, dead_macron, NoSymbol ] }; | |
// Top row | |
// -------------------------------------------------------------- | |
key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; | |
key <AD01> { [ x, X, ellipsis, Greek_xi, 0x1100006, 0x1100006, Greek_XI, NoSymbol ] }; | |
key <AD02> { [ v, V, underscore, NoSymbol, 0x1100001, 0x1100001, radical, NoSymbol ] }; | |
key <AD03> { [ l, L, bracketleft, Greek_lambda, 0x1100002, 0x1100002, Greek_LAMBDA, NoSymbol ] }; | |
key <AD04> { [ c, C, bracketright, Greek_chi, 0x1100008, 0x1100008, U2102, NoSymbol ] }; | |
key <AD05> { [ w, W, asciicircum, Greek_omega, 0x1100007, 0x1100007, Greek_OMEGA, NoSymbol ] }; | |
key <AD06> { [ k, K, exclam, Greek_kappa, exclamdown, NoSymbol, multiply, NoSymbol ] }; | |
key <AD07> { [ h, H, less, Greek_psi, KP_7, KP_7, Greek_PSI, NoSymbol ] }; | |
key <AD08> { [ g, G, greater, Greek_gamma, KP_8, KP_8, Greek_GAMMA, NoSymbol ] }; | |
key <AD09> { [ f, F, equal, Greek_phi, KP_9, KP_9, Greek_PHI, NoSymbol ] }; | |
key <AD10> { [ q, Q, ampersand, U03D5, KP_Add, KP_Add, U211A, NoSymbol ] }; | |
key <AD11> { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, U2212, NoSymbol, jot, NoSymbol ] }; | |
key.type[Group1] = "EIGHT_LEVEL"; | |
//key <AD12> { [ dead_acute, dead_tilde, dead_stroke, dead_psili, dead_doubleacute, NoSymbol, dead_breve, NoSymbol ] }; | |
key <AD12> { [ Control_R, Control_R, Control_R, Control_R, Control_R, Control_R, Control_R, NoSymbol ] }; | |
// Middle row | |
// -------------------------------------------------------------- | |
key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; | |
key <AC01> { [ u, U, backslash, NoSymbol, 0x110000A, 0x110000A, includedin, NoSymbol ] }; | |
key <AC02> { [ i, I, slash, Greek_iota, 0x1100004, 0x1100004, integral, NoSymbol ] }; | |
key <AC03> { [ a, A, braceleft, Greek_alpha, 0x1100003, 0x1100003, U2200, NoSymbol ] }; | |
key <AC04> { [ e, E, braceright, Greek_epsilon, 0x1100005, 0x1100005, U2203, NoSymbol ] }; | |
key <AC05> { [ o, O, asterisk, Greek_omicron, 0x1100009, 0x1100009, elementof, NoSymbol ] }; | |
key <AC06> { [ s, S, question, Greek_sigma, questiondown, NoSymbol, Greek_SIGMA, NoSymbol ] }; | |
key <AC07> { [ n, N, parenleft, Greek_nu, KP_4, KP_4, U2115, NoSymbol ] }; | |
key <AC08> { [ r, R, parenright, Greek_rho, KP_5, KP_5, U211D, NoSymbol ] }; | |
key <AC09> { [ t, T, minus, Greek_tau, KP_6, KP_6, partialderivative, NoSymbol ] }; | |
key <AC10> { [ d, D, colon, Greek_delta, KP_Separator, comma, Greek_DELTA, NoSymbol ] }; | |
key <AC11> { [ y, Y, at, Greek_upsilon, period, KP_Decimal, nabla, NoSymbol ] }; | |
// Bottom row | |
// -------------------------------------------------------------- | |
key <AB01> { [ udiaeresis, Udiaeresis, numbersign, NoSymbol, 0x110000C, 0x110000C, union, NoSymbol ] }; | |
key <AB02> { [ odiaeresis, Odiaeresis, dollar, U03F5, 0x110000D, 0x110000D, intersection, NoSymbol ] }; | |
key <AB03> { [ adiaeresis, Adiaeresis, bar, Greek_eta, 0x110000E, 0x110000E, U2135, NoSymbol ] }; | |
key <AB04> { [ p, P, asciitilde, Greek_pi, 0x110000B, 0x110000B, Greek_PI, NoSymbol ] }; | |
key <AB05> { [ z, Z, grave, Greek_zeta, 0x110000F, 0x1100010, U2124, NoSymbol ] }; | |
key <AB06> { [ b, B, plus, Greek_beta, colon, NoSymbol, U21D0, NoSymbol ] }; | |
key <AB07> { [ m, M, percent, Greek_mu, KP_1, KP_1, ifonlyif, NoSymbol ] }; | |
key.type[Group1] = "EIGHT_LEVEL"; | |
key <AB08> { [ comma, endash, quotedbl, U03F1, KP_2, KP_2, U21D2, NoSymbol ] }; | |
key <AB09> { [ period, enfilledcircbullet, apostrophe, U03D1, KP_3, KP_3, U21A6, NoSymbol ] }; | |
key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; | |
key <AB10> { [ j, J, semicolon, Greek_theta, semicolon, NoSymbol, Greek_THETA, NoSymbol ] }; | |
key.type[Group1] = "EIGHT_LEVEL"; | |
// Space key | |
// -------------------------------------------------------------- | |
key <SPCE> { [ space, space, space, nobreakspace, KP_0, KP_0, U202F, NoSymbol ] }; | |
// Keypad-keys | |
// =============== | |
// The former Numlock key: | |
key <NMLK> { [ Tab, ISO_Left_Tab, equal, approxeq, notequal, Pointer_EnableKeys, identical, NoSymbol ] }; | |
// Topmost row | |
// -------------------------------------------------------------- | |
key <KPDV> { [ KP_Divide, KP_Divide, division, U2300, U2215, NoSymbol, U2223, NoSymbol ] }; | |
key <KPMU> { [ KP_Multiply, KP_Multiply, U22C5, U2299, multiply, NoSymbol, U2297, NoSymbol ] }; | |
key <KPSU> { [ KP_Subtract, KP_Subtract, U2212, U2296, U2216, NoSymbol, U2238, NoSymbol ] }; | |
// Top row | |
// -------------------------------------------------------------- | |
key <KP7> { [ KP_7, U2714, U2195, U226A, KP_Home, KP_Home, upstile, NoSymbol ] }; | |
key <KP8> { [ KP_8, U2718, uparrow, intersection, KP_Up, KP_Up, U22C2, NoSymbol ] }; | |
key <KP9> { [ KP_9, dagger, U20D7, U226B, KP_Prior, KP_Prior, U2309, NoSymbol ] }; | |
key <KPAD> { [ KP_Add, KP_Add, plusminus, U2295, U2213, NoSymbol, U2214, NoSymbol ] }; | |
// Middle row | |
// -------------------------------------------------------------- | |
key <KP4> { [ KP_4, club, leftarrow, includedin, KP_Left, KP_Left, U2286, NoSymbol ] }; | |
key <KP5> { [ KP_5, EuroSign, colon, U22B6, KP_Begin, KP_Begin, U22B7, NoSymbol ] }; | |
key <KP6> { [ KP_6, U2023, rightarrow, includes, KP_Right, KP_Right, U2287, NoSymbol ] }; | |
// Bottom row | |
// -------------------------------------------------------------- | |
key <KP1> { [ KP_1, diamond, U2194, lessthanequal, KP_End, KP_End, downstile, NoSymbol ] }; | |
key <KP2> { [ KP_2, heart, downarrow, union, KP_Down, KP_Down, U22C3, NoSymbol ] }; | |
key <KP3> { [ KP_3, U2660, U21CC, greaterthanequal, KP_Next, KP_Next, U230B, NoSymbol ] }; | |
key <KPEN> { [ KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, NoSymbol ] }; | |
key <KPEQ> { [ KP_Equal, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; | |
// Bottommost row | |
// -------------------------------------------------------------- | |
key <KP0> { [ KP_0, U2423, percent, U2030, KP_Insert, KP_Insert, U25A1, NoSymbol ] }; | |
key <KPDL> { [ 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)" | |
include "level5(ralt_switch)" | |
}; | |
// Copied from macintosh_vndr/de | |
// [email protected] very close to MacOS map | |
partial alphanumeric_keys | |
xkb_symbols "mac" { | |
include "de" | |
name[Group1]= "German (Macintosh)"; | |
key <AE01> { [ 1, exclam, exclamdown, at ] }; | |
key <AE05> { [ 5, percent, bracketleft ] }; | |
key <AE06> { [ 6, ampersand, bracketright ] }; | |
key <AE07> { [ 7, slash, bar, backslash ] }; | |
key <AE08> { [ 8, parenleft, braceleft, asciitilde ] }; | |
key <AE09> { [ 9, parenright, braceright ] }; | |
key <AD01> { [ q, Q, guillemotleft, guillemotright ] }; | |
key <AD04> { [ r, R, registered ] }; | |
key <AD07> { [ u, U, diaeresis, Aacute ] }; | |
key <AD08> { [ i, I, slash, Ucircumflex ] }; | |
key <AD11> { [ udiaeresis, Udiaeresis, periodcentered, degree ] }; | |
key <AD12> { [ plus, asterisk, asciitilde ] }; | |
key <AC01> { [ a, A, aring, Aring ] }; | |
key <AC05> { [ g, G, copyright ] }; | |
key <AC06> { [ h, H, ordfeminine ] }; | |
key <AC09> { [ l, L, at ] }; | |
key <AC10> { [ odiaeresis, Odiaeresis, dead_acute ] }; | |
key <AB06> { [ 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, eliminate dead keys)"; | |
key <TLDE> { [ asciicircum, degree, notsign ] }; | |
key <AE04> { [ 4, dollar, onequarter, currency ] }; | |
key <AE12> { [ acute, grave, cedilla ] }; | |
key <AD11> { [ udiaeresis, Udiaeresis, diaeresis ] }; | |
key <AD12> { [ plus, asterisk, asciitilde, macron ] }; | |
key <AC10> { [ odiaeresis, Odiaeresis, acute ] }; | |
key <AC11> { [ adiaeresis, Adiaeresis, asciicircum ] }; | |
key <BKSL> { [ numbersign, apostrophe, grave ] }; | |
}; | |
partial alphanumeric_keys | |
xkb_symbols "dsb" | |
{ | |
include "latin(basic)" | |
name[Group1] = "Lower Sorbian"; | |
key <AB01> { [ z, Z, zcaron, Zcaron ] }; | |
key <AB02> { [ x, X, zacute, Zacute ] }; | |
key <AB03> { [ c, C, cacute, Cacute ] }; | |
key <AB04> { [ v, V, ccaron, Ccaron ] }; | |
key <AB06> { [ n, N, nacute, Nacute ] }; | |
key <AC02> { [ s, S, sacute, Sacute ] }; | |
key <AC03> { [ d, D, scaron, Scaron ] }; | |
key <AC04> { [ f, F ] }; | |
key <AD01> { [ q, Q ] }; | |
key <AD02> { [ w, W ] }; | |
key <AD03> { [ e, E, ecaron, Ecaron ] }; | |
key <AD04> { [ r, R, racute, Racute ] }; | |
key <AD05> { [ t, T, U20B5, EuroSign ] }; | |
key <AD09> { [ o, O, oacute, Oacute ] }; | |
include "kpdl(comma)" | |
include "level3(ralt_switch)" | |
}; | |
partial alphanumeric_keys | |
xkb_symbols "dsb_qwertz" | |
{ | |
include "latin(basic)" | |
name[Group1] = "Lower Sorbian (qwertz)"; | |
key <AB01> { [ y, Y ] }; | |
key <AB02> { [ x, X ] }; | |
key <AB03> { [ c, C, cacute, Cacute ] }; | |
key <AB04> { [ v, V, ccaron, Ccaron ] }; | |
key <AB06> { [ n, N, nacute, Nacute ] }; | |
key <AC02> { [ s, S, sacute, Sacute ] }; | |
key <AC03> { [ d, D, scaron, Scaron ] }; | |
key <AC04> { [ f, F ] }; | |
key <AD01> { [ q, Q ] }; | |
key <AD02> { [ w, W ] }; | |
key <AD03> { [ e, E, ecaron, Ecaron ] }; | |
key <AD04> { [ r, R, racute, Racute ] }; | |
key <AD05> { [ t, T, U20B5, EuroSign ] }; | |
key <AD06> { [ z, Z, zcaron, Zcaron ] }; | |
key <AD07> { [ u, U, zacute, Zacute ] }; | |
key <AD09> { [ o, O, oacute, Oacute ] }; | |
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 <[email protected]> | |
include "de(basic)" | |
name[Group1] = "German (qwerty)"; | |
key <AB01> { [ z, Z, leftarrow, yen ] }; | |
key <AD06> { [ y, Y, guillemotleft, less ] }; | |
}; | |
// layout for Russian letters on an german keyboard | |
// based on US-RU layout by Ivan Popov <[email protected]> 2005-07-17 | |
// adopted for german layout by Alexey Fisher <[email protected]> 2010-08-19 | |
partial alphanumeric_keys | |
xkb_symbols "ru" { | |
include "de(basic)" | |
name[Group1]= "Russian (Germany, phonetic)"; | |
key.type[group1]="FOUR_LEVEL_ALPHABETIC"; | |
key <LatA> { [ Cyrillic_a, Cyrillic_A ] }; | |
key <LatB> { [ Cyrillic_be, Cyrillic_BE ] }; | |
key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] }; | |
key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] }; | |
key <LatD> { [ Cyrillic_de, Cyrillic_DE ] }; | |
key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] }; | |
key <TLDE> { [ Cyrillic_io, Cyrillic_IO, asciitilde ] }; | |
key <LatX> { [ Cyrillic_zhe, Cyrillic_ZHE ] }; | |
key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] }; | |
key <LatI> { [ Cyrillic_i, Cyrillic_I ] }; | |
key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; | |
key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] }; | |
key <LatL> { [ Cyrillic_el, Cyrillic_EL ] }; | |
key <LatM> { [ Cyrillic_em, Cyrillic_EM ] }; | |
key <LatN> { [ Cyrillic_en, Cyrillic_EN ] }; | |
key <LatO> { [ Cyrillic_o, Cyrillic_O ] }; | |
key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] }; | |
key <LatR> { [ Cyrillic_er, Cyrillic_ER ] }; | |
key <LatS> { [ Cyrillic_es, Cyrillic_ES ] }; | |
key <LatT> { [ Cyrillic_te, Cyrillic_TE ] }; | |
key <LatU> { [ Cyrillic_u, Cyrillic_U ] }; | |
key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] }; | |
key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] }; | |
key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] }; | |
key <AC10> { [ Cyrillic_che, Cyrillic_CHE ] }; | |
key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] }; | |
key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA, plus, asterisk ] }; | |
key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; | |
key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] }; | |
key <LatV> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; | |
key <AC11> { [ Cyrillic_e, Cyrillic_E ] }; | |
key <BKSL> { [ Cyrillic_yu, Cyrillic_YU, numbersign, apostrophe ] }; | |
key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] }; | |
include "level3(ralt_switch)" | |
}; | |
partial alphanumeric_keys | |
xkb_symbols "htcdream" { | |
include "inet(htcdream)" | |
name[Group1]= "German"; | |
//second row | |
key <AD01> { [ q, Q, Tab, Tab ] }; | |
key <AD02> { [ w, W, grave, grave ] }; | |
key <AD03> { [ e, E, EuroSign, EuroSign ] }; | |
key <AD04> { [ r, R, underscore, underscore ] }; | |
key <AD05> { [ t, T, sterling, sterling] }; | |
key <AD06> { [ z, Z, division, division ] }; | |
key <AD07> { [ u, U, udiaeresis, udiaeresis ] }; | |
key <AD08> { [ i, I, minus, minus ] }; | |
key <AD09> { [ o, O, odiaeresis, odiaeresis ] }; | |
key <AD10> { [ p, P, equal, equal ] }; | |
//third row | |
key <AC01> { [ a, A, adiaeresis, adiaeresis ] }; | |
key <AC02> { [ s, S, ssharp, ssharp] }; | |
key <AC03> { [ d ,D, backslash, backslash ] }; | |
key <AC04> { [ f, F, braceleft, braceleft ] }; | |
key <AC05> { [ g, G, braceright, braceright ] }; | |
key <AC06> { [ h, H, multiply, multiply ] }; | |
key <AC07> { [ j, J, colon, colon ] }; | |
key <AC08> { [ k, K, plus, plus ] }; | |
key <AC09> { [ l, L, apostrophe, apostrophe ] }; | |
//forth row | |
key <AB01> { [ y, Y, bar, bar ] }; | |
key <AB02> { [ x, X, bracketleft, bracketleft ] }; | |
key <AB03> { [ c, C, bracketright, bracketright ] }; | |
key <AB04> { [ v, V, less, less ] }; | |
key <AB05> { [ b, B, greater, greater ] }; | |
key <AB06> { [ n, N, semicolon, semicolon ] }; | |
key <AB07> { [ m, M, quotedbl, quotedbl ] }; | |
key <AB08> { [ comma, comma, question, question ] }; | |
//fifth row | |
key <FK15> { [ at, at, asciitilde, asciitilde ] }; | |
include "level3(alt_switch)" | |
}; | |
partial alphanumeric_keys | |
xkb_symbols "tr" { | |
// add turkish-specific letters to the basic German layout. | |
// Turkish symbols are accessible with combination of <AltGr> and | |
// 'i', 's', 'g', 'c'' (+<Shift> for capital letters). | |
include "de(basic)" | |
name[Group1]="Turkish (Germany)"; | |
key <AD08> { [ i, I, U0131, U0130 ] }; | |
key <AC02> { [ s, S, U015F, U015E ] }; | |
key <AC05> { [ g, G, U011F, U011E ] }; | |
key <AB03> { [ c, C, U0E7, U0C7 ] }; | |
}; | |
// EXTRAS: | |
partial alphanumeric_keys | |
xkb_symbols "us" { | |
include "us" | |
name[Group1]="German (US keyboard with German letters)"; | |
key <AC01> { [ a, A, adiaeresis, Adiaeresis ] }; | |
key <AC02> { [ s, S, ssharp, ssharp ] }; | |
key <AC10> { [ semicolon, colon, odiaeresis, Odiaeresis ] }; | |
key <AC11> { [ apostrophe, quotedbl, adiaeresis, Adiaeresis ] }; | |
key <AD03> { [ e, E, EuroSign, EuroSign ] }; | |
key <AD07> { [ u, U, udiaeresis, Udiaeresis ] }; | |
key <AD09> { [ o, O, odiaeresis, Odiaeresis ] }; | |
key <AD11> { [ bracketleft, braceleft, udiaeresis, Udiaeresis ] }; | |
key <AE03> { [ 3, numbersign, section, section ] }; | |
key <AE11> { [ minus, underscore, ssharp, question ] }; | |
include "level3(ralt_switch)" | |
}; | |
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 and no dead keys)"; | |
key <AB01> { [ y, Y, guillemotleft, less ] }; | |
key <AC10> { [odiaeresis, Odiaeresis, eacute, Eacute ] }; | |
key <AC11> { [adiaeresis, Adiaeresis, aacute, Aacute] }; | |
key <AD03> { [ e, E, EuroSign, EuroSign ] }; | |
key <AD06> { [ z, Z, leftarrow, yen ] }; | |
key <AD07> { [ u, U, uacute, Uacute ] }; | |
key <AD08> { [ i, I, iacute, Iacute ] }; | |
key <AD09> { [ o, O, odoubleacute,Odoubleacute ] }; | |
key <AD11> { [udiaeresis, Udiaeresis, udoubleacute,Udoubleacute ] }; | |
key <AD12> { [ plus, asterisk, asciitilde, macron ] }; | |
key <AE12> { [ acute, grave, oacute, Oacute ] }; | |
key <BKSL> { [numbersign, apostrophe, grave, grave ] }; | |
key <TLDE> { [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"; | |
key <AD04> { [ period, enfilledcircbullet, NoSymbol, U03D1, NoSymbol, NoSymbol, U21A6, NoSymbol ] }; | |
key <AB04> { [ comma, endash, NoSymbol, U03F1, NoSymbol, NoSymbol, U21D2, NoSymbol ] }; | |
key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; | |
key <AD01> { [ k, K, NoSymbol, Greek_kappa, NoSymbol, NoSymbol, multiply, NoSymbol ] }; | |
key <AD02> { [ u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, includedin, NoSymbol ] }; | |
key <AD03> { [ udiaeresis, Udiaeresis, NoSymbol, NoSymbol, NoSymbol, NoSymbol, union, NoSymbol ] }; | |
key <AD05> { [ adiaeresis, Adiaeresis, NoSymbol, Greek_eta, NoSymbol, NoSymbol, U2135, NoSymbol ] }; | |
key <AD06> { [ v, V, NoSymbol, NoSymbol, NoSymbol, NoSymbol, radical, NoSymbol ] }; | |
key <AD07> { [ g, G, NoSymbol, Greek_gamma, NoSymbol, NoSymbol, Greek_GAMMA, NoSymbol ] }; | |
key <AD08> { [ c, C, NoSymbol, Greek_chi, NoSymbol, NoSymbol, U2102, NoSymbol ] }; | |
key <AD09> { [ l, L, NoSymbol, Greek_lambda, NoSymbol, NoSymbol, Greek_LAMBDA, NoSymbol ] }; | |
key <AD10> { [ j, J, NoSymbol, Greek_theta, NoSymbol, NoSymbol, Greek_THETA, NoSymbol ] }; | |
key <AD11> { [ f, F, NoSymbol, Greek_phi, NoSymbol, NoSymbol, Greek_PHI, NoSymbol ] }; | |
key <AC01> { [ h, H, NoSymbol, Greek_psi, NoSymbol, NoSymbol, Greek_PSI, NoSymbol ] }; | |
key <AC02> { [ i, I, NoSymbol, Greek_iota, NoSymbol, NoSymbol, integral, NoSymbol ] }; | |
key <AC03> { [ e, E, NoSymbol, Greek_epsilon, NoSymbol, NoSymbol, U2203, NoSymbol ] }; | |
key <AC04> { [ a, A, NoSymbol, Greek_alpha, NoSymbol, NoSymbol, U2200, NoSymbol ] }; | |
key <AC05> { [ o, O, NoSymbol, Greek_omicron, NoSymbol, NoSymbol, elementof, NoSymbol ] }; | |
key <AC06> { [ d, D, NoSymbol, Greek_delta, NoSymbol, NoSymbol, Greek_DELTA, NoSymbol ] }; | |
key <AC07> { [ t, T, NoSymbol, Greek_tau, NoSymbol, NoSymbol, partialderivative, NoSymbol ] }; | |
key <AC08> { [ r, R, NoSymbol, Greek_rho, NoSymbol, NoSymbol, U211D, NoSymbol ] }; | |
key <AC09> { [ n, N, NoSymbol, Greek_nu, NoSymbol, NoSymbol, U2115, NoSymbol ] }; | |
key <AC10> { [ s, S, NoSymbol, Greek_sigma, NoSymbol, NoSymbol, Greek_SIGMA, NoSymbol ] }; | |
key <AC11> { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] }; | |
key <AB01> { [ x, X, NoSymbol, Greek_xi, NoSymbol, NoSymbol, Greek_XI, NoSymbol ] }; | |
key <AB02> { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, nabla, NoSymbol ] }; | |
key <AB03> { [ odiaeresis, odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, intersection, NoSymbol ] }; | |
key <AB05> { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] }; | |
key <AB06> { [ b, B, NoSymbol, Greek_beta, NoSymbol, NoSymbol, U21D0, NoSymbol ] }; | |
key <AB07> { [ p, P, NoSymbol, Greek_pi, NoSymbol, NoSymbol, Greek_PI, NoSymbol ] }; | |
key <AB08> { [ w, W, NoSymbol, Greek_omega, NoSymbol, NoSymbol, Greek_OMEGA, NoSymbol ] }; | |
key <AB09> { [ m, M, NoSymbol, Greek_mu, NoSymbol, NoSymbol, ifonlyif, NoSymbol ] }; | |
key <AB10> { [ 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)" | |
include "level5(ralt_switch)" | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment