From 8ee686700c88b2ccb7303e1a180ce34a019e6f61 Mon Sep 17 00:00:00 2001 From: dennis Date: Tue, 25 Aug 2009 12:08:10 +0000 Subject: =?UTF-8?q?Branch:=20Ale=CF=87s=20Umsetzung=20von=20Peters=20Vorsc?= =?UTF-8?q?hlag=20II=20(zusammen=20mit=20dem=20Tausch=20=E2=86=BB=20?= =?UTF-8?q?=E2=86=94=20=C2=A8)=20f=C3=BCr=20die=20toten=20Tasten.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@2052 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- A-REFERENZ-A/neo20-test-diakritika.txt | 67 +++-- linux/X/symbols/de-diakritika | 505 +++++++++++++++++++++++++++++++++ 2 files changed, 550 insertions(+), 22 deletions(-) create mode 100644 linux/X/symbols/de-diakritika diff --git a/A-REFERENZ-A/neo20-test-diakritika.txt b/A-REFERENZ-A/neo20-test-diakritika.txt index 0d4ca3d..de48815 100644 --- a/A-REFERENZ-A/neo20-test-diakritika.txt +++ b/A-REFERENZ-A/neo20-test-diakritika.txt @@ -39,10 +39,22 @@ http://dejavu.sourceforge.net/ Die Tastaturmaussteuerung schaltet man über Shift+Mod4+T1 ein und ebenso wieder aus. Mit dieser kann man den Mauszeiger über die Tastatur steuern. Dies kann sinnvoll sein, falls die Maus oder das Touchpad streikt oder keine solches Medium vorhanden ist. -Am besten geeignet ist dazu die Ebene 4 des Keypads (z.B. mit Mod4_Lock). Verzichtet man auf -Markierungen ist auch Ebene 1 des Keypads geeignet. -Des Weiteren kann man die Zahlen auf Ebene 4 des Haupttastaturfelds benutzen, jedoch ist die -Bedienung dort weniger komfortabel. +Die Bedienung kann wahlweise über die Ebene 1 des Keypads oder die rechte Hälfte der Ebene 4 +(z.B. mit Mod4_Lock) erfolgen. + +Funktionweise der Tastaturmaussteuerung: + • Die Ziffern ergeben eine Bewegung in die jeweilige Richtung (z.B. 7: links-oben) + • 5 entspricht einem (einfachen) Klick + • + entspricht einem Doppelklick + • 0 entspricht einem gehaltenen Klick (z.B. für drag’n’drop oder Markierungen) + • Komma oder Punkt (auf dem Keypad also die Taste neben der 0) lösen diesen + gehaltenen Klick (z.B. für drag’n’drop; für das Ende einer Markierung 5 benutzen!) +Welche Taste geklickt wird, muss zuvor bestimmt werden: + • / kündigt einen Linksklick an (Standard) + • * kündigt einen Mittelklick an + • - kündigt einen Rechtsklick an + +Die Tastaturmaussteuerung funktioniert ausschließlich mit den KP_-Varianten! === Symbole === ⇞⇟ … Bild auf/Bild ab @@ -67,27 +79,27 @@ Zu den Akzenten siehe auch T1 („Tote Taste 1“: Taste links neben der 1) ┌─────┐ 1 … Toter Zirkumflex (sieht aus wie U+02C6 MODIFIER LETTER CIRCUMFLEX ACCENT) -│˜ ¯ ˘│ 2 … Tote Tilde (sieht aus wie U+02DC SMALL TILDE) +│˜ ˇ ˘│ 2 … Tote Tilde (sieht aus wie U+02DC SMALL TILDE) │ˆ ˚ ˞│ 3 … Toter Ring (sieht aus wie U+02DA RING ABOVE) -└─────┘ 4 … Toter Makron (sieht aus wie U+00AF MACRON) +└─────┘ 4 … Toter Caron/Hatschek (sieht aus wie U+02C7 CARON) 5 … Toter Haken (sieht aus wie U+02DE MODIFIER LETTER RHOTIC HOOK) 6 … Toter Breve/Brevis (sieht aus wie U+02D8 BREVE) T2 („Tote Taste 2“: zwei Tasten rechts neben der 0) ┌─────┐ 1 … Toter Gravis (sieht aus wie U+02CB MODIFIER LETTER GRAVE ACCENT) -│¨ ˇ .│ 2 … Totes Trema (sieht aus wie U+00A8 DIAERESIS) +│¨ ˙ .│ 2 … Totes Trema (sieht aus wie U+00A8 DIAERESIS) │` ↻ ῾│ 3 … Totes Drehen (sieht aus wie U+21BB CLOCKWISE OPEN CIRCLE ARROW) -└─────┘ 4 … Toter Caron/Hatschek (sieht aus wie U+02C7 CARON) +└─────┘ 4 … Toter Punkt darüber (sieht aus wie U+02D9 DOT ABOVE) 5 … Toter Spiritus asper (sieht aus wie U+1FFE GREEK DASIA) 6 … Toter Punkt darunter (sieht aus wie U+002E FULL STOP) T3 („Tote Taste 3“: Taste rechts neben dem scharfen s (ß)) ┌─────┐ 1 … Toter Akut (sieht aus wie U+02CA MODIFIER LETTER ACUTE ACCENT) -│¸ ˝ ˙│ 2 … Tote Cedille (sieht aus wie U+00B8 CEDILLA) +│¸ ˝ ¯│ 2 … Tote Cedille (sieht aus wie U+00B8 CEDILLA) │´ / ᾿│ 3 … Toter Quer-/Schrägstrich (sieht aus wie U+02D7 MODIFIER LETTER MINUS SIGN oder wie U+002F SOLIDUS) └─────┘ 4 … Toter Doppelakut (sieht aus wie U+02DD DOUBLE ACUTE ACCENT) 5 … Toter Spiritus lenis (sieht aus wie U+1FBF GREEK PSILI), Haken (viet.: dấu hỏi) für lateinische Vokale - 6 … Toter Punkt darüber (sieht aus wie U+02D9 DOT ABOVE) + 6 … Toter Makron (sieht aus wie U+00AF MACRON) ACHTUNG: „Tote Tasten“ (Tasten zum Erzeugen toter Zeichen – also Zeichen die nicht gleich erscheinen, sondern nur in Kombination mit einem weiteren Buchstaben) werden @@ -152,12 +164,16 @@ Siehe auch http://de.wikipedia.org/wiki/Anf%C3%BChrungszeichen │0 ’ ₀│ 3 … ’ Apostroph, engl. schließendes halbes Anführungsz. (U+2019 RIGHT SINGLE QUOTATION MARK) └─────┘ +=== Ziffern === +Für die Ziffern auf dem Keypad und diese auf Ebene 4 wird die KP_-Variante verwendet. +Für die Ziffern auf der ersten Ebene der Haupttastatur wird nicht die KP_-Variante verwendet. + === Ebene 4 === Auf Ebene 4 der Haupttastatur werden für folgende Zeichen die jeweilige KP_-Variante benutzt, um die Vielseitigkeit und Funktionsfähigkeit der Neo‐Tastatur zu gewährleisten: • die Ziffern 0-9 • die Operationszeichen +-*/ - • statt Return wird KP_Enter verwendet + • für die Return-Taste wird KP_Enter verwendet • für das Komma wird KP_Separator benutzt Für andere Zeichen der Ebene 4 wird hingegen nicht die KP_-Variante benutzt, namentlich: @@ -165,18 +181,15 @@ Für andere Zeichen der Ebene 4 wird hingegen nicht die KP_-Variante benutzt, na OpenOffice) bereitet) • die Navigationselemente (die KP_-Vatianten bereiten in einigen Programmen Probleme; andererseits sind die KP_-Varianten in anderen, insbesondere älteren, Programmen wie xterm, xedit, … erforderlich) + • für das zusätzliche Return auf p(4) wird Return – und nicht KP_Enter – verwendet -Auf dem Ziffernblock (Keypad) sollte für alle Elemente nach Möglichkeit die KP_‐Variante verwendet -werden! - -Für die Ziffern auf der ersten Ebene (Hauptfeld) wird nicht die KP_-Variante verwendet. === Alle Ebenen – Haupttastatur === ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────┐ -│˜ ¯ ˘│° ª ¬│§ º ∨│ℓ № ∧│» ⇞ ⊥│« · ∡│$ £ ∥│€ ¤ →│„ ∞│“ / ∝│” * ∅│— - ╌│¨ ˇ .│Backspace│ +│˜ ˇ ˘│° ª ¬│§ º ∨│ℓ № ∧│» ⇞ ⊥│« · ∡│$ £ ∥│€ ¤ →│„ ∞│“ / ∝│” * ∅│— - ╌│¨ ˙ .│Backspace│ │ˆ ˚ ˞│1 ¹ ₁│2 ² ₂│3 ³ ₃│4 › ♀│5 ‹ ♂│6 ¢ ⚥│7 ¥ κ│8 ‚ ⟨│9 ‘ ⟩│0 ’ ₀│- ‑│` ↻ ῾│ ⌫ │ ├─────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──────┤ -│ Tab⇤ │X ⋮ Ξ│V ⌫ √│L ⇡ Λ│C ⌦ ℂ│W ⎀ Ω│K ¡ ×│H 7 Ψ│G 8 Γ│F 9 Φ│Q + ℚ│ẞ − ∘│¸ ˝ ˙│ │ +│ Tab⇤ │X ⋮ Ξ│V ⌫ √│L ⇡ Λ│C ⌦ ℂ│W ⎀ Ω│K ¡ ×│H 7 Ψ│G 8 Γ│F 9 Φ│Q + ℚ│ẞ − ∘│¸ ˝ ¯│ │ │ Tab⇥ ♫ │x … ξ│v _ │l [ λ│c ] χ│w ^ ω│k ! ϰ│h < ψ│g > γ│f = φ│q & ϕ│ß ſ ς│´ / ᾿│Return│ ├────────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┐ │ │ Mod │U ⇱ ⊂│I ⇠ ∫│A ⇣ ∀│E ⇢ ∃│O ⇲ ∈│S ¿ Σ│N 4 ℕ│R 5 ℝ│T 6 ∂│D , Δ│Y . ∇│ Mod │ ↲ │ @@ -230,7 +243,7 @@ Für die Ziffern auf der ersten Ebene (Hauptfeld) wird nicht die KP_-Variante ve === Vierte Ebene – Miniatur === ┌───┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬──────┐ -│ ¯ │ª│º│№│⇞│·│£│¤│ │/│*│-│ˇ│ Back │ +│ ˇ │ª│º│№│⇞│·│£│¤│ │/│*│-│˙│ Back │ ├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬─────┤ │ │⋮│⌫│⇡│⌦│⎀│¡│7│8│9│+│−│˝│ Ret │ ├────┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┐ │ @@ -258,7 +271,7 @@ Für die Ziffern auf der ersten Ebene (Hauptfeld) wird nicht die KP_-Variante ve ┌───┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬──────┐ │ ˘ │¬│∨│∧│⊥│∡│∥│→│∞│∝│∅│╌│.│ Back │ ├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬─────┤ -│ │Ξ│√│Λ│ℂ│Ω│×│Ψ│Γ│Φ│ℚ│∘│˙│ Ret │ +│ │Ξ│√│Λ│ℂ│Ω│×│Ψ│Γ│Φ│ℚ│∘│¯│ Ret │ ├────┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┐ │ │ M3 │⊂│∫│∀│∃│∈│Σ│ℕ│ℝ│∂│Δ│∇│M3│ │ ├───┬─┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴──┴───┤ @@ -269,7 +282,9 @@ Für die Ziffern auf der ersten Ebene (Hauptfeld) wird nicht die KP_-Variante ve == Ziffernblock == Um die Vielseitigkeit und Funktionsfähigkeit der Neo‐Tastatur zu gewährleisten, -sollten für alle Elemente auf dem Keypad wenn möglich die KP_‐Variante verwendet werden! +sollten für alle Elemente auf dem Keypad wenn möglich die KP_‐Variante verwendet werden, sofern diese +auch under QWERTZ zum Einsatz kommen! Zusätzliche KP_-Keysyms wie KP_Tab werden jedoch nicht +benutzt, da sie in vielen Programmen nicht die erwartete Funktionalität erbringen. === Legende – Ziffernblock === ┌───────┐ 1 … 1. Ebene (kein Mod) │ 4 … 4. Ebene (Mod4) @@ -306,6 +321,14 @@ sollten für alle Elemente auf dem Keypad wenn möglich die KP_‐Variante verwe 5 … (U+2295 CIRCLED PLUS) 6 … (U+2214 DOT PLUS) +┌───────┐ 1 … KP_Separator (ergibt ein Komma) +│. Del ″│ 2 … Punkt (explizit) +│, , ′│ 3 … Komma (explizit) +└───────┘ 4 … Delete + 5 … Minutenzeichen (U+2032 PRIME) + 6 … Sekundenzeichen (U+2033 DOUBLE PRIME) + + === Alle Ebenen – Ziffernblock === ┌───────┬───────┬───────┬───────┐ │ ⇤ ≠ ≡ │ / ⁄ ∣ │ * × ⊗ │ - ∖ ∸ │ @@ -321,7 +344,7 @@ sollten für alle Elemente auf dem Keypad wenn möglich die KP_‐Variante verwe │1 ↔ ≤│2 ↓ ∪│3 ⇌ ≥│ │ ├───────┴───────┼───────┤ │ │ ␣ Ins □ │. Del ″│ │ -│ 0 % ‰ │, ′│ Enter │ +│ 0 % ‰ │, , ′│ Enter │ └───────────────┴───────┴───────┘ === Erste Ebene – Miniatur === @@ -360,7 +383,7 @@ sollten für alle Elemente auf dem Keypad wenn möglich die KP_‐Variante verwe ├───┼───┼───┼───┤ │ ↔ │ ↓ │ ⇌ │ │ ├───┴───┼───┤ │ -│ % │,/.│Ent│ +│ % │ , │Ent│ └───────┴───┴───┘ === Vierte Ebene – Miniatur === diff --git a/linux/X/symbols/de-diakritika b/linux/X/symbols/de-diakritika new file mode 100644 index 0000000..04311d3 --- /dev/null +++ b/linux/X/symbols/de-diakritika @@ -0,0 +1,505 @@ + +// based on a keyboard map from an 'xkb/symbols/de' file +// +// $XKeyboardConfig$ +// $XFree86: xc/programs/xkbcomp/symbols/de,v 1.6 2003/09/08 13:12:51 pascal Exp $ + +default +xkb_symbols "basic" { + + include "latin(type4)" + + name[Group1]="Germany"; + + key { [ 2, quotedbl, twosuperior, oneeighth ] }; + key { [ 3, section, threesuperior, sterling ] }; + key { [ 4, dollar, onequarter, currency ] }; + + key {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 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 { [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, dead_tilde, dead_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 { [dead_circumflex, degree, U2032, U2033 ] }; + + key { [numbersign, apostrophe, dead_grave, dead_breve ] }; + key { [ y, Y, guillemotright, U203A ] }; + key { [ x, X, guillemotleft, U2039 ] }; + key { [ v, V, doublelowquotemark, singlelowquotemark ] }; + key { [ b, B, leftdoublequotemark, leftsinglequotemark ] }; + key { [ n, N, rightdoublequotemark, rightsinglequotemark ] }; + 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 "nodeadkeys" { + + // modify the basic German layout to not have any dead keys + + include "de(basic)" + name[Group1]="Germany - Eliminate 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, grave, grave ] }; + key { [ minus, underscore, dead_belowdot, abovedot ] }; +}; + +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]="Germany - Dead grave acute"; + + key { [asciicircum, degree, notsign, notsign ] }; + key { [ plus, asterisk, asciitilde, dead_macron ] }; + key { [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]="Germany - Dead acute"; + + key { [dead_acute, grave, dead_cedilla, dead_ogonek ] }; + key { [numbersign, apostrophe, dead_grave, dead_grave ] }; +}; + +partial alphanumeric_keys +xkb_symbols "ro" { + // add romanian-specific letters to the basic German layout. + // Romanian symbols are accessible with combination of and + // 'a', 's', 't', 'i', 'ä (ä)' (+ 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]="Germany - Romanian keyboard with German letters"; + + key { [ t, T, tcedilla, Tcedilla ] }; + key { [ i, I, icircumflex, Icircumflex ] }; + key { [ a, A, acircumflex, Acircumflex ] }; + key { [ s, S, scedilla, Scedilla ] }; + key { [ 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]="Germany - Romanian keyboard with German letters, eliminate dead keys"; + + key { [ t, T, tcedilla, Tcedilla ] }; + key { [ i, I, icircumflex, Icircumflex ] }; + key { [ a, A, acircumflex, Acircumflex ] }; + key { [ s, S, scedilla, Scedilla ] }; + 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]="Germany - 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 { [ odiaeresis, Odiaeresis ] }; + key { [ q, Q, at ] }; + key { [ m, M, mu ] }; + key { [ numbersign, apostrophe ] }; + + key { [ minus, underscore, hyphen, diaeresis] }; + + key { [ 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]="Germany - Sun dead keys"; +}; + + +// 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 +// +// http://www.neo-layout.org +// +// $Revision$, $Date$ + +partial alphanumeric_keys modifier_keys keypad_keys +xkb_symbols "neo_base" { + + name[Group1]= "Germany - Neo 2"; + + // 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 ??? Ebene6 ??? + // Keys (Neo): None Shift Mod3 Mod3 + Shift Mod4 Mod4 + Shift Mod3 + Mod4 Mod3 + Mod4 + Shift + + + // Alphanumeric-keys + // =============== + key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS"; + + // Tab as Multi_key (Compose) + // -------------------------------------------------------------- + key { [ Tab, ISO_Left_Tab, Multi_key, ISO_Level5_Lock, NoSymbol, NoSymbol, NoSymbol, ISO_Level5_Lock ] }; + + + // Number row + // -------------------------------------------------------------- + key { [ dead_circumflex, dead_tilde, dead_abovering, U02DE, dead_caron, Pointer_EnableKeys, dead_breve, 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, Prior, Prior, U22A5, NoSymbol ] }; + key { [ 5, guillemotleft, U2039, malesymbol, periodcentered, NoSymbol, U2221, NoSymbol ] }; + key { [ 6, dollar, cent, U26A5, sterling, NoSymbol, U2225, NoSymbol ] }; + + key { [ 7, EuroSign, yen, Greek_kappa, currency, NoSymbol, rightarrow, NoSymbol ] }; + key { [ 8, doublelowquotemark, singlelowquotemark, U27E8, NoSymbol, NoSymbol, U221E, NoSymbol ] }; + key { [ 9, leftdoublequotemark, leftsinglequotemark, U27E9, KP_Divide, NoSymbol, variation, NoSymbol ] }; + key { [ 0, rightdoublequotemark, rightsinglequotemark, zerosubscript, KP_Multiply, NoSymbol, emptyset, NoSymbol ] }; + + key { [ minus, emdash, NoSymbol, U2011, KP_Subtract, NoSymbol, hyphen, NoSymbol ] }; + key { [ dead_grave, dead_diaeresis, U21BB, dead_dasia, dead_abovedot, NoSymbol, dead_belowdot, NoSymbol ] }; + + // Top row + // -------------------------------------------------------------- + key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS_QUARTERALPHABETIC"; + key { [ x, X, ellipsis, Greek_xi, U22EE, NoSymbol, 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, Insert, Insert, Greek_OMEGA, NoSymbol ] }; + + key { [ k, K, exclam, U03F0, exclamdown, NoSymbol, multiply, NoSymbol ] }; + key { [ h, H, less, Greek_psi, KP_7, NoSymbol, Greek_PSI, NoSymbol ] }; + key { [ g, G, greater, Greek_gamma, KP_8, NoSymbol, Greek_GAMMA, NoSymbol ] }; + key { [ f, F, equal, Greek_phi, KP_9, NoSymbol, Greek_PHI, NoSymbol ] }; + key { [ q, Q, ampersand, U03D5, KP_Add, NoSymbol, U211A, NoSymbol ] }; + + key { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, U2212, NoSymbol, jot, NoSymbol ] }; + + key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS"; + key { [ dead_acute, dead_cedilla, dead_stroke, dead_psili, dead_doubleacute, NoSymbol, dead_macron, NoSymbol ] }; + + // Middle row + // -------------------------------------------------------------- + key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS_QUARTERALPHABETIC"; + 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, NoSymbol, U2115, NoSymbol ] }; + key { [ r, R, parenright, U03F1, KP_5, NoSymbol, U211D, NoSymbol ] }; + key { [ t, T, minus, Greek_tau, KP_6, NoSymbol, partialderivative, NoSymbol ] }; + key { [ d, D, colon, Greek_delta, KP_Separator, NoSymbol, Greek_DELTA, NoSymbol ] }; + + key { [ y, Y, at, Greek_upsilon, KP_Decimal, NoSymbol, 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, Next, Next, U2135, NoSymbol ] }; + key { [ p, P, asciitilde, Greek_pi, Return, Return, Greek_PI, NoSymbol ] }; + key { [ z, Z, grave, Greek_zeta, Undo, Undo, U2124, NoSymbol ] }; + + key { [ b, B, plus, Greek_beta, colon, NoSymbol, U21D0, NoSymbol ] }; + key { [ m, M, percent, Greek_mu, KP_1, NoSymbol, ifonlyif, NoSymbol ] }; + key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS"; + key { [ comma, endash, quotedbl, Greek_rho, KP_2, NoSymbol, U21D2, NoSymbol ] }; + key { [ period, enfilledcircbullet, apostrophe, U03D1, KP_3, NoSymbol, Greek_THETA, NoSymbol ] }; + key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS_QUARTERALPHABETIC"; + key { [ j, J, semicolon, Greek_theta, semicolon, NoSymbol, U21A6, NoSymbol ] }; + key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS"; + + // Space key + // -------------------------------------------------------------- + key { [ space, space, space, nobreakspace, KP_0, NoSymbol, U202F, NoSymbol ] }; + + + // Keypad-keys + // =============== + + // The former Numlock key: + key { [ Tab, ISO_Left_Tab, equal, approxeq, notequal, NoSymbol, identical, NoSymbol ] }; + + // Topmost row + // -------------------------------------------------------------- + key { [ KP_Divide, KP_Divide, division, U2300, U2215, NoSymbol, U2223, NoSymbol ] }; + key { [ KP_Multiply, KP_Multiply, U2219, 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, brokenbar, 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, KP_Decimal, period, minutes, KP_Delete, KP_Delete, seconds, NoSymbol ] }; +}; + +partial alphanumeric_keys modifier_keys keypad_keys +xkb_symbols "neo" { + + include "de(neo_base)" + + include "shift(both_capslock)" + include "level3(caps_switch)" + include "level3(bksl_switch)" + include "level5(lsgt_switch_numlock)" + include "level5(ralt_switch_numlock)" +}; + +// Copied from macintosh_vndr/de +// olh@suse.de very close to MacOS map + +partial alphanumeric_keys +xkb_symbols "mac" { + + include "de" + name[Group1]= "Germany - Macintosh"; + + // Alphanumeric section + 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]= "Germany - Macintosh, eliminate dead keys"; + key { [ 4, dollar, onequarter, currency ] }; + + key { [ asciicircum, degree, notsign ] }; + key { [ acute, grave, cedilla ] }; + key { [ udiaeresis, Udiaeresis, diaeresis ] }; + key { [ plus, asterisk, asciitilde, macron ] }; + key { [ odiaeresis, Odiaeresis, acute ] }; + key { [ adiaeresis, Adiaeresis, asciicircum ] }; + + key { [ numbersign, apostrophe, grave ] }; +}; + +partial alphanumeric_keys +xkb_symbols "dsb" +{ + name[Group1] = "Germany - Lower Sorbian"; + include "latin(basic)" + include "level3(ralt_switch)" + include "kpdl(comma)" + 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 ] }; + key { [ s, S, sacute, Sacute ] }; + key { [ d, D, scaron, Scaron ] }; + key { [ f, F ] }; + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E, ecaron, Ecaron ] }; + key { [ r, R, racute, Racute ] }; + key { [ t, T, U20B5, EuroSign ] }; + key { [ o, O, oacute, Oacute ] }; +}; + +partial alphanumeric_keys +xkb_symbols "dsb_qwertz" +{ + name[Group1] = "Germany - Lower Sorbian (qwertz)"; + include "latin(basic)" + include "level3(ralt_switch)" + include "kpdl(comma)" + key { [ y, Y ] }; + key { [ x, X ] }; + key { [ c, C, cacute, Cacute ] }; + key { [ v, V, ccaron, Ccaron ] }; + key { [ n, N, nacute, Nacute ] }; + key { [ s, S, sacute, Sacute ] }; + key { [ d, D, scaron, Scaron ] }; + key { [ f, F ] }; + key { [ q, Q ] }; + key { [ w, W ] }; + 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 ] }; +}; + +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] = "Germany - qwerty"; + + key { [ z, Z, leftarrow, yen ] }; + key { [ y, Y, guillemotleft, less ] }; +}; \ No newline at end of file -- cgit v1.2.3