[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Compose-Taste



Gerhard Gaußling <ggrubbish@web.de> writes:

>ich habe Compose jetzt mal von der "linken ALT" Taste auf die Menue 
>Taste gelegt. Jetzt klappt's. 

Damit verlierst Du leider die Menu-Taste.


>Ich werde die Compose Funktion wohl noch auf die rechte Windows Taste 
>Super_R legen,

Dadurch verlierst Du die Super_R-Taste.  Besser ist es, wenn Du die
Compose-Funktion (die Taste heisst Multi_key) auf die Tastenkombination
Shift-rechte_Windows_Taste legst, s.u.

>oder welche Programme nutzen diese Taste in ihrer Grundkonfiguration?

Keine Ahnung, aber in ihrer Grundkonfiguration ist die Kombination mit
Shift sicher noch frei.

Wenn Du einen Platz für die Compose-Taste (keysym "Multi_key") suchst,
auf dem sie keiner anderen Taste den Platz wegnimmt, dann würde ich Dir
empfehlen, sie auf die Shift-Funktion einer Modifier-Taste, z.B. auf
Shift-Super_R, zu legen.  Warum sie da am wenigsten stört?  Das hat
folgenden Grund:

(1.)

Wenn eine Modifier-Taste (z.B. Alt_L, Super_R, Meta_L) als
Modifier-Funktion verwendet werden soll, muss das dem X Server mitgeteilt
werden, indem man die Taste (z.B. mit dem Programm xmodmap) einem der
Modifiers mod1 bis mod5 zuordnet.

Die momentane Zuordnung lässt sich mit dem Kommando

   xmodmap -pm

erfragen.  Bei mir sieht sie z.B. so aus:

   % xmodmap -pm
   xmodmap:  up to 2 keys per modifier, (keycodes in parentheses):

   shift       Shift_L (0x32),  Shift_R (0x3e)
   lock        Caps_Lock (0x42)
   control     Control_L (0x25),  Control_R (0x6d)
   mod1        Meta_L (0x73),  Meta_R (0x74)
   mod2        Num_Lock (0x4d)
   mod3        Mode_switch (0x40),  Mode_switch (0x71)
   mod4        Scroll_Lock (0x4e)
   mod5        Alt_L (0x5e),  Alt_R (0x75)

In der ersten Spalte steht jeweils eines der Modifier "shift", "lock",
"control" und "mod1" bis "mod5", die die rechts davon aufgezählten Tasten
als Modifier definiert.  (Modifier-Tasten, die von einander unterschieden
werden sollen, dürfen nicht demselben Modifier zugeordnet werden, also
nicht in derselben Zeile stehen.  Es können daher bis zu 8
Modifier-Funktionen gleichzeitig genutzt werden.)  Obwohl hier key
symbols und in Klammern key codes dabei stehen, sind für die Aktivierung
der Modifier-Funktion (d.h. das Drücken etwa der Alt_L-Taste) die key
codes, nicht die key symbols, relevant.

Es wäre daher Unsinn, etwa auf die Alt_L-Taste als Zweitfunktion
(d.h. Kombination mit Shift) die Super_L-Taste zu legen:  Ein Programm,
das vom X Server die aktivierten (d.h. gedrückte Modifier-Tasten)
Modifier-Kombinationen erhält, hätte keine Möglichkeit, zu unterscheiden,
ob Du nun das Modifier Super_L oder das Modifier Alt_L meinst.

Es ist damit unmöglich, durch Betätigen von Shift-Alt_L-P (d.h. erst eine
Shift-Taste gedrückt zu halten, dann die Alt_L-Taste dazu zu drücken und
gedrückt zu halten und dann die P-Taste zu drücken) die Tastenkombination
Super_L-P auszulösen.  Es bliebe bei Shift-Alt_L-P.

Also:  Die Zweit-, Dritt- und Viert-Funktionen (d.h., mit shift,
Mode_switch ("Alt-Gr"), shift-Mode_switch) einer Modifier-Taste können
NICHT als Modifier genutzt werden.  Sie können aber als NORMALE,
d.h. Nicht-Modifier-Tasten, genutzt werden.

Und das nützt man aus:

(2.)

Die Multi_key-Taste ("Compose") ist im Gegensatz zu etwa Super_R keine
Modifier-Taste:  Man drückt sie und lässt sie los, damit sie ihre Wirkung
entfaltet.  Im Gegensatz dazu muss man Super_R gedrückt halten, während
man eine andere Taste drückt, damit sie ihre Wirkung entfaltet.

Du kannst also mit Hilfe von

   xmodmap -e keysym Super_R = Super_R Multi_key

die Multi_key-Taste auf die Obertastenfunktion der Super_R-Taste legen.

Wenn Du jetzt also z.B. ein ø tippen willst, hältst Du eine Shift-Taste
(z.B. die linke) gedrückt, tippst dazu die Super_R-Taste, lässt beide los
und tippst danach nacheinander die /- und die o-Taste, kurz:

   Shift-Super_R / o

.  Wenn Du ein Ø tippen willst, tippst Du entsprechend

   Shift-Super_R / Shift-o

.  Wenn Du Super_R-A tippen willst, drückst Du nacheinander folgende
Tasten und hältst sie gedrückt, bis Du alle gedrückt hast.  Dann lässt Du
sie gemeinsam los:

   Super_R-Shift-a

.  Die vertauschte Reihenfolge

   Shift-Super_R-a

funktioniert nicht, weil Shift-Super_R jetzt Multi_key (s.o.) bedeutet
und zusammen damit die Tastenfolge

   Multi_key a

entsteht.  Das scheint keinen Effekt zu haben.  Aber drücke mal noch ein
e danach.  Es entsteht eine a-e-Ligatur: æ.

Alles klar?  Wenn man also Modifer-Tasten auch noch mit Shift zusammen
als Nicht-Modifier-Taste nutzt, muss man mit der Drück-Reihenfolge sehr
aufpassen.  Ich finde, man fährt aber ganz gut damit, wenn man alle
Modifier-Tasten (shift, control, mod1 bis mod5) jeweils auf eine Taste
für die rechte und eine für die linke Hand legt:  Dann kann man mit einer
Hand die Modifier-Tasten-Kombination gedrückt halten und mit der anderen
Hand die gewünschte Taste dazudrücken, etwa:

Super_L mit dem linken Ringfinger gedrückt halten, dazu die linke
Shift-Taste mit dem linken Kleinen Finger gedrückt halten, dann mit dem
rechten Ringfinger ein o drücken, dann alle Tasten loslassen:

   Super_L-Shift(_L)-o

oder Super_R mit dem rechten Ringfinger gedrückt halten, dazu die rechte
Control-Taste mit dem rechten Kleinen Finger gedrückt halten, dann mit
dem linken Kleinen Finger ein a drücken, dann alle Tasten loslassen:

   Super_R-Control-a
-- 
Wenn Sie mir E-Mail schreiben, stellen |  When writing me e-mail, please
Sie bitte vor meine E-Mail-Adresse     |  precede my e-mail address with
meinen Vor- und Nachnamen, etwa so:    |  my full name, like
Helmut Waitzmann <xxx@example.net>, (Helmut Waitzmann) xxx@example.net



Reply to: