Am 25.07.2011, 11:50 Uhr, schrieb Andreas Köpf <andreas.ko...@provisio.com>:

Ich persönlich fände eine 'original Neo-Lösung' mit einem State-Machine Filtertreiber schöner als aktuell die Integration (Verwurstung) des externen AHK-Tools.

Hm allerdings ist der Unterschied auch nicht so groß. Statt dem AHK hat man eben einen Treiber laufen. Damit das gut bedienbar ist, braucht man wohl sowieso noch ein Programm im User-Space. Die Lösung bietet im Wesentlichen den Vorteil, dass man so ziemlich jedes Programm austricksen kann, indem man ein Qwertz-Layout vorgaukelt, wo keines ist.

Allerdings müsste sich eine neue Lösung reibungslos mit mehreren
installierten Layouts vertragen. Ich könnte mir vorstellen, dass es
ein Problem ist aus dem Filter-Treiber mitzubekommen welches Layout
derzeit aktiv ist, oder gibt es da Möglichkeiten?

Ich weiß es nicht genau (bin noch Anfänger was Treiberprogrammierung angeht), bezweifle es aber. Der Treiber liegt vermutlich zu weit unten.

Ein Dienst könnte natürlich dem Treiber IOCTL Nachrichten über Layout-
Wechsel schicken, aber dies wäre dann genauso umständlich wie mit dem
AHK.

Ich vermute mal das wäre die einzige Möglichkeit. Ich hatte mir sowieso überlegt, ob man ein kleines Hilfsprogramm schreiben kann, mit dem man schnell verschiedene Kompatibilitätseinstellungen durchschalten kann (ausgeschaltet, Neo-Layout + Ebene 4, angepasstes Layout + so viel wie möglich über den Treiber, etc.).

Ich fände es gut an dem Thema dranzubleiben. Ein Programm mit UI, das die State-Machine reprogrammieren könnte ohne permanent mitlaufen zu müssen, wäre eine klasse Sache (Speicherung der State-Machine Konfiguration in den Registry-Settings des Filter-Treibers sollte kein Problem sein).

Im Moment setzt sich der Treiber bei jedem Start auf ein 1:1-Mapping zurück. Das über die Registry zu speichern sollte aber möglich sein.

Noch besser wäre natürlich ein voll konfigurierbares Zusammenspiel
zwischen Layout- und Filter-Treiber, so dass per UI die Möglichkeit
geboten würde die gesamte Tastaturbelegung von Neo zu
konfigurieren/modifizieren.

Es wäre schon cool, wenn man das per GUI schnell und bequem anpassen könnte (wobei das beim AHK theoretisch auch machbar wäre). Der Filter-Treiber sollte so etwas auch können. Das gilt allerdings nur, solange die gewünschten Zeichen bereits im gewählten Layout vorhanden sind und solange es nicht zu kompliziert wird (längere Tastenfolgen – wie bei Compose – gut zu erkennen dürfte schwierig sein).

Ich habe mir allerdings den Aufbau von Layout-Treibern noch nicht genau
angesehen .. also insbesondere ob es sich bei den Layouts nur um
Daten-Tabellen handelt oder ob da auch Code ausgeführt werden kann (um
z.B. dynamisch Änderungen am Layout vornehmen zu können).

Reine Datentabellen. Das ist ja gerade das Problem ;).

Gruß,
Olaf

Antwort per Email an