Re: [Neo] script: ref2svg
das meiste hat ja schon dennis in einem anderen mail beantwortet, deshalb antworte ich jetzt nur auf die fragen, die direkt mein script betreffen. 2010/4/4 Frank Stähr : >> aber passend zum osterwochenende hab ich jetzt endlich mal an >> einem skript gebastelt, welches eine svg-grafik von neo aus der >> referenz erzeugt. > > Dann ging’s noch weiter: Eine Datei – z. B. svg – enthält die Keycodes > und ein Programm ersetzt diese automatisch mit den tatsächlichen > Zeichen. Damit hat man also /ein/ Programm für /alle/ layoutabhängigen > Dateien, ob nun neo_de.xmodmap, ahk oder eben auch svg. find ich nicht gut, wenn svg die basis darstellt. dann lieber ein leicht parsbares textfile, csv, xml, json oder yaml. das eine einzige programm für alle treiberdateien, oder unterschiedlichen darstellungen wird nicht ganz so einfach. jeder treiber benötigt andere informationen (xkb: x-keycodes, xmodmap: das ursprüngliche zeichen, ahk: das ursprüngliche zeichen als scancode (?)) wie dennis in dem anderen mail bereits erwähnt hat, die idee gab's schon des öfteren, bis jetzt ist es aber an der umsetzung gescheitert – mein script ist primär für die erzeugung von schönen tastaturaufklebern gedacht, kann aber ruhig als erster schritt in die richtung betrachtet werden. > Habe mir dein Skript nicht genau angeschaut (kann kein Perl), aber > dieses ist doch sicherlich an die eine svg-Datei gebunden, oder? ich kann auch kein perl, war mein erstes (sinnvolles) skript in perl *g* und ney, das script ist standalone hängt also nur von perl und dem `XML::Writer`-modul ab (und wenn man es drauf anlegt, könnte man alles auf eine riesenmenge von print-statements umarbeiten …) richtig sauber hätte natürlich alles in eine klasse gebastelt gehört, welche ein interface implementiert, die implementierende klasse kann dann ausgetauscht werden um verschiedene darstellungen/treibertypen zu erzeugen. oder aber, es gibt seperate skripte, die alle auf den parser zugreifen, da dürfen sich softwarearchitekten dann streiten, welche die sinnvollere lösung für dieses problem ist :D folgende funktionien sind im moment vorhanden und können von interessierten jetzt schon auf andere darstellungen portiert werden (die namen dann eventuell von _svg befreien …): • `start_svg`: der prolog, für alle dateien gleich (doctype und ``-element für svg) • `end_svg`: der epilog, hier für svn einfach nur der schließende ``-tag • `create_defs`: ein weiterer prolog, hier werden globale definition generiert (stylesheet-informationen, rahmen für die tasten) • `create_keys`: ruft `create_key` auf • `parse_ref`: der kern des parsers, fischt sich aus neo20.txt ein zweidimensionales array mit den tasten heraus – wenn auch ein hässliches, weil nach ebenen und nicht nach tasten gruppiert, aber es hat funktioniert • `create_keys`: erzeugt eine einzelne taste, kümmert sich auch um die positionierung im svg, teile davon sollten `create_keys` verschoben werden lg, daniel -- typed with http://neo-layout.org myFtPhp -- visit http://myftphp.sf.net -- v. 0.4.7 released!
[Neo] Format der Referenz (was: Re: script: ref2svg)
Hallo allerseits, Frank Stähr ſchrieb am 04.04.2010 20:16 Uhr: In meiner Mail vom 10. Feb. 22:18 Uhr habe ich mich doch auch schon mit dieser Problematik befasst. Und auch das war nicht das erste Mal, dass die Idee einer besser zu parsenden Referenz (und dann darauf aufbauend die automatische Generierung von Grafiken und Treibern hieraus) vorgeschlagen wurde – schau’ bspw. einfach mal in das yaml-Verzeichnis im SVN. Bisher ist das immer an der Arbeit gescheitert, so ein Progamm zu schreiben, dass das auch tatsächlich alles kann, und für Neo 2 ist das jetzt ja auch nicht mehr notwendig – aber gerade in Hinsicht auf die Neo-3-Entwicklung (in deren Verlauf ja haufenweise neue Varianten und auszutestende Vorschläge zu erwarten sind) sollte dieses Thema wieder in Angriff genommen werden. Die Frage, die sich mir nun stellt, ist: War meine Idee bzw. die zugehörige Umsetzung einfach nicht gut Doch, sie ist gut (auch wenn Du sie nur ›wiedererfunden‹ hast) … oder ist sie hier auf der ML total untergegangen? Möglich, aber die Erfahrung lehrt eher: Gute, aber grundsätzliche Vorschläge verursachen oft weniger Erwiderungen als schlechte (die sofort Widerspruch provozieren) oder kleinere (die übersichtlicher und oft auch mit weniger Arbeit verbunden sind). Beides würde ich nicht sonderlich toll finden, in jedem Fall wäre aber meine Arbeit umsonst gewesen … Die Idee ist nicht schlecht und sollte meines Erachtens für Neo 3 auch umgesetzt werden, aber da liegt halt doch noch ein längerer Weg vor uns. Viele Grüße, Dennis-ſ
Re: [Neo] Nordtast und Neo in meinem Test-Script
> Sonderzeichen ignoriere ich, und Großbuchstaben werden zu > 0.5*(left_shift+key+right_shift+key), weil in der aktuellen Version beim > > Das Ergebnis sind bei Nordtast 1,8% Fingerwiederholungen; zumindest nach > meiner Berechnungsmethode. Ich komme mit Leipziger Korpus auf 0,86% Kollisionen und 16,62% Shift-Kollionen. Letztere beziehen sich nur auf Anzahl geshifterter Zeichen. Mit ca. 6,6% Großbuchstaben komme ich also total in denselben Bereich wie du. Ulf nimmt Shift-Kollisionen nicht mit. Andreas
Re: [Neo] script: ref2svg
Am Samstag, den 03.04.2010, 12:49 +0200 schrieb Knittl: > ps. wir sollten uns echt ein format fr die referenz berlegen, > welches einfacher zu parsen ist Knittl, bitte verstehe das nicht falsch, aber mal ganz fernab von dieser Arbeit: In meiner Mail vom 10. Feb. 22:18 Uhr habe ich mich doch auch schon mit dieser Problematik befasst. Meine Lösung war eine Datei „layout“, die etwa so aussieht: lnxkcd10 1 ° ¹ ª ₁ ¬ lnxkcd11 2 § ² º ₂ ∨ lnxkcd12 3 ℓ ³ № ₃ ∧ lnxkcd13 4 » › ⇞ ♀ ⊥ usw. Das erste ist ein layoutunabhängiger Keycode, dahinter kommen die sechs Zeichen der sechs Ebenen (hier also ein Teil der Zahlenreihe). In jedem Fall braucht man aber eine Referenz, die nicht allgemein parse-bar ist. Egal, was man sich ausdenkt, man findet immer irgendetwas an der Referenz, dass man doch in menschlichen Worten beschreiben muss (gewisse Tastenkombis etc.). > jetzt wo neo (2) fertig ist, machts natrlich nicht mehr ganz so viel > sinn Doch, doch, für die Zukunft schon wertvoll. > aber passend zum osterwochenende hab ich jetzt endlich mal an > einem skript gebastelt, welches eine svg-grafik von neo aus der > referenz erzeugt. Dann ging’s noch weiter: Eine Datei – z. B. svg – enthält die Keycodes und ein Programm ersetzt diese automatisch mit den tatsächlichen Zeichen. Damit hat man also /ein/ Programm für /alle/ layoutabhängigen Dateien, ob nun neo_de.xmodmap, ahk oder eben auch svg. Habe mir dein Skript nicht genau angeschaut (kann kein Perl), aber dieses ist doch sicherlich an die eine svg-Datei gebunden, oder? Die Frage, die sich mir nun stellt, ist: War meine Idee bzw. die zugehörige Umsetzung einfach nicht gut oder ist sie hier auf der ML total untergegangen? Beides würde ich nicht sonderlich toll finden, in jedem Fall wäre aber meine Arbeit umsonst gewesen … tschau Frank
Re: [Neo] neo-layout.org-Startseite ‚wikifizieren ‘ ?
Am 04.04.2010 12:22, schrieb Michael Kiesenhofer: > Zwei Sachen fallen auf: > * Der große Abstand vor dem Bild der Tastenbelegung weil es sich knapp >neben der Navigation nicht ausgeht bekannt, siehe vorige Mails. > * Der umgebrochene Befehl für’s svn. Wie wär’s mit geschützten >Leerzeichen? Nein! Das könnte bei Browsern, die mit Zeichensätzen jenseits von US-ASCII voll-kompatibel sind (also nicht: Mozilla, IE) zu Problemen führen, wenn mit Copy & Paste gearbeitet wird, da ich nicht sicher bin, ob der Befehl auch mit NBSP statt Leerzeichen funktioniert. Die korrekte Handhabung ist ein span-Element, das die Eigenschaft white-space:nowrap; bekommt. Allerdings kann das im Blocksatz sehr unschön aussehen. Ein IMHO vertretbarer Mittelweg wäre dem Befehl eine eigene Zeile zu geben, dann ist die Gefahr eines Umbruchs gering. Ich glaube aber, dass der Hinweis aufs SVN bei der Überarbeitung ganz rausfliegt. > Übrigens finde ich zwei Sachen inhaltlich nicht besonders gut: Wird (hoffentlich) überarbeitet ;) Gruß Florian signature.asc Description: OpenPGP digital signature
Re: [Neo] [ticket] #207: Variante für die Schw eiz
Am 03.04.2010 16:57, schrieb Carsten Ace Dahlmann: Am Fri, 02 Apr 2010 15:40:27 +0200 Übrigens braucht ihr euch keine Sorgen zu machen: wir Schweizer brauchen das ß höchstens für Fraktur-Schrift. Das mag ja für den Alltag gelten. Aber jeder Schweizer, der irgendetwas im wissenschaftlichen Sinne zitieren muss, muss beim Zitat auch mit ß zitieren. Das ist kein Grund, es relativ gut erreichbar auf der ersten Ebene zu haben.
Re: [Neo] neo-layout.org-Startseite ‚wikifizieren ‘ ?
Huhu Neolinge! Ein Bildschirmfoto wie das ganze bei mir mit 1024px Breite (Netbook) dargestellt wird: http://ubuntu-pics.de/bild/50454/neo_ergonomisches_tastaturlayout_1270374828457_9X3r2h.png Zwei Sachen fallen auf: * Der große Abstand vor dem Bild der Tastenbelegung weil es sich knapp neben der Navigation nicht ausgeht * Der umgebrochene Befehl für’s svn. Wie wär’s mit geschützten Leerzeichen? Übrigens finde ich zwei Sachen inhaltlich nicht besonders gut: * Die Aufzählung oben * »Optimierungen bezüglich deutscher Zweier- und Dreier-Zeichenfolgen (Ebene 1 und 2)« hört sich relativ verwirrend an. Warum nicht einfach »Optimierte Anordnung der Buchstaben für die deutsche Sprache«? * »Programmiertasten sind gut erreichbar« legt den Fokus auf Programmieren, was wohl nur für einen gewissen Prozentsatz der Bevölkerung interessant sein dürfte. Warum nicht »Klammern und andere Zeichen, die vor allem beim Programmieren oft gebraucht werden, sind gut erreichbar« * »Neue Zeichen, wie „ , ” , « , » , ∫ , √ , α , β , … sind direkt einzugeben (alle Ebenen)« inwiefern sind diese Zeichen neu? Außerdem könnte man die Anführungszeichen usw. mehr in’s Licht rücken. »Zeichen wie „ , ” , » , « , … können direkt eingegeben werden und ermöglichen so das typografisch korrekte Schreiben der deutschen Sprache. Außerdem werden Naturwissenschaftler über die direkte Eingabe von ∫ , √ , α , β etc. erfreut sein.« * »Navigation mittels Pfeiltasten und Ziffernblock direkt auf der Haupttastatur« beschreibt die Ebene 4 wohl besser. * „Die Neo-Tastaturbelegung zum Ausprobieren” was macht das „zum Ausprobieren” denn da? Schönen Sonntag! Michael