Home Einführung in ACSpro Von NKCC nicht lieferbare Tastenkombinationen Stefan Bachert
   ACSpro
 Einführung in ACSpro

Dead-Key-Handling

ACSpro unterstützt ab Version 3.0.0 das sog. "Dead-Key-Handling". Bei diesen "toten Tasten" (So die wörtliche Übersetzung) handelt es sich um Zeichen, die mit einem zweiten Zeichen zu einem Sonderzeichen kombiniert werden könnten, z.B. ' mit e zu é. Da das Dead-Key-Handling über die NKCC-Bibliothek nicht möglich ist, wurde es komplett neu an zentraler Stelle in ACSpro implementiert und kann daher auch komplett durch den Entwickler gesteuert werden.

Wie funktionieren dies? Ganz einfach: nach Eingabe eines Dead-Keys geschieht gar nichts, der Tastendruck wird zunächst gepuffert und scheinbar ignoriert (Daher der Name "tote Zeichen"). Beim nächsten Zeichen wird dann versucht, das erste und das zweite Zeichen zu einem einzigen Zeichen zu kombinieren.

Intern läuft dabei folgendes ab:

  1. Wenn kein Dead-Key gepuffert ist, wird geprüft, ob ein Dead-Key eingegeben wurde. Ein Dead-Key stammt aus der Menge ^~'`¨"°,/ und muß freigeschaltet sein (s.u.).
  2. Falls kein Dead-Key eingegeben wurde oder dieser gesperrt sein sollte, so wird das Zeichen normal weitergereicht.
  3. Handelt es sich jedoch bei dem Zeichen um einen freigegebenen Dead-Key, so wird das Zeichen gepuffert und die Verarbeitung des Tastendruckes abgebrochen. ACSpro wartet nun auf den nächsten Tastendruck.
  4. Wenn bei einem Tastendruck ein Dead-Key gepuffert ist, so wird nachgeschlagen, ob für die vorliegende Kombination "Dead-Key plus das neu eingegebene Zeichen" eine Ersetzung hinterlegt ist. Wenn dies der Fall ist, wird das zuletzt eingegebene Zeichen durch das Ersatz-Zeichen ersetzt. Andernfalls wird zuerst der gepufferte Dead-Key und danach das zweite Zeichen in die normale Tastatur-Verarbeitung gespielt — als ob es keine Dead-Keys gäbe. Der Dead-Key-Puffer ist nach dieser Verarbeitung auf jeden Fall wieder leer.

Die Dead-Keys müssen individuell freigeschaltet werden. Hierzu werden in der neuen Variable ACSblk->ev_mkdead die Zeichen eingetragen, die die Anwendung als Dead-Keys betrachtet haben möchte (Wie in der ToDo-Liste vermerkt, wird dies als Erweiterung des GUI-Editor vorgesehen, bis dahin muß dies per Programm — z.B. in ACSinit0 — geschehen).

Folgende Ersetzungs-Varianten werden unterstützt:

Beschreibung Dead-Key Zweite Zeichen Ersetzung
Akzent Circumflex ^ + aeiou = âêîôû
Akzent Tilde ~ + nNaoAo = ñÑãõÃÕ
Akzent Akut ' + eEaiou = éÉáíóú
Akzent Gravis ` + aeiouA = àèìòùÀ
Akzent Umlaut ¨ + aeiouyAOU = äëïöüÿÄÖÜ
Akzent Umlaut " + aeiouyAOU = äëïöüÿÄÖÜ
Akzent Angström ° + aA = åÅ
Akzent Cedille , + cC = çÇ
kein Akzent / + oO24 = øؽ¼
(trotzdem nützlich)

Copyright © Martin Elsässer (E-Mailadressen)
Letzte Aktualisierung am 25. März 2008
Home Einführung in ACSpro Von NKCC nicht lieferbare Tastenkombinationen Stefan Bachert