Neo-Projekt: Maschinenlesbare Referenz (neo_yaml)

Mitwirkende

Martin Roppelt (m.p.roppelt ἢτ web in Deutschland)

Ressourcen

E-Mails

  • 07/07 [neo_layout] Autohotkey und ein paar Ideen
  • 07/07 [neo_layout] neo.xml
  • 11-12/08 [neo] Referenz als XML für automatische Layout-Generierung
  • 01/09 Maschinenlesbare Referenz

Funktionsweise

Text-Grafik-Referenz ⇔ Editierbare maschinenlesbare Referenz (model) ⇔ Treiber, Grafiken ⇔ Darstellungsinformationen (view)

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.

Zur Hauptseite

Last modified 13 years ago Last modified on 26/02/09 05:28:11
Note: See TracWiki for help on using the wiki.