[[PageOutline(2-4, Übersicht)]] = 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 * 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 ergiebt ein „echtes“ Tastaturlayout, ermöglicht jedoch nur die ersten drei Ebenen. Wurde für Neo1 verwendet, inzwischen jedoch vom [wiki:Treiber-Know-How#DDK 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. [http://wiki.neo-layout.org/wiki/Neo%20unter%20Windows%20einrichten Infos zur Einrichtung der Treiber unter Windows] === DDK === Das [http://www.microsoft.com/whdc/devtools/ddk/default.mspx Driver Development Kit] wird momentan für die Entwicklung des kbdneo-Treibers verwendet. M4 ist über den japanischen Kana-Modifier möglich. === AHK === [http://www.autohotkey.com/ 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. == Linux == 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 [http://hans.fugal.net/yodl/blosxom.cgi/mac/caps.html hier] und [http://lists.debian.org/debian-powerpc/2005/12/msg00214.html hier]). Dieser [http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/ Patch] befand sich auch eine Weile im ­mm Zweig des Kernels, ist aber inzwischen wieder rausgeflogen. === Xmodmap === === Xkbmap === == Mac OS == Hier gibt’s die allgemeinen Infos zur [http://wiki.neo-layout.org/wiki/Neo%20auf%20dem%20Apple%20Macintosh%20einrichten Einrichtung von Neo auf einem Mac]. Eventuelle Alternativen zum [wiki:Treiber-Know-How#neo.keylayout 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 ([http://www.autohotkey.com/forum/topic34421-30.html 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 [http://developer.apple.com/technotes/tn2002/tn2056.html Technical Note]. [http://scripts.sil.org/ukelele 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 4 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 5 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 [http://www.kodachi.com/software/fKeys/ fKeys] oder [http://gnufoo.org/ucontrol/ uControl] genannt, die jedoch beide nicht mehr weiterentwickelt werden. Vielleicht lässt sich damit M4 realisieren? Vielleicht lässt sich ja neben Alt/Option auch (analog zu AltGr) die Kombination Alt+Ctrl belegen? Müsste halt auf einer Taste lokalisiert werden können... ''Symtrion'' hat sich eine Zeit lang mit dem Thema »Neo und Mac« auseinandergesetzt und dazu eine Menge Informationen gesammelt. Sie können [http://symtrion.co.cc/neo/ hier] heruntergeladen werden und dokumentieren den aktuellen Stand im SVN. -------------- [wiki:WikiStart Zur Hauptseite]