Version 15 (modified by Martin, 15 years ago) ( diff )

weniger Werbedeutsch

Treiber-Know-How

Auf dieser Seite sollen Interna der Treiberentwicklung festgehalten werden. Mit welchen Programmen lassen sich die Treiber bearbeiten, welche Möglichkeiten sind schon getestet worden, was kann in der Zukunft noch probiert werden?

Auch Sackgassen sollten dokumentiert werden, damit nicht die nächsten wieder reinlaufen!

Natürlich kann diese Seite auch denjenigen helfen, die sich ihre Treiber individuell anpassen wollen. Dafür gibt es wohl vor allem zwei Gründe:

  • spezielle Bedürfnisse, die in der allgemeinen Referenz nicht berücksichtigt werden können (siehe dazu auch Varianten)
  • spezielle Hardware, die Anpassungen nötig macht

Windows

Unter Windows gibt es verschiedene Ansätze, das Tastaturlayout zu ändern. Erstmal die veralteten/nicht verwendeten:

  • MSKLC: Dieser ergibt ein „echtes“ Tastaturlayout, ermöglicht jedoch nur die ersten drei Ebenen. Wurde für Neo1 verwendet, inzwischen jedoch vom DDK (siehe dort) abgelöst.
  • KbdEdit: Ein vielversprechendes Programm zur Erstellung von Tastaturlayouts. Doch da nicht nur die Entwicklerversion Geld kostet, sondern auch das fertige Layout nur mit dem kostenpflichtigen Player verwendet werden kann, kommt es für Neo leider nicht in Frage.

Infos zur Einrichtung der Treiber unter Windows

DDK

Das Driver Development Kit wird momentan für die Entwicklung des kbdneo-Treibers verwendet. M4 ist über den japanischen Kana-Modifier möglich.

AHK

Autohotkey bildet die Grundlage für neo-vars. Die Skriptsprache ermöglicht die komplette Umsetzung der Referenz (und noch mehr...), die Skripte sowie fertig kompilierte exe-Dateien lassen sich ohne Administratorrechte ausführen. Ist aber kein echtes Tastaturlayout, sondern fängt Tastendrucke ab und wandelt diese um, was zu eigenen Problemen führt. Bisher wurden zwei Treiber auf dieser Basis entwickelt:

  • Der traditionelle AHK: Dieser Treiber sollte nicht mehr verwendet werden. Für Entwickler steht er zu Testzwecken aber auch weiterhin im SVN zur Verfügung.
  • Der NeoVars: Dies ist eine Neuimplementierung, die auch aktiv weiterentwickelt wird. Es gibt ausführliche Hinweise für Nutzer wie Entwickler.

Linux

Hier ist die Einrichtung von Neo unter Linux beschrieben.

Die Linux-„Treiber“ sind reine Textdateien, lassen sich also mit dem Editor bearbeiten. Interessant sind also vor allem Probleme, die beim Bearbeiten aufgetaucht sind.

Falls Linux mit einer Mac-Tastatur betrieben werden soll (adb, z.B. Installation auf einem iBook), gibt es wohl Probleme, CapsLock umzubelegen. Dazu ist ein Patch (macintosh-mangle-caps-lock-events-on-adb-keyboards.patch) notwendig, der einen Eintrag /proc/sys/dev/adbhid/mangle_caps_lock_events hinzufügt (siehe dazu hier und hier). Dieser Patch befand sich auch eine Weile im ­mm Zweig des Kernels, ist aber inzwischen wieder rausgeflogen.

Xmodmap

Zur Info die allgemeine Man-Page zur Xmodmap, sowie eine deutsche Seite aus dem Ubuntu-Wiki.

Xkbmap

Drei Ressourcen, die beim Entwickeln von xkb helfen können:

Mac OS

Hier gibt’s die allgemeinen Infos zur Einrichtung von Neo auf einem Mac.

Eventuelle Alternativen zum neo.keylayout:

  • Wird ein X-Server installiert, sollte sich auch eine Xmodmap laden lassen. Ohne Anpassung der Xmodmap ergibt das aber die Fehlermeldung: „xmodmap: ./neo_de.xmodmap:88: bad keysym in remove modifier list. 'ISO_Level3_Shift', no corresponding keycodes“. D.h. wohl, dass der keycode von Alt/Option anders ist als der von AltGr?
  • Vielleicht wird es irgendwann auch eine Dotnet-Implementierung für AHK geben, dann könnte man auch den AHK-Treiber am Mac benutzen (die Meldung dazu).

neo.keylayout

Es ist nicht schwierig, die Datei neo.keylayout zu bearbeiten, da Apple sich hier für das Mensch- wie Maschinenlesbare XML-Format entschieden hat.

  • code gibt die Nummer der Taste an, durch deren Drücken man das dahinter geschriebene Zeichen erhält.
  • Nach Tasten mit action wartet der Computer auf eine zweite Eingabe.
  • Welches Zeichen man durch die Kombinationen erhält, kann man am Ende der Datei unter actions definieren.
  • Weitere Infos gibt’s in einer Technical Note.

Ukelele ist ein sehr guter Keyboardlayouteditor für Mac, sowohl was Handhabung als auch Dokumentation angeht. Dies ist komfortabler, als die XML-Datei mit einem normalen Texteditor zu bearbeiten.

Modifier: Neo verwendet die „Alt-/Optionstaste“ als M3, also ist Ebene 3 mit „Alt/Option“, Ebene 5 mit „Alt/Option“+„Shift“ erreichbar. In den Systemeinstellungen verbirgt sich unter „Tastatur & Maus“ das „Sondertasten-Menü“. Dort können CapsLock, Ctrl, Alt/Option/Wahltaste und Apfel/Befehlstaste neu belegt werden. # und < lassen sich dort jedoch nicht als Modifier belegen, sie tun unter Neo also gar nichts. Und da auch keine zusätzlichen Modifier erstellt werden können, lassen sich Ebene 4 und 6 (noch?) nicht erreichen. Deshalb ist es wohl am sinnvollsten, Capslock zu einer zweiten „Alt/Option“-Taste zu ändern, um zweimal M3 zur Verfügung zu haben. Eventuell kann es auch sinnvoll sein, die Apfel-Taste intern mit der Alt-Taste zu vertauschen, um M3 (rechts) besser erreichen zu können.

Im Zusammenhang mit der Umbelegung CapsLock → M3 wurden mal die Programme fKeys oder uControl genannt, die jedoch beide nicht mehr weiterentwickelt werden. Weiterentwickelt wird dagegen DoubleCommand, vielleicht lässt sich damit M4 realisieren? 2 Ideen dazu:

  • Vielleicht lässt sich neben Alt/Option auch die Kombination Option+Ctrl belegen (analog zu AltGr)? Das müsste dann noch auf einer Taste lokalisiert werden...
  • Oder strenges Trennen zwischen OptionLinks und OptionRechts, das eine wird zu M3, das andere zu M4.

Symtrion hat sich eine Zeit lang mit dem Thema »Neo und Mac« auseinandergesetzt und dazu hier eine Menge Informationen gesammelt. Allerdings scheint da nicht mehr viel übrig zu sein.


Neo einrichten

Zur Hauptseite

Note: See TracWiki for help on using the wiki.