Branch: Aleχs Umsetzung von Peters Vorschlag II (zusammen mit dem Tausch ↻ ↔ ¨) für die toten Tasten.

This commit is contained in:
dennis 2009-08-25 12:08:10 +00:00
parent 5686289b9d
commit 52f4ff2a90
2 changed files with 550 additions and 22 deletions

View File

@ -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 dragndrop oder Markierungen)
• Komma oder Punkt (auf dem Keypad also die Taste neben der 0) lösen diesen
gehaltenen Klick (z.B. für dragndrop; 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 NeoTastatur 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 NeoTastatur 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 ===

View File

@ -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 <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, dead_tilde, dead_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, dead_grave, 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 "nodeadkeys" {
// modify the basic German layout to not have any dead keys
include "de(basic)"
name[Group1]="Germany - 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 ] };
key <AB10> { [ 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 <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]="Germany - Dead acute";
key <AE12> { [dead_acute, grave, dead_cedilla, dead_ogonek ] };
key <BKSL> { [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 <AltGr> and
// 'a', 's', 't', 'i', 'ä (&auml)' (+<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]="Germany - Romanian keyboard with German letters";
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]="Germany - Romanian keyboard with German letters, 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]="Germany - 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]="Germany - Sun dead keys";
};
// German NEO-Layout Version 2
// adopted 2004 by Hanno Behrens <Hanno.Behrens@gmx.de>
// 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" {
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> { [ Tab, ISO_Left_Tab, Multi_key, ISO_Level5_Lock, NoSymbol, NoSymbol, NoSymbol, ISO_Level5_Lock ] };
// Number row
// --------------------------------------------------------------
key <TLDE> { [ dead_circumflex, dead_tilde, dead_abovering, U02DE, dead_caron, Pointer_EnableKeys, dead_breve, 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, Prior, Prior, 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, Greek_kappa, currency, NoSymbol, rightarrow, NoSymbol ] };
key <AE08> { [ 8, doublelowquotemark, singlelowquotemark, U27E8, NoSymbol, NoSymbol, U221E, NoSymbol ] };
key <AE09> { [ 9, leftdoublequotemark, leftsinglequotemark, U27E9, KP_Divide, NoSymbol, variation, NoSymbol ] };
key <AE10> { [ 0, rightdoublequotemark, rightsinglequotemark, zerosubscript, KP_Multiply, NoSymbol, emptyset, NoSymbol ] };
key <AE11> { [ minus, emdash, NoSymbol, U2011, KP_Subtract, NoSymbol, hyphen, NoSymbol ] };
key <AE12> { [ dead_grave, dead_diaeresis, U21BB, dead_dasia, dead_abovedot, NoSymbol, dead_belowdot, NoSymbol ] };
// Top row
// --------------------------------------------------------------
key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS_QUARTERALPHABETIC";
key <AD01> { [ x, X, ellipsis, Greek_xi, U22EE, NoSymbol, Greek_XI, NoSymbol ] };
key <AD02> { [ v, V, underscore, NoSymbol, BackSpace, BackSpace, radical, NoSymbol ] };
key <AD03> { [ l, L, bracketleft, Greek_lambda, Up, Up, Greek_LAMBDA, NoSymbol ] };
key <AD04> { [ c, C, bracketright, Greek_chi, Delete, Delete, U2102, NoSymbol ] };
key <AD05> { [ w, W, asciicircum, Greek_omega, Insert, Insert, Greek_OMEGA, NoSymbol ] };
key <AD06> { [ k, K, exclam, U03F0, exclamdown, NoSymbol, multiply, NoSymbol ] };
key <AD07> { [ h, H, less, Greek_psi, KP_7, NoSymbol, Greek_PSI, NoSymbol ] };
key <AD08> { [ g, G, greater, Greek_gamma, KP_8, NoSymbol, Greek_GAMMA, NoSymbol ] };
key <AD09> { [ f, F, equal, Greek_phi, KP_9, NoSymbol, Greek_PHI, NoSymbol ] };
key <AD10> { [ q, Q, ampersand, U03D5, KP_Add, NoSymbol, U211A, NoSymbol ] };
key <AD11> { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, U2212, NoSymbol, jot, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS";
key <AD12> { [ 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 <AC01> { [ u, U, backslash, NoSymbol, Home, Home, includedin, NoSymbol ] };
key <AC02> { [ i, I, slash, Greek_iota, Left, Left, integral, NoSymbol ] };
key <AC03> { [ a, A, braceleft, Greek_alpha, Down, Down, U2200, NoSymbol ] };
key <AC04> { [ e, E, braceright, Greek_epsilon, Right, Right, U2203, NoSymbol ] };
key <AC05> { [ o, O, asterisk, Greek_omicron, End, End, elementof, NoSymbol ] };
key <AC06> { [ s, S, question, Greek_sigma, questiondown, NoSymbol, Greek_SIGMA, NoSymbol ] };
key <AC07> { [ n, N, parenleft, Greek_nu, KP_4, NoSymbol, U2115, NoSymbol ] };
key <AC08> { [ r, R, parenright, U03F1, KP_5, NoSymbol, U211D, NoSymbol ] };
key <AC09> { [ t, T, minus, Greek_tau, KP_6, NoSymbol, partialderivative, NoSymbol ] };
key <AC10> { [ d, D, colon, Greek_delta, KP_Separator, NoSymbol, Greek_DELTA, NoSymbol ] };
key <AC11> { [ y, Y, at, Greek_upsilon, KP_Decimal, NoSymbol, nabla, NoSymbol ] };
// Bottom row
// --------------------------------------------------------------
key <AB01> { [ udiaeresis, Udiaeresis, numbersign, NoSymbol, Escape, Escape, union, NoSymbol ] };
key <AB02> { [ odiaeresis, Odiaeresis, dollar, U03F5, Tab, Tab, intersection, NoSymbol ] };
key <AB03> { [ adiaeresis, Adiaeresis, bar, Greek_eta, Next, Next, U2135, NoSymbol ] };
key <AB04> { [ p, P, asciitilde, Greek_pi, Return, Return, Greek_PI, NoSymbol ] };
key <AB05> { [ z, Z, grave, Greek_zeta, Undo, Undo, U2124, NoSymbol ] };
key <AB06> { [ b, B, plus, Greek_beta, colon, NoSymbol, U21D0, NoSymbol ] };
key <AB07> { [ m, M, percent, Greek_mu, KP_1, NoSymbol, ifonlyif, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS";
key <AB08> { [ comma, endash, quotedbl, Greek_rho, KP_2, NoSymbol, U21D2, NoSymbol ] };
key <AB09> { [ period, enfilledcircbullet, apostrophe, U03D1, KP_3, NoSymbol, Greek_THETA, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS_QUARTERALPHABETIC";
key <AB10> { [ j, J, semicolon, Greek_theta, semicolon, NoSymbol, U21A6, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS";
// Space key
// --------------------------------------------------------------
key <SPCE> { [ space, space, space, nobreakspace, KP_0, NoSymbol, U202F, NoSymbol ] };
// Keypad-keys
// ===============
// The former Numlock key:
key <NMLK> { [ Tab, ISO_Left_Tab, equal, approxeq, notequal, NoSymbol, identical, NoSymbol ] };
// Topmost row
// --------------------------------------------------------------
key <KPDV> { [ KP_Divide, KP_Divide, division, U2300, U2215, NoSymbol, U2223, NoSymbol ] };
key <KPMU> { [ KP_Multiply, KP_Multiply, U2219, 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, brokenbar, 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, 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 <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]= "Germany - Macintosh, eliminate dead keys";
key <AE04> { [ 4, dollar, onequarter, currency ] };
key <TLDE> { [ asciicircum, degree, notsign ] };
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"
{
name[Group1] = "Germany - Lower Sorbian";
include "latin(basic)"
include "level3(ralt_switch)"
include "kpdl(comma)"
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 ] };
};
partial alphanumeric_keys
xkb_symbols "dsb_qwertz"
{
name[Group1] = "Germany - Lower Sorbian (qwertz)";
include "latin(basic)"
include "level3(ralt_switch)"
include "kpdl(comma)"
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 ] };
};
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 <kosik@fiit.stuba.sk>
include "de(basic)"
name[Group1] = "Germany - qwerty";
key <AB01> { [ z, Z, leftarrow, yen ] };
key <AD06> { [ y, Y, guillemotleft, less ] };
};