> Könnte man nicht theoretisch einen Treiber auf niedrigerem Niveau (in C)
> schreiben, der ganz hardwarenah die verschiedenen Signale der Tastatur
> nach Belieben umtauscht?

Bestimmt.  Etwas auf einem niedrigen Niveau zu machen gibt einem zwar
viel Macht in die Hand, hat aber auch Nachteile: geringene Portabilität
(was auf Linux geht hilft mir auf NetBSD wahrscheinlich nicht),
schwierigere Konfiguration, schwerwiegendere Folgen von Bugs, mehr
Rechte zur Installation.

> Gibt es etwas Ähnliches in Linux (unter X meine ich)? So Zahlencodes,
> meine ich? Kann man sie manipulieren oder im Sinne einer Umtauschtabelle
> verändern?

Die keycodes in xmodmap sind solche Zahlencodes.  Eine Zahl bezeichnet
sowohl eine Taste als auch eine Zeile in der Belegungstabelle.
Normalerweise genügt es, die Zahl zu lassen wie sie ist, und nur die
Belegungstabelle zu ändern; das normale xmodmap-Procedere.

Mit XKB kann man auch den Zahlencode selbst manipulieren.  Zum einen
gibt es zwei so genannte Overlays.  Damit man kann jeder Taste (also
jedem Zahlencode) zwei andere Tasten zuordnen.  Ist das jeweilige
Overlay aktiv werden die Zahlencodes entsprechend ausgetauscht.  Zum
anderen gibt es so genannte Redirect-Actions.  Eine Redirect-Action ist
im Grunde eine Tastenbelegung und kann nicht nur pro Taste, sondern auch
pro Ebene spezifiziert werden.  Statt einfach ein Symbol zu erzeugen
wird aber zuerst der Zahlcode ausgetauscht (und allenfalls die
Modifikatoren verändert).  Symbole werden dann mit dem neuen Zahlencode
aus der Belegungstabelle ausgelesen.

Overlays sind zum Beispiel geeignet, einen Zahlenblock im
Haupttastenfeld einzublenden (mit Vor- und Nachteilen gegenüber der
Neo-Lösung mit Ebenen).  Mit Redirect-Actions könnte man zum Beispiel
Control-C irgendwo auf Ebene 4 legen.

Andreas

Antwort per Email an