>== Auszüge aus der Nachricht von  wettstein509 vom 2012-04-06 11:01:
> > Ich habe Schwierigkeiten mit Neo (Xmodmap auf Linux) und Stumpwm (tiling
> > window manager für X) -- wie sie schon Mitte 2010 von Eric Wolf
> > berichtet wurden. 
> 
> "Schwierigkeiten" ist für eine Problembeschreibung etwas vage...
hatte ja gehofft, jemand hätte schon mal eine Lösung gefunden...

> 
> Leider kann ich kaum Lisp, aber diese Funktion in input.list scheint mir
> verdächtig:
> 
>   (defun keycode->character (code mods)
>     (let ((idx (if (member :shift mods) 1 0)))
>       (xlib:keysym->character *display* (xlib:keycode->keysym *display* code 
> idx) 0)))
> 
> Sieht so aus, als ob alle Modifier ausser Shift weggeworfen würden.
> Die Minimalvariante für xkbmap mit 3 Ebenen stelle ich mir so vor:
> 
>     (let ((idx (if (member :shift mods) 1 (if (member :mod5 mods) 2 0))))
> 
> Allgemeiner müsste man die Menge in mods in einen state überführen, mit
> dem xlib:keysym->character etwas anfangen kann.
> 
> Die Funktion is-modifier ist schon vom Interface her fehlerhaft: Unter
> Xlib bestimmt die keysym, was ein Modifier ist und was nicht, hier wird
> aber mit dem keycode gearbeitet.
> 
> Bei dem Zeugs, was sich mit Modifiern zu befassen scheint sehe ich
> nirgends etwas, was Gruppenumschaltung betrifft.  Das wäre für xmodmap
> fatal, denn Ebene 3 ist mit Gruppenumschaltung gemacht (keysym
> Mode_switch).
> 
> Aber um wirklich nachzuverfolgen, was hier als Modifier und als
> Konsequenz daraus wie behandelt wird sind meine Lisp-Kenntnisse zu
> schwach.  Da du vermutlich Lisp besser verstehst als ich solltest du dir
> input.lisp genauer anschauen.  Ich vermute hier starken
> Verbesserungsbedarf.  keysyms.lisp sollte man auch mal wieder
> nachführen.

Vielen Dank für die Anregungen -- Da ich lisp über Stumpwm kennengelernt
habe, reichen meine Lispkenntnisse bisher nur aus, um die
Konfigurationsdateien zu schreiben. Aber man lernt ja beim Tun, und wenn
man in die richtige Richtung sucht...
> 
> Andreas

Antwort per Email an