Home / LinuxUser / 2003 / 10 / The Answer Girl: Das Geheimnis der Compose-Taste

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 Punkte bei 4 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Die Freiheit, Akzente zu setzen

The Answer Girl: Das Geheimnis der Compose-Taste

Ereignis im X-Server

Diese Vermutung bestätigt der X-Event-Tester xev (Abbildung 1). Im X-Terminal, aus dem heraus er mit dem Kommando xev aufgerufen wurde, registriert er alle den X-Server betreffenden Ereignisse (Mausbewegungen, Tastendrücke, Fokuswechsel bei Fenstern u. ä.), die passieren, während der Mauszeiger im quadratischen xev-Fenster verweilt.

Abbildung 1 zeigt rot umrandet die beiden Ereignisse "Drücken" (KeyPress event) und "Loslassen" (KeyRelease event) der [AltGr]-Taste. Aus beiden Einträgen geht hervor, dass [AltGr] tatsächlich den Keycode 113 trägt.

Auch dass die linke Umschalttaste (Keycode 50) tatsächlich die Funktion einer [Shift]-Taste übernimmt, lässt sich so nachvollziehen. Dennoch sind wir auf der Suche nach der Taste, die die Compose-Funktionalität übernimmt, noch nicht besonders weit gekommen, denn xmodmap -pkgrep Compose gibt überhaupt keinen Treffer aus.

Zum Glück hilft hier man xmodmap aus der Patsche: Sucht man darin mit /Compose nach dem Stichwort Compose, gelangt man unweigerlich zur Zeile Multi-language key (sometimes labeled Compose Character). Das Compose-"Zeichen" ("character") heißt also auch "vielsprachige Taste", "multi-language key", abgekürzt Multi_key, wie die Manpage etwas später mitteilt.

Mit dieser Kurzbezeichnung bewaffnet macht es wenig Mühe, xmodmap -pk zu entlocken, dass die Taste mit dem Keycode 113 – also [AltGr] – mit [Shift] kombiniert werden will, um ihr die Compose-Funktion zu entlocken (Listing 2). Die Probe auf's Exempel – [Umschalt-AltGr][´][e] – resultiert tatsächlich in einem é, [Umschalt-AltGr][Umschalt-´][e] in è (in der Shell allerdings nur dann, wenn sie auch Umlaute ausgibt [2]).

Was aber ist die in Listing 2 aufgeführte Taste mit dem Keycode 116, die selbst – also als einzelner Tastendruck – als [Compose] wirken soll? Wer keine Lust hat, mit xev auf die langwierige Suche zu gehen, greift auf das (bei den meisten Distributionen nicht standardmäßig installierte) Programm xkeycaps [3] aus dem meist gleichnamigen Paket zurück.

Kasten 1: Caps_Lock zu Compose

Wenn der Distributor nicht freiwillig dafür sorgt, dass eine Einzeltaste (statt oder neben der fingerbrecherischen Kombination [Umschalt-AltGr]) die Aufgabe des [Compose]-Keys übernimmt, lässt sich das auf eigene Faust ändern. Im Idealfall überträgt man sie einer Taste, bei der es nicht auffällt, wenn sie ihre angestammte Funktion verliert – zum Beispiel dem ewigen Ärgernis [CapsLock].

Die nötigen Funktionsänderungen trägt man in eine Datei im Home-Verzeichnis (etwa .xmodmaprc) ein, die xmodmap als Argument mit auf den Weg bekommt. Damit sie beim Start von X oder beim grafischen Login wirksam werden, fügt man den Befehl xmodmap .xmodmaprc vor dem Aufruf des Window-Managers oder KDE/GNOME-Startskripts in die persönliche Startdatei für das X-Window-System (traditionell ~/.xinitrc bei Verwendung der startx-Methode, ~/.xsession bei grafischem Login) ein. Wenn die Distribution von sich aus für den passenden xmodmap-Aufruf sorgt, braucht man sich um Letzteres nicht kümmern: SuSE pflegt automatisch alle Änderungen an der Tastaturbelegung ein, die die Benutzerin in ~/.Xmodmap ablegt. Als da wären:

remove Lock      = Caps_Lock
keysym Caps_Lock = Multi_key

Die zweite Zeile weist der [CapsLock]-Taste die [Compose]-Funktion zu. Alternativ ermittelt man ihren Keycode (66) und schreibt

keycode 66 = Multi_key

(Vorteil der keysym-Methode: Sie funktioniert nicht nur auf PCs, sondern auch auf anderen Plattformen, auf denen der [CapsLock]-Key einen anderen Keycode hat.) Belässt man es bei einer dieser beiden Zeilen, fungiert die Taste zwar als [Compose], behält aber weiterhin ihre störende Funktion des Toggelns zwischen Groß- und Kleinschreibung bei. Das erkennt man nicht nur am praktischen Ausprobieren, sondern auch daran, dass der Befehl xmodmap ohne weitere Argumente die neue [Multi_key]-Taste weiterhin als

lock     Multi_key (0x42)

…, also als Sperrtaste ("to lock" – sperren) listet. (0x42 ist deren Keycode in Hexadezimalschreibweise: 4*16^1+2*16^0=66.) Deshalb sorgt remove Lock = Caps_Lock am Anfang der von xmodmap zu lesenden Datei dafür, dass die (dann noch mit der Caps_Lock-Funktion behaftete) Taste aus dem Pool der Sperrtasten entfernt wird.

Mit grafischer Unterstützung

Per xkeycaps & gestartet, ist dieses grafische Tool zwar alles andere als ein Musterbeispiel benutzerfreundlicher GUI-Programmierung (Abbildung 2), hat aber den Vorteil, dass man einfach nur mit der Maus über die stilisierte Taste fahren muss, um im oberen Teil des Fensters den Keycode und die Belegung (KeySym) zu erfahren.

Dazu gilt es zunächst, die eigene Tastatur im Select Keyboard-Dialog korrekt auszuwählen: Auf gängige, "schnörkellose" Tastaturen mit Windows-Tasten passt etwa die Beschreibung als PC-Tastatur 105 key, wide Delete, tall Enter (105 Tasten, breite [Backspace]- und hohe [Enter]-Taste), deutsches Tastatur-Layout (XFree86; German); die mittlere Maustaste erlaubt das Scrollen mit Hilfe der grauen "Rollbalken". Abbildung 2 verrät dann, dass der ominöse Keycode 116 auf die rechte [Windows]-Taste passt. [Windows (rechts)][´][e] ergibt bei vielen Distributionen daher ebenfalls ein é (nicht jedoch zum Beispiel unter Red Hat, wo der Keycode 116 einem anderen Zeichen zugeordnet ist).

Abbildung 2: Die Tastenbelegung übersichtlich aufbereitet in xkeycaps

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 69 Punkte (1 Stimme)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...