Danke für diesen aufklärenden Hinweis. Damit ist wohl endlich Ticket 46, Teil 4 (https://wiki.neo-layout.org/ticket/46#X.org4) geklärt.

Fehlt in diesem Massenfehlerticket nur noch http://wiki.neo-layout.org/ticket/46#GnomeGTK1

Werde auf Deine Mails in der FAQ verweisen. Ich glaube man braucht dazu keinen Wiki-Artikel, denn hier und in Deiner kürzlich geschriebenen Mail steht alles drin.

Grüße,
Erik

wettstein...@solnet.ch schrieb am 11.05.2009 21:49:
Bei den Schwierigkeiten mit xterm und «ähnlichen» Programmen neige ich
jetzt zu der Ansicht, dass deren Verhalten de jure korrekt ist.  Die
Erklärung wird lang, aber wer mit dem Gedanken spielt, Bug-Reports für
xterm und Co. zu schreiben möge trotzdem weiterlesen.

Meine Hypothese ist, dass das, was diese Programme ähnlich macht, das X
Toolkit (Xt) ist.  xterm, xdm, xfig, ddd, xpdf: alle linken Xt.  Und
zumindest xterm, xdm und xfig benutzen Xt-Mechanismen, um Events
(insbesondere Tastendrücke) mit Aktionen zu verbinden.  Das zeigt sich
daran, wie diese Programme die Zuordnung per Xresources spezifizieren.

Der Syntax für die Spezifikation ist im Anhang B von «X Toolkit
Intrinsics - C Language Interface» (siehe etwa
http://lesstif.sourceforge.net/doc/super-ux/g1ae03e/part1/contents.html)
beschrieben.  Dort findet sich folgender Absatz:

  If a colon (:) is specified at the beginning of the modifier list, it
  directs the Intrinsics to apply any standard modifiers in the event to
  map the event keycode into a KeySym. The default standard modifiers
  are Shift and Lock, with the interpretation as defined in X Window
  System Protocol, Section 5. The resulting KeySym must exactly match
  the specified KeySym, and the nonstandard modifiers in the event must
  match the modifier list. For example, ":<Key>a" is distinct from
  ":<Key>A", and ":Shift<Key>A" is distinct from ":<Key>A".

Ich verstehe nicht alles, aber im wesentlichen sagt es mir: Man muss
einen Doppelpunkt davorschreiben, nur dann ist sichergestellt, dass die
Aktion mit dem eingegebenen Symbol (statt mit den Tasten, die dieses
Symbol auf irgendeiner Ebene enthalten) in Verbindung gebracht wird.

In der Praxis bedeutet das für xterm, dass man die Voreinstellung gemäß
man-page

          Shift <KeyPress> Prior:scroll-back(1,halfpage) \n\
           Shift <KeyPress> Next:scroll-forw(1,halfpage) \n\
         Shift <KeyPress> Select:select-cursor-start() \
                                 select-cursor-end(SELECT, CUT_BUFFER0) \n\
         Shift <KeyPress> Insert:insert-selection(SELECT, CUT_BUFFER0) \n\
            <KeyPress> XF86Paste:insert-selection(SELECT, CUT_BUFFER0) \n\
             <KeyPress> SunPaste:insert-selection(SELECT, CUT_BUFFER0) \n\
    Shift~Ctrl <KeyPress> KP_Add:larger-vt-font() \n\
    Shift Ctrl <KeyPress> KP_Add:smaller-vt-font() \n\
    Shift <KeyPress> KP_Subtract:smaller-vt-font() \n\
    …

in den Xresources ändern kann zu:

XTerm*VT100.translations: \
          :Shift <KeyPress> Prior:scroll-back(1,halfpage) \n\
          : Shift <KeyPress> Next:scroll-forw(1,halfpage) \n\
         :Shift <KeyPress> Select:select-cursor-start() \
                                 select-cursor-end(SELECT, CUT_BUFFER0) \n\
         :Shift <KeyPress> Insert:insert-selection(SELECT, CUT_BUFFER0) \n\
            :<KeyPress> XF86Paste:insert-selection(SELECT, CUT_BUFFER0) \n\
             :<KeyPress> SunPaste:insert-selection(SELECT, CUT_BUFFER0) \n\
    :Shift~Ctrl <KeyPress> KP_Add:larger-vt-font() \n\
    :Shift Ctrl <KeyPress> KP_Add:smaller-vt-font() \n\
    :Shift <KeyPress> KP_Subtract:smaller-vt-font() \n\
    …

und damit sowohl Neo als auch die altgewohnten Belegungen funktionieren.

Und es bedeutet, dass xterm korrekt arbeitet, wenn auch mit neophoben
Voreinstellungen.

Ich vermute, dass man auch anderen Programmen so beikommt: Bringe die
XResourcen in Erfahrung (man-page, einschlägige Verzeichnisse, appres)
und überschreibe sie mit solchen, die Doppelpunkte vor störenden
Belegungen haben.

Andreas


--
GPG-Schlüssel-ID: 0x036B38E6
Fingerabdruck: F057 EEEB F0F5 9144 D95C BD98 B822 138F 036B 38E6

Außerdem kann man per Jabber mit mir reden (chatten):
Jabber-ID: wick...@jabber.org
Off-The-Record: DEBD08C2 95E7C8CE 901EC136 E39A1E43 4FC13142

Attachment: signature.asc
Description: OpenPGP digital signature

Antwort per Email an