Re: Euro-Symbol ?

Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

From: Christian Weisgerber (naddy_at_mips.rhein-neckar.de)
Date: 29. May 1999


Andreas Fiesser <fiesser_at_rumms.uni-mannheim.de> wrote:

[ X11 ]
> Wie kriegt man es gebacken, daß die Tastenkombi AltGr+e den ASCII-Code
> 128 auslöst ?

Die kurze Antwort ist vermutlich: keysym e = e E 0x80

Mit was ist AltGr bei dir belegt? Es gibt da je nach X-Server-
Konfiguration mehrere Möglichkeiten. Soweit ich das verstehe, war AltGr
auf MF2-Tastaturen von IBM dazu gedacht, eine zusätzliche Belegungsebene
für nationale Tastaturen zu schaffen. So werden, glaube ich, auf
deutschen Tastaturen Kombinationen mit AltGr benutzt, um auf '{', '[',
'@', etc. zuzugreifen. Eine entsprechende Funktion bei X11 erfüllt
<Mode_switch>. Ich nehme an, wenn schon eine deutsche Belegung
eingestellt ist, dass dann auch AltGr mit <Mode_switch> belegt ist,
andernfalls muss man das noch einstellen, womit natürlich die bisher
darauf gelegene Funktion verloren geht.

Mit xmodmap(1) kann man die (Shift-)Mode_switch-Ebene als dritte
(vierte) Spalte bei keycode/ keysym-Zuweisungen belegen.

BTW, um die Belegung einer Taste unter X11 zu ermitteln, startet man
xev(1), gibt dessen Fenster den Fokus, und tippt auf die fragliche
Taste. Auf dem TTY, von dem es gestartet wurde, protokolliert xev die
Events, die es vom Server geschickt bekommt. Aus den KeyPress/
KeyRelease-Events geht auch die Belegung einer Taste hervor. Das xev
wird man nur mit einem harten "Kill" (typischerweise im Menü des
Windowmanagers) wieder los, da es alle anderen Events ja protokolliert.
;-)

ASCII definiert übrigens nur die Codepositionen 0 bis 127, so dass es
einen "ASCII-Code 128" nicht gibt. An dieser Stelle möchte ich noch
einmal Jukka Korpelas "A Tutorial on Character Code Issues"
<URL:http://www.hut.fi/~jkorpela/chars.html> empfehlen.

Die Frage, mit welcher Tastenkombination man ein Zeichen mit einer
bestimmten Codeposition erzeugt, macht im X11-Tastaturmodell keinen
Sinn. Tasten erzeugen Keysyms, symbolische Repräsentationen von Zeichen.
(Eine Liste findet sich in <X11/keysymdef.h>) Es ist Sache der
Applikation, in was für eine interne Darstellung sie ein Keysym
überführt, und welcher Zeichenrepertoires an welchen Codepositionen sie
sich beim Datenaustausch bedient. D.h., du solltest "keysym e = e E
EuroSign" belegen können, und das Programm, wenn es denn mit einem
Eurozeichen etwas anfangen kann, kümmert sich um den Rest. Soweit die
Theorie. Probier das ruhig mal aus.

In der Praxis sind die Keysyms der Zeichen, die sich im Repertoire von
ISO 8859-1 finden, zufällig so implementiert, dass man daraus trivial
die ISO-Codeposition ableiten kann. Vermutlich erstreckt sich auch der
Horizont der meisten X-Applikationen nicht viel weiter als diese
primitive numerische Gleichheit. Nun gibt es allerdings kein Keysym, das
mit der Codeposition 0x80 (128) verbunden wäre, was daran liegt, dass
die diversen ISO-Standards zu Zeichensätzen (8859, 2022, usw.), den
Bereich 0x80..0x9F explizit für Terminalsteuerzeichen aussparen. Man
kann aber, wie ich das oben vorgeschlagen habe, ein undefiniertes Keysym
numerisch angeben. Es besteht eine gewisse Wahrscheinlichkeit, dass eine
Applikation das einfach zu Codeposition 0x80 umsetzt. xterm(1) tut das.

> Was für einen Namen hat der Tastencode, den man in der ~/.Xmodemap
> eintragen muß, um den gewünschten Effekt zu erzeugen ?
>
> Oder geht das noch woanders ?

~/.Xmodmap ist eigentlich überhaupt keine automatisch ausgewertete
Konfigurationsdatei, offenbar steckt da irgendwo ein "xmodmap
$HOME/.Xmodmap" im .xsession o.ä. Das ist nur halb so clever, wie es auf
den ersten Blick erscheint. In einer heterogenen Umgebung merkt man
nämlich schnell, dass man eine displayspezifische Tastaturkonfiguration
braucht. An der Uni fängt mein .xsession mit "case $DISPLAY in ..." an.

Seit X11R6 oder so gibt es eine XKEYBOARD-Erweiterung, die eine mächtige
Konfiguration der Tastaturbelegung für den Server ermöglicht. Bei
XFree86 kann man da allerlei in /etc/XF86Config einstellen. Wahrschein-
lich kann man damit auch die von dir gewünschte Konfiguration irgendwie
vorgeben. Falls du Dokumentation zu diesem xkb-Kram findest, lass es
mich wissen...

-- 
Christian "naddy" Weisgerber                  naddy_at_mips.rhein-neckar.de
    carpe librum: books 'n' reviews <URL:http://www.carpe.com/buch/>


Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

Dieses Archiv wurde generiert von hypermail 2.1.2 : 11. Mar 2002 CET