> Über diese Möglichkeit hatte ich heute auch kurz nachgedacht -

Ich habe auch noch mal drüber nachgedacht.  Ich habe wieder mal das
eigentliche Problem übersehen: Wenn man flüssig tippt, kommt es oft vor,
dass man eine Taste anschlägt bevor man die vorherige loslässt.  Eine
Leertaste mit Nebenberuf Shift würde viele ungewollte Grossbuchstaben
erzeugen.  Aus dem Grund bin ich auch weitgehend von meinem Vorschlag
mit Modifikatoren als toten Tasten abgekommen (ein alter Vorschlag,
https://lists.neo-layout.org/pipermail/diskussion/2010-February/015959.html),
auch wenn ich ihn für einen ganz speziellen Zweck nutze.

> Man könnte vielleicht die Key-Down/Ups unverändert ans System
> weiterreichen und Character-Messages produzieren, die so bei einem
> klassischen Treiber nicht von den Tastendrücken stammen können
> (z.B. eben kein Leerzeichen produzieren obwohl es Key Down und Up für
> die Leertaste gegeben hat). Aber auch das bringt Probleme mit sich, da
> man die Shift Taste nicht einzeln drücken könnte. Kombinationen wie
> Shift+Space würden auch problematisch.

Das klingt nach Eingabemethode.  Unter X leiten Anwendungen Tastenevents
an diese weiter, und die Eingabemethode kann die Tastenevents filtern
(dann ignoriert die Anwendung sie) oder durchlassen, und ausserdem
Strings mit erzeugten Zeichen an die Anwendung zurückliefern.  Die
Eingabemethode könnte also Space abfangen (und von den folgenden
Eingaben abhängig machen, was für einen String die Anwendung sehen soll)
und Shift-Space durchlassen.

Andreas

Antwort per Email an