# Tote Tasten und Compose

!!! help "Noch Fragen?"
    Bei aufkommenden Fragen zu den vielen Abkürzungen hier im Artikel sei auf die [Kontaktseite](/Kontakt/community) verwiesen. Am schnellsten bekommt man eine Antwort im [Neo-Chat](https://webchat.freenode.net/#neo).

## Tote Tasten

**Tote Tasten** (oder auch Deadkeys) modifizieren die nachfolgend gedrückte Taste. Das funktioniert gleich wie bei Qwertz: Erst tippt man auf die Taste mit dem Akut (´), dann auf das a, und erhält ein á. Darüber sind viele Akzente (sogenannte *Diakritische Zeichen*) erreichbar; eine Tabelle mit allen unter Neo verfügbaren gibt es [unten](#erzeugbare-zeichen-mit-den-toten-tasten).

**Unter Neo** liegen die Toten Tasten auf allen Ebenen auf der gleichen Tastaturposition, mit jeweils unterschiedlicher Wirkung. Diese Tasten werden als **T1** (links neben 1), **T2** (zweite rechts neben 0) und **T3** (rechts unterhalb von T2, links der Eingabetaste) bezeichnet.

## Compose

**Compose** (engl. *compose*: zusammensetzen, auch Multikey genannt) ist eine Taste oder Tastenkombination auf der Tastatur, *nach* deren Drücken die folgenden Tastendrücke zusammengefasst werden, um ein nicht in der Tastaturbelegung vorhandenes Zeichen zu erzeugen. Das neue Zeichen ergibt sich üblicherweise durch eine relativ intuitive Überlagerung der Ursprungssymbole oder -buchstaben, z. B. entsteht aus a und e ein æ. Diese Funktion dürfte vor allem Unix/Linux-Nutzern bekannt sein. 

**Unter Neo** wird Compose durch die **Tastenkombination M3+Tab** erreicht und oft **durch das Symbol ♫ abgekürzt**.  Die zuvor erwähnte Compose-Kombination (Coko) lässt sich also darstellen als ♫ae → æ.

??? example "Beispiele"
    Mod3, dann …  

    | Taste 1 | Taste 2 | Ergebnis|
    | :---: | :---: | ---: |
    | " | a | ä | Umlaut/Trema|
    | ^ | 7 | ⁷ | hochgestellte Zahl|
    | a | e | æ | Ligatur|
    | , | c | ç | Buchstabe mit Akzent (Cédille)|
    | s | s | ß | Eszett|
    | t | h | þ | Buchstabe Thorn|
    | < | < | « | Anführungszeichen (Guillemets)|
    | + | - | ± | Plus-Minus-Zeichen|
    | % | o | ‰ | Promille-Zeichen|


## Installation
### Linux

Eine kurze Installationsanleitung befindet sich unter [Neo einrichten/Linux](Linux.md#installation-der-compose-dateien).

Die Änderungen werden sofort wirksam, allerdings nur für Programme, die nach dem Ändern der Compose gestartet wurden. Nach dem nächsten Anmelden sind jedoch überall die neuen Kombinationen möglich.


### Windows
Unter Windows ist die Compose-Funktion bereits in die Treiber integriert. [NeoVars](neovars.md) enthält sogar einige [zusätzliche Cokos](neovars.md#compose-und-weitere-funktionen), die nur unter diesem Treiber verfügbar sind.

[kbdneo](kbdneo.md) unterstützt nur eine Teilmenge der Compose-Referenz, insbesondere nur die Cokos mit bis zu drei Buchstaben im »Schlüssel«.

### Andere Betriebssysteme
Unter anderen Treibern konnte die Compose-Funktionalität leider bisher noch nicht umgesetzt werden.


## Erzeugbare Zeichen mit den toten Tasten

|Taste|Ebene| |Aa|Bb|Cc|Dd|Ee|Ff|Gg|Hh|Ii|Jj|Kk|Ll|Mm|Nn|Oo|Pp|Qq|Rr|Ss|Tt|Uu|Vv|Ww|Xx|Yy|Zz|
| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| __T1__  |1   |ˆ|Ââ|  |Ĉĉ|  |Êê|  |Ĝĝ|Ĥĥ|Îî|Ĵĵ|  |  |  |  |Ôô|  |  |  |Ŝŝ|  |Ûû|  |Ŵŵ|  |Ŷŷ|Ẑẑ|
|     |2   |ˇ|Ǎǎ|  |Čč|Ďď|Ěě|  |Ǧǧ|Ȟȟ|Ǐǐ| ǰ|Ǩǩ|Ľľ|  |Ňň|Ǒǒ|  |  |Řř|Šš|Ťť|Ǔǔ|  |  |  |  |Žž|
|     |3   |↻| ɐ|  |Ɔɔ|  | ɘ|  |  | ɥ|  |  |  |  | ɯ|  |  |  |  |ʁɹ|Ƨ |  |  |Ʌʌ| ʍ|  |ʎ |  |
|     |4   |˙|Ȧȧ|Ḃḃ|Ċċ|Ḋḋ|Ėė|Ḟḟ|Ġġ|Ḣḣ|İı|  |  |Ŀŀ|Ṁṁ|Ṅṅ|Ȯȯ|Ṗṗ|  |Ṙṙ|Ṡṡ|Ṫṫ|  |  |Ẇẇ|Ẋẋ|Ẏẏ|Żż|
|     |5   |˞|  |Ɓɓ|Ƈƈ|Ɗɗ|  |Ƒƒ|Ɠɠ| ɦ|Ɩɩ| ʝ|Ƙƙ| ɬ|Ɱɱ|Ŋŋ|Ơơ|Ƥƥ|  |Ɽɽ|­ ʂ|Ƭƭ|Ưư| ⱱ|Ⱳⱳ|Ɣɣ|Ƴƴ| ʐ|
|     |6   |.|Ạạ|Ḅḅ|  |Ḍḍ|Ẹẹ|  |Ġġ|Ḥḥ|Ịị|  |Ḳḳ|Ḷḷ|Ṃṃ|Ṇṇ|Ọọ|  |  |Ṛṛ|Ṣṣ|Ṭṭ|Ụụ|Ṿṿ|Ẉẉ|  |Ỵỵ|Ẓẓ|
| __T2__  |1   |\`|Àà|  |  |  |Èè|  |  |  |Ìì|  |  |  |  |Ǹǹ|Òò|  |  |  |  |  |Ùù|  |Ẁẁ|  |Ỳỳ|  |
|     |2   |¸|Ąą|  |Çç|Ḑḑ|Ęę|  |Ģģ|Ḩḩ|Įį|  |Ķķ|Ļļ|  |Ņņ|Ǫǫ|  |  |Ŗŗ|Şş|Ţţ|Ųų|  |  |  |  |  |
|     |3   |˚|Åå|  | ɕ|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |Ůů|  |ẘ |  |ẙ | ʑ|
|     |4   |¨|Ää|  |  |  |Ëë|  |  |  |Ïï|  |  |  |  |  |Öö|  |  |  |  |  |Üü|  |Ẅẅ|Ẍẍ|Ÿÿ| |
|     |5   |῾|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
|     |6   |¯|Āā|Ḇḇ|  |Ḏḏ|Ēē|  |Ḡḡ| ẖ|Īī|  |Ḵḵ|Ḻḻ|  |Ṉṉ|Ōō|  |  |Ṟṟ|  |Ṯṯ|Ūū|  |  |  |Ȳȳ|Ẕẕ|
| __T3__  |1   |´|Áá|  |Ćć|  |Éé|  |Ǵǵ|  |Íí|  |Ḱḱ|Ĺĺ|Ḿḿ|Ńń|Óó|Ṕṕ|  |Ŕŕ|Śś|  |Úú|  |Ẃẃ| |Ýý|Źź|
|     |2   |˜|Ãã|  |  |  |Ẽẽ|  |  |  |Ĩĩ|  |  |  |  |Ññ|Õõ|  |  |  |  |  |Ũũ|Ṽṽ|  |  |Ỹỹ|  |
|     |3   |/|  | ƀ|  |Đđ|  |  |Ǥǥ|Ħħ|Ɨɨ|ɟɟ|  |Łł|  |  |Øø|  |  |  |  |Ŧŧ|Ʉʉ|  |  |  |  |Ƶƶ|
|     |4   |˝|  |  |  |  |  |  |  |  |  |  |  |  |  |  |Őő|  |  |  |  |  |Űű|  |  |  |  |  |
|     |5   |᾿|Ảả|  |  |  |Ẻẻ|  |  |  |Ỉỉ|  |  |  |  |  |Ỏỏ|  |  |  |  |  |Ủủ|  |  |  |Ỷỷ|  |
|     |6   |˘|Ăă|  |  |  |Ĕĕ|  |Ğğ|Ḫḫ|Ĭĭ|  |  |  |  |  |Ŏŏ|  |  |  |  |  |Ŭŭ|  |  |  | |  |

Mit ↻ und Doppelakut ˝ lässt sich außerdem der Doppelgravis erzeugen:

|Taste|Aa|Bb|Cc|Dd|Ee|Ff|Gg|Hh|Ii|Jj|Kk|Ll|Mm|Nn|Oo|Pp|Qq|Rr|Ss|Tt|Uu|Vv|Ww|Xx|Yy|Zz|
| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
|˵|Ȁȁ|  |  |  |Ȅȅ|  |  |  |Ȉȉ|  |  |  |  |  |Ȍȍ|  |  |Ȑȑ|  |  |Ȕȕ|  |  |  |  |  |


Hier noch die griechischen Zeichen:

|Taste|Ebene| |Αα|Ββ|Γγ|Δδ|Εε|Ζζ|Ηη|Θϑ|Ιι|Κϰ|Λλ|Μμ|Νν|Ξξ|Οο|Ππ|Ρρ|Σσ|Ττ|Υυ|Φφ|Χχ|Ψψ|Ωω|
| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| __T1__  |5   |˞|  |  |  |  |  |  |  |  |  |ϗϏ|  |  |  |  |  |  |  |  |­ |ϒ |  |  |  |  |
| __T2__ |1   |\`|Ὰὰ|  |  |  |Ὲὲ|  |Ὴὴ|  |Ὶὶ|  |  |  |  |  |Ὸὸ|  |  |  |  |Ὺὺ|  |  |  |Ὼὼ|
|     |2   |¸|ᾼᾳ|  |  |  |  |  |ῌῃ|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |ῼῳ|
|     |4   |¨|  |  |  |  |  |  |  |  |Ϊϊ|  |  |  |  |  |  |  |  |  |  |Ϋϋ|  |  |  |  |
|     |5   |῾|Ἁἁ|  |  |  |Ἑἑ|  |Ἡἡ|  |Ἱἱ|  |  |  |  |  |Ὁὁ|  | ῥ|  |  | ὑ|  |  |  |Ὡὡ|
|     |6   |¯|Ᾱᾱ|  |  |  |  |  |  |  |Ῑῑ|  |  |  |  |  |  |  |  |  |  |Ῡῡ|  |  |  |  |
| __T3__ |1   |´|Άά|  |  |  |Έέ|  |Ήή|  |Ίί|  |  |  |  |  |Όό|  |  |  |  |Ύύ|  |  |  |Ώώ|
|     |2   |˜| ᾶ|  |  |  |  |  |  |  | ῖ|  |  |  |  |  |  |  |  |  |  | ῦ|  |  |  | ῶ|
|     |5   |᾿|Ἀἀ|  |  |  |Ἐἐ|  |Ἠἠ|  |Ἰἰ|  |  |  |  |  |Ὀὀ|  | ῤ|  |  | ὐ|  |  |  |Ὠὠ|
|     |6   |˘|Ᾰᾰ|  |  |  |  |  |  |  |Ῐῐ|  |  |  |  |  |  |  |  |  |  |Ῠῠ|  |  |  |  |

## Erzeugbare Zeichen mit Compose
Hier soll eine Übersicht von allen über Compose erzeugbaren Zeichen entstehen.
Bislang sind diese direkt in den Dateien im Ordner [Compose/src](https://git.neo-layout.org/neo/neo-layout/src/branch/master/Compose/src) nachzulesen. Diese Dateien enthalten die Informationen für *beide* Funktionen: Tote Tasten *und* Compose. Zum Zusammenkopieren der einzelnen Module gibt es ein Makefile sowie eine GUI ([siehe hier](https://git.neo-layout.org/neo/neo-layout/src/branch/master/Compose/)).

=== "en_US.UTF-8"
    Diese Datei enthält die unter Linux üblichen Kombinationen und dient dem Neo-Projekt als Grundlage. In einer Linux-Installation liegt sie unter `/usr/share/X11/locale/en_US.UTF-8/Compose`. Eine Kopie (etwa für Windows-Nutzer) findet sich im Repository als [en_US.UTF-8](https://git.neo-layout.org/neo/neo-layout/raw/branch/master/Compose/src/en_US.UTF-8); im Internet gibt es die [stets aktuellste Originaldatei](https://gitlab.freedesktop.org/xorg/lib/libx11/-/blob/master/nls/en_US.UTF-8/Compose.pre).

=== "XCompose"
    Die en_US.UTF-8 wird durch Neo-eigene Ergänzungen von Tastenkombinationen für die Compose-Taste bzw. tote Tasten erweitert, die zusammengefügt als [XCompose](https://neo-layout.org/download/XCompose) abgelegt sind.
    
    Die Neo-Cokos enthalten hauptsächlich zusätzliche Kombinationen: Römische Zahlen, Arabische Zahlen, Ligaturen, Mathematische Zeichen, Brüche, sowie die Definitionen für das Verhalten der Toten Tasten. Einzelne Cokos wurden jedoch auch umdefiniert (welche?). Grundsätzlich sollen jedoch keine Kombinationen der en_US.UTF-8 überschrieben werden, um die Abwärtskompatibilität zur Linux-Compose-Funktion zu wahren.

=== "en_US_min.module"
    In der Datei [en_US_min.module](https://git.neo-layout.org/neo/neo-layout/raw/branch/master/Compose/contrib/en_US_min.module) befindet sich eine Liste essentieller Compose-Kombinationen: genauer gesagt alle Cokos, die nicht irgendwie arabisch, kyrillisch, weißrussisch, koreanisch, japanisch, chinesisch oder einer anderen nicht-europäischen Sprache behaftig sind. Auf diese Weise reduziert sich die Dateigröße um mehr als die Hälfte. Diese Liste kann etwa als Basis für die Implementierung von Compose unter Nicht-Linux-Betriebssystemen genutzt werden; sie ist allerdings nur eine Teilmenge der Compose-Referenz und sollte nicht mit ihr verwechselt werden!

=== "Zusätzliche Ziffern / Zahlzeichen"
    `klingon.module` und `roman.module` enthalten umfangreiche Sammlungen klingonischer und römischer Zahlen.  
    Diese können – wenn gewünscht – zusätzlich installiert werden. Ist die eingegebene Zahl nicht vierstellig, muss die Eingabe jeweils mit einem \<space\> terminiert werden (dies ist notwendig, um die Eindeutigkeit der Cokos zu erreichen).  
    
    [Römische Zahlen](https://git.neo-layout.org/neo/neo-layout/raw/branch/master/Compose/src/roman.module) Klein (Unicode): !r1-!r3999, Groß (Unicode): R1-R3999
    
    [Klingonische Zahlen](https://git.neo-layout.org/neo/neo-layout/raw/branch/master/Compose/src/klingon.module) ASCII-Umschrift: k0-k3999, pIqaD (Private Use Area of Unicode): K0-3999

    ??? example "Beispiele"
        ♫R8␣ → ⅤⅠⅠⅠ  
        ♫R1999 → ⅯⅭⅯⅩⅭⅠⅩ  
        ♫r1999 → ⅿⅽⅿⅹⅽⅰⅹ  
        ♫k1999 → wa'SaD Hutvatlh HutmaH Hut (Klingonisch)  
        ♫K1999 →  (Klingonisch: Piqad script)

## Unterstützte Zeichen diverser Sprachen

| **Sprache**                        | **Erreichbarkeit des Zeichensatzes**   |
| :--- | :--- |
| Albanisch                          | tote Tasten genügen                    |
| Estnisch                           | tote Tasten genügen                    |
| Französisch                        | mit toten Tasten und Compose           |
| [Griechisch](Griechisch.md)        | mit toten Tasten und Compose[^2]       |
| [IPA](IPA-mit-Neo.md) (International Phonetic Alphabet) | mit toten Tasten und Compose, eingeschränkt[^5] |
| Isländisch                         | mit toten Tasten und Compose[^1]       |
| Italienisch                        | tote Tasten genügen                    |
| Katalanisch                        | tote Tasten genügen                    |
| Kroatisch                          | tote Tasten genügen[^1]                |
| kyrillisch                         | nein[^4]                               |
| Lettisch                           | tote Tasten genügen                    |
| Litauisch                          | tote Tasten genügen                    |
| Maltekisch                         | tote Tasten genügen                    |
| Norwegisch                         | mit toten Tasten und Compose           |
| Pinyin (Chinesische Transkription) | tote Tasten genügen                    |
| Polnisch                           | tote Tasten genügen                    |
| Portugiesisch                      | tote Tasten genügen                    |
| Rumänisch                          | tote Tasten genügen                    |
| Russisch (Transkription)           | tote Tasten genügen                    |
| Slowakisch                         | tote Tasten genügen                    |
| Slowenisch                         | tote Tasten genügen                    |
| Spanisch                           | tote Tasten genügen                    |
| Tschechisch                        | tote Tasten genügen                    |
| Türkisch                           | tote Tasten genügen                    |
| Ungarisch                          | tote Tasten genügen                    |
| Vietnamesisch                      | tote Tasten genügen[^3]                |
| Pannigerianisches Alphabet         | mit toten Tasten und Compose           |
| Afrika-Alphabet/Referenzalphabet   | mit toten Tasten und Compose           |

Das sieht ziemlich gut aus und erfüllt unser Ziel, die wichtigen Sprachen mit 
lateinischer Schrift zu ermöglichen. Wenn Compose (♫) benötigt wird, liegt 
dies in der Regel an Ligaturen wie æ oder œ.

[^1]: Das isländische Eth (ð/Ð) wird mit ♫dh/♫DH erzeugt. Unter Windows ist ð auch mit T3(1),d erreichbar.
Das kroatische/serbische/… D mit Querstrich (Đ/đ) wird mit dem toten Querstrich (auf Mod3+Akut) + d/D oder über Compose (♫-D und ♫/D) erzeugt. 

[^2]: Umständliche Composekombinationen für griechische Großbuchstaben, z.B. ♫gA.

[^3]: außer den lateinischen Buchstaben gibt es Ð und đ sowie die Vokale ăâêôơư. Inklusive der fünf Tonzeichen (`´˜.?) ergibt sich daraus: áàảãạ ăắằẳẵặ âấầẩẫậ éèẻẽẹ êếềểễệ íìỉĩị óòỏõọ ôốồổỗộ ơớờởỡợ úùủũụ ưứừửữự ýỳỷỹỵ.)

[^4]: Es gibt einen inoffiziellen Kyrillisch-Modus, siehe [Sprachen mit Neo](Sprachen-mit-Neo.md#kyrillisch-mit-neo)

[^5]: Es fehlen lediglich U+0319 COMBINING RIGHT TACK BELOW, U+0318 COMBINING LEFT TACK BELOW und evtl. U+0334 COMBINING TILDE OVERLAY.


## Darstellung von Tastenkombinationen
Für die Darstellung der Compose-Funktion wird häufig das Notensymbol ♫ benutzt; es kann durch »Mod3+(zweimal Tab)« (somit gilt: ♫=♫♫) erzeugt werden.

Für die Darstellung der toten Tasten gibt es zwei Möglichkeiten: Wird nach einer toten Taste ein normales (␣) Leerzeichen eingegeben, erhält man eine normal große Darstellung des Zeichens; wird hingegen ein geschütztes Leerzeichen (⍽) eingegeben, erhält man die untote Variante, die der toten optisch am nächsten kommt. Zum direkten Vergleich:
  
  - T1(1)+␣ → `^`
  - T1(1)+⍽ → `ˆ` (wie in â).

## Empfohlene Schriftarten
Oftmals ist auf dem benutzten Betriebssystem (Windows wie Linux) in der Grundinstallation keine Schrift installiert, die alle hier gezeigten Unicodezeichen beinhaltet. In diesem Fall sollten [geeignete Schriftarten](/Typografie/fonts) installiert werden.

Zudem kann es eventuell helfen, die Datei in einem anderen Editor oder Browser darzustellen, der die in der aktuellen Schrift nicht vorhandene Zeichen durch eine andere Schrift (in der sie vorhanden sind) automatisch ersetzen kann.
