Version 2 (modified by 15 years ago) ( diff ) | ,
---|
Neo-Projekt: Maschinenlesbare Referenz (neo_yaml)
Mitwirkende
Martin Roppelt (m.p.roppelt ἢτ web in Deutschland)
Ressourcen
- [?? https://svn.neo-layout.org/grafik/xml-vorschlag/@200]
- http://www.eigenheimstrasse.de/~ben/layoutgen/layoutgen/
- [?? svn://svn.tuxfamily.org/svnroot/dvorak/svn/pilotes/trunk/configGenerator/]
- http://pyyaml.org/
E-Mails
07/07
[neo_layout] Autohotkey und ein paar Ideen07/07
[neo_layout] neo.xml11-12/08
[neo] Referenz als XML für automatische Layout-Generierung01/09
Maschinenlesbare Referenz
Funktionsweise
Menschenlesbare Referenz, Unicode-Hex-Ansicht ⇔ Maschinenlesbare Referenz ⇔ Treiber, Grafiken
Um einen Treiber usw. zu erzeugen, wird ein View benötigt, der die zur Darstellung zusätzlich benötigten Daten enthält. Dieser kann auch aus den bereits bestehenden Treibern erstellt werden. Wenn man also an der Neo-Belegung etwas ändert, kann man so alle Treiber synchronisieren. So lassen sich auch rasch aus Belegungen Neo-3-Treiber und Forks erstellen.
Zieldateien
- XkbMap
- XModMap ⇒ Konsolen-Map, Tastenaufkleber
- KbdNeo
- AHK, Bildschirmtastatur/SVGs
- Mac-Treiber
- Aufsteller, Tabellen
- KTouch-Lektion
Aufbau der Referenzdateien
Model-Datei
Eine Modeldatei enthält je eine Liste mit den Tastaturreihen für das Haupttastenfeld und den Ziffernblock. Jede dieser dieser Listeneinträge enthält wiederum eine Liste der Zeichen der Ebenen für jede Taste in dieser Reihe. Ist die Taste eine Sondertaste (Modifier, Akzenttasten, Leertaste, Tabulator oder Return) dann ist diese Liste leer. !(Wörterbuch)
!!(index, hex)
View-Datei
Die Viewdatei enthält (momentan) 3 Listen:
- In der ersten Liste sind die Beschriftungen der Sondertasten. Sie ist entsprechend der Modeldatei aufgebaut.
- In der zweiten die Steuerung (muss noch ausgearbeitet werden).
- In der dritten sind die erläuternden Texte, die zwischen den Tastenfeldern stehen.
Projektstatus
Zur Zeit entwickele ich einen Parser für die Referenz (parse_neo.py).
Danach möchte ich ein Skript für die Erstellung der neo20.txt aus der maschinenlesbaren Referenz schreiben (make_neo.py).
Dann soll ein Skript zur Umwandlung des Models in xkbmap (make_xkb.py), xmodmap (make_mod.py), ahk (make_ahk.py) und kbdneo (make_kbd.py) folgen, unter Berücksichtigung der verwendeten Tastatur (Qwertz, deutsch-schweizer Tastatur, Qwerty, Plum, Kbdneo) mittels .layout-Dateien.
Danach nehme ich die Erzeugung der svgs und ods’ und zudem einen Layout-Editor in Angriff.
Ausblick
Was dann auch nicht schaden kann ist ein plattform-übergreifendes Installationsskript.
Kann auch gut mit einem Layout-Erzeugungs-Programm zusammenarbeiten, das Statistiken auswertet und eine unterschiedliche Gewichtung von Paradigmen und Tastenplätzen vornimmt.
Abriss der Projektdateien
- neo_import.py: Interpretation der yaml- und .layout-Dateien.
- {make, parse}_{neo, ahk, kbd, mac, mod, xkb, grub, svg, ods}.py: Erzeugung und Zerlegung von Treibern und Grafiken.
- edit_neo.py: z. B. nur 1. und 2. Ebene verschieben.