Hallo, Am Dienstag, den 01.12.2009, 00:06 +0100 schrieb Alexander Koch: > Mit dieser Begründung möchte ich in Anlehnung meine E-Mail vom 2009-10-27 > „Neo > verallgemeinern“ folgende Projektgliederung motivieren: > • Das Neo 3 Grundmodul: Hier werden in allgemeinem Rahmen Zusammenhänge > zwischen Zeichen unterschiedlicher Ebene spezifiziert, z.B. aAα∀ auf der > gleichen Taste liegen, etc. Diese Festlegungen sollten weitestgehend > sprachunabhängig sein und legen z.B. die Position der Grundbuchstaben nicht > fest. (siehe besagte Mail.) Ich finde, einer Verallgemeinerung sollte eine Modularisierung vorausgehen. D.h. in einem ersten Schritt sollten die Ebenen 5 und 6 als optionale Module definiert werden, die auch durch andere Module (z.B. Griechisch klein&groß auf den Ebenen 6 und 7, Ebene 5 frei für noch zu entwerfende Mathe/Noten/…-Module) ersetzt werden könnten. Standard wäre dabei immer noch der Neo2-Status quo. So ein Modul-Neo2 könnte man als Neo 2.1 nehmen.
Für Neo 3 geht man dann weiter und definiert alle Ebenen (auch 1-4) modular. Dabei gibt es zwei Typen: Solche, bei denen die Zeichen von der Belegung der ersten Ebene abhängen (z.B. Griechisch und Kyrillisch) und solche, bei denen die Positionen fest vorgegeben sind (wie bei der 3. Ebene). Ein Problem sind Ebenen, bei denen es eine Mischung gibt: So richten sich einige Tasten der Griechisch-Ebene eben doch nach der Position (damit z.B. φ und ϕ nebeneinander liegen); sinnvoller wäre es, diesen anderen Zeichen (wie φ) feste Buchstaben zuzuordnen, z.B. φ→f, ρ→q usw. Oder man schreibt deren Position nicht fest vor, dann kann man aber die Module nicht mehr hübsch nach dem Bausteinsystem zusammensetzen – sie müssten erst gesondert an die erste Ebene angepasst werden. Auch an anderen Stellen müsste man Neo 2 verändern, um eine Modularisierung sauber durchführen zu können. Dazu gehört, dass die Zeichen ſ, ¿ und ¡ von den Ebenen 3 bzw. 4 runterkommen, wo sie thematisch nicht hingehören, so dass diese Ebenen unabhängig von den anderen funktionieren. Z.B. sollte es in einem modularisierten Neo möglich sein, eine Tastatur mit 4 Ebenen zu haben: 1.+2. Ebene Qwertz 3. Ebene wie jetzt 4. Ebene (Shift+Mod3) eine noch zu entwerfende Mathe-Ebene Und trotzdem sollte man ¿¡ schreiben können, ohne dass man die Navi-Ebene eingebunden hat. Klar, man könnte sie auf die Mathe-Ebene packen, diese sollte aber eigentlich davon unabhängig sein, ob man wegen fehlender Naviebene noch ¿¡ braucht. Sowas alles sauber zu definieren, ist ziemlich schwer und passt deshalb auch nicht zu einem Neo 2.1. Wenn man die Verallgemeinerung vor der Modularisierung macht, hat das zur Folge, dass man eine sehr flexible Referenz bekommt (so wie du sie vorgeschlagen hast) und dann für jede Neo-Variante (Neo-Englisch, Neo-Qwertz usw.) eine eigene Referenz schreiben muss, die auch die oberen Ebenen genau festlegt. Neue Module wären dann nur noch für einzelne Neo-Varianten möglich; das ganze wäre ein Kompatibilitätschaos. Wenn man eine saubere Modularisierung hinbekommt, müsste man hingegen für Neo-Englisch nur noch die erste Ebene festlegen, der Rest würde einfach folgen. Wenn man dann im Treiber das Griechisch-Modul auf die 5. Ebene packt, würde er automatisch die griechischen Buchstaben entsprechend der ersten Ebene anordnen – ohne dass man zuerst ein Griechisch-auf-Englisch-Modul spezifizieren muss. WENN wir sowas hinbekommen, der Treiber wäre jedenfalls hochkompliziert. Also kurz gesagt: In einem verallgemeinerten Neo lassen sich Module schwerer einführen (weil man zwischenzeitlich entstandene Neo-Varianten dann auf den Modulebenen wieder vereinheitlichen müsste), während man ein modularisiertes Neo leicht verallgemeinern kann. Hat das jetzt irgendeiner verstanden? Ich nicht. ;-) > • Das Neo 3 DE-Modul: Hier werden die auf die deutsche Sprache optimierten > Grundbuchstabenpositionen festgelegt, äöüß definiert, etc. und wichtige > Anpassungen an das aus dem Grundmodul dann automatischen Anordnung ergebenen > Layout, spezifiziert, damit am Ende das Optimum für die Sprache rauskommt, > wobei gleichzeitig versucht wird, unnötige Umstellungen gegenüber dem > Grundmodul (die zum unnötigen Umlernen beim Sprachen-Umstellen führen würden) > zu vermeiden. In einem modularisierten Neo sollte Neo-3-de wirklich nur die ersten zwei Ebenen festlegen. Was mit der Ziffernreihe wird, ist ein etwas eigenes Thema – vielleicht sollten es dafür unabhängige Module geben, keine Ahnung. > • Das Neo 3 EN-Modul, … etc. Weitere Sprachen könnten von entsprechenden > Sprecher_innen zugefügt werden. Module wären dann einerseits Sprachen (d.h. Module für die 1. und 2. Ebene), andererseits Module für höhere Ebenen. Der einzige Unterschied wäre, dass letztere von der ersten Ebene abhängen könnten. > • Das Neo 3 Hardware-Modul: Ein Entwurf für optionale Hardwareanpassung, > damit > man beim Einsatz der entsprechenden Hardware die Vorteile von Neo mit > maximaler Ergonomie nutzen kann. Hier können alle dran rumschrauben, die Lust > haben, ohne den Rest von Neo 3 groß zu verändern. Die Hardware sollte, wie du schon schriebst, absolut unabhängig vom Layout sein – im Prinzip sollte man damit auch Qwertz angenehm schreiben können. Die Layouts müssen aber nicht von der Hardware unabhängig sein, d.h. es kann ruhig einen speziellen Treiber für die Neo-Tastatur geben, mit angepassten Layouts. > Dies würde auch zur Modularisierung der Tastatur etwas beitragen, d.h. dass > man in den Einstellungen wählen kann, ob man auf Ebene 5 Griechisch haben > will, oder z.B. analog zu > http://www.cen.eu/cenorm/sectors/sectors/isss/activity/ws+meek.asp bzw. zur > Europatastatur eine Ebene 5/6 mit häufigen Zeichen, die europaweit genormt > sind, z.B. a(E5) = ə, s(E5)=ß, z(E5) = ʒ, t(E5)=þ, o(E5)=œ, … legen kann. > Diese würden quasi im Grundmodul für alle Sprachlayouts spezifiziert. Hmm, ich bin gerade über unsere verschiedene Verwendung von „Modul“ verwirrt. Ich verstehe als Modul eine Festlegung einer (oder auch zweier) Ebenen, unabhängig von anderen Ebenen (mit Ausnahme der ersten). Du scheinst mit „Grundmodul“ eher eine abstrakte, sprachunabhängige Referenz zu meinen. Gruß, Peter
