Re: [Neo] [NEO] Hardware: Anzahl der Tasten (was: Re: Neo-Hardware-Entwicklung)
Hallo Miche, vielen Dank für Deinen Vorschlag! Michael Ostermeier writes: Peter Eberhard schrieb am 06.03.2010 um 07:24:14 Uhr: http://www.abload.de/img/20100305-neohardwareenopkn.png Gerade baue ich einen Prototypen (basierend auf dem obigen Hardwareentwurf). Dieser erste Prototyp soll mit MX-Tastenmodulen mit ergonomischer Betätigungscharakteristik, unterschiedlich hohen Tastenkappen in Qwertz- Belegung, sowie einem nicht programmierbaren Keyboard Encoder mit PS/2-Stecker aus einer ausgedienten Tastatur ausgestattet werden. Folglich werden nicht alle Neo2-Möglichkeiten funktionieren. Zum Erfassen von ersten Eindrücken genügt der erste Prototyp allemal. Mit ihm soll die Anordnung (nicht die Belegung) der Daumentasten optimiert werden. Vielleicht willst Du Dir mal meine Überlegung zur Anzahl der Tasten ansehen. Ich komme mit weniger Tasten aus als Du (5 pro Daumen). Ein Vergleich zwischen Standard und meinem Vorschlag ist: http://miche.host4free.de/vgl.png. Ich finde, mein Vorschlag ersetzt (bis auf den Nummernblock) die komplette Standardtastatur. Mit nur 61 Tasten. Ich hoffe, es geht niemandem was ab. Mein Ziel war, möglichst wenige Tasten zu verwenden. Die Minimierung der Tastenzahl stellt meiner Meinung nach nur ein Teil des anzustrebenden Ziels dar. Lieber möchte ich die Anzahl der Tasten maximieren, wobei auf die hinreichend gute Erreichbarkeit der Tastenanordnung aus der Grundstellung heraus geachtet wird. Daraus ergibt sich die Anzahl der Tasten von selbst. Ein paar Tasten am Rand sollen dahingehend als gerade noch vertretbar gelten - auch zwei Daumentasten -, um sie mit selteneren Zeichen oder Funktionen zu belegen. Um herauszufinden, welche Tastenanordnungen einen Konsens finden, soll der von mehreren Personen ausprobiert und bewertet werden, was gut ist und was verbessert werden soll. Ich halte es sinnvoller, mehrere Meinungen zu einem Prototypen zu erhalten, als viele Einzelmeinugen zu verschiedenen Prototypen - schließlich wird eine Hardware als Ergebnis angestrebt, nicht mehrere. Allerdings benötigt dieser Vorschlag mehr als einen Standard-Encoder. Der Standard-Encoder wird nur so lange eingebaut, bis eine endgültige Tastenanordnung geklärt bzw. entschieden ist. Dazu bedarf es anfangs noch keinen selber umprogrammierbaren Encoder. Jede Tastatur, die mit deutlich weniger als 105 Tasten auskommt, kann letztendlich nicht mit einem Standard- Encoder in vollem Umfang betrieben werden. Vorgesehen ist der selber programmierbare Encoder SK5101 von Sprintek (3 Stück bekam ich zugesandt): http://www.sprintek.com/products/SK5100.aspx Zu einem späteren Zeitpunkt möchte ich mich damit befassen. Die Tastatur soll bei betätigter Mod4 nämlich dann den Scancode von Enter statt Mod4+P senden. Damit wäre auch das Bios bedienbar. Ein Anpassen des Neo-Treibers wäre auch nicht notwendig, da eine Standardtastatur über die Firmware emuliert werden soll. So in etwa sehe ich es ebenfalls vor. Ich habe in dem Vorschlag die Tasten F1 … F4 als Hardware eingeplant. Und zwar, weil … Ich habe keine gute Erklärung. Außer vielleicht, dass die Fn-Ebene dann auf Buchstabentasten ausgeweitet werden müsste. Dazu wäre die F4-Position an einer zu schlecht greifbaren Stelle platziert. Hingegen ist für den rechten Zeigefinger an der vermutlich gerade noch gut genug vertretbaren Stelle zwischen den LEDs namens Mod4 und Fn keine Taste vorgesehen. Dann lieber zwei Funktionstasten auf die andere Hand legen und zwei LEDs in dem Bereich anordnen, wo F4 vorgeschlagen ist. Ich weiß nicht, ob das dann bei Magic-SysRq¹ Probleme geben könnte. Vielleicht sollte man sie weglassen und ebenfalls über Fn abhandeln, zumal Enter, Pfeiltasten … auch nicht auf Ebene1 verfügbar, aber viel häufiger sind. Auch wenn ich ständig Strg+F1–F4 zum umschalten der Arbeitsflächen benutze. Ausprobieren ... ;) Bei der Funktion der Mod4 / Fn Taste habe ich in deiner Mail (hmk5qp$6fu$1 at dough.gmane.org) gewildert (Mod4 drücken + loslassen = Fn). Wahrscheinlich ist das gewöhnungsbedürftig. Wenn ich mich richtig erinnere, wurde die Idee gut begründet abgelehnt, weswegen lieber andere Möglichkeiten bedacht werden sollten. Die Tasten Redo, Power, Sleep und Wake kenne ich nicht. Sind die auf der Standardtastatur? Power, Sleep und Wake waren eine Zeit lang in Mode, um den Rechner ein- und auszuschalten bzw. in in einen Energiesparmodus zu versetzen. Sofern ich mich nicht irre, bietet der Keyboard Encoder SK5101 von Sprintek Scancodes für Tasten wie cut, copy, paste, undo, redo, etc. Auch Makros, d. h. die Folge mehrer Tasten hintereinander können mit dem Encoder auf eine Taste gelegt werden. Beim Booten wird Del bisweilen auf der ersten Ebene benötigt. Zudem sollte die Tastenkombination Ctrl+Alt+Del ohne eine weitere (Fn-) Taste gedrückt werden können. Evtl. kann für diese besonderen Zwecke eine Del-Taste als Mikrotaster eingebaut werden. Dass beim Booten Entf auf der ersten Ebene gebraucht
[Neo] Woher den Platz für Modifikatortasten nehmen ?
Mal sehen, ob das Absenden an diese Mailingliste diesesmal gelingt. Sollte diese Nachricht mehrmals in der Mailingliste erscheinen: Sorry. Am Sun, 28 Feb 2010 19:45:18 +0100 schrieb Pascal Hauck : Am Sonntag, 28. Februar 2010 18:39:23 schrieb wettstein...@solnet.ch: Die Lösung mit doppelt benutzten Modifikator-Tasten [...] Wie häufig passiert es, dass man einen Modifier versehentlich betätigt. So gut wie nie betätige ich eine Modifiertaste versehentlich. Dementsprechend fällt es mir schwer, mir vorzustellen, dass Modifiertasten signifikant häufig versehentlich betätigt würden. Eine LED müsste anzeigen, wenn ein Modifiermodus durch das einmalige Drücken und Loslassen aktiv ist, wobei der Modus bei versehentlichem Betätigen der Taste durch das einmalig wiederholte Drücken und Loslassen derselben Taste wieder aufgehoben werden müsste. Eine so umgesetzte Bedienungsvariante einer doppelt benutzten Modifiertaste kann ich mir als gut brauchbar vorstellen. Ob die Zweitfunktion einer solchen Taste eher selten oder ebeno häufig wie die Erstfunktion benötigt sein sollte, dass wäre eine andere Überlegung. Ihn nicht einfach wieder loslassen zu können, ja nicht einmal, ein beliebiges Zeichen danach tippen zu können, würde Neo technisch optimieren, aber Menschen sind keine Maschinen - unter ergonomischen Gesichtspunkten ist diese Lösung untragbar. Tatsächlich untragbar? In dem Punkt bin ich skeptisch. Woher kommt überhaupt die Befürchtung, die Tastatur hätte nicht genügend Tasten? Ich finde weder, dass es zu wenige Tasten gibt, noch dass manche unerreichbar sind und darum ignoriert werden sollten. Selbst auf einer 150 cm mal 60 cm großen Tastatur (im japanischen Buchsetzerwesen gab es tatsächlich Tastaturen mit mehreren Huntert Tasten) wäre keine Taste aus sitzender Körperhaltung heraus unerreichbar. Allerdings wäre die Erreichbarkeit der meisten Tasten von der Grundposition der Hände ausgehend (als Anspruch, um die es hier gehen mag), alles andere als vertretbar. Nicht von ungefähr empfinden mehrere Schreiber dieser Mailingliste manche Tasten auf Standardtasturen als unzureichend schlecht erreichbar: Von der Grundposition ausgehend betrachtet gibt es mehrere ungünstig gelegene Tasten. Beispielsweise ändert die mittels Tastenkombination erzielbare Enterfunktion der vierten Ebene nichts daran, dass die Entertaste der ersten Ebene ergonomisch unvertretbar weit vom rechten Kleinfinger entfernt liegt (bei deutschsprachig ausgelegten Tastaturen). Läge die Grundposition der rechten Hand (oder beider Hände) um eine Spalte weiter rechts, so bestünden weniger Probleme mit ergonomisch unvertretbar schlechter Erreichbarkeit mancher Tasten auf Standardtastaturen. Eine neue Position für Modifier ist interessant, aber nicht zu solchen Kosten! Noch glaube ich, dass es bessere Lösungen gibt. In dem Zusammenhang sei an dem Stand einer Diskussion erinnert, in der es um die Belegung der unteren beiden Tastenreihen von Standardtastaturen ging: Am Thu, 17 Dec 2009 03:18:52 +0100 schrieb Karl Köckemann : Am Wed, 16 Dec 2009 16:18:46 -0800 (PST) schrieb Nora Geissler : „Normale Tastaturen haben nur eine Alt-Taste - wollen wir wirklich zwei daraus machen? Schaden würde es nicht, zwei zu haben, aber ob man dafür die Win- oder Menü-Tasten opfern will? Ich fände je eine Win- und eine Alt-Taste den besseren Kompromiss, welche davon links und welche rechts ist mir egal. Ein feiner Vorschlag, der Win- und Menü-Funktion direkt erhält. Dann wären die Tasten z. B. so angeordnet: Mod3_links, ... Buchstaben ..., Mod3_rechts, Tote Taste, Enter Strg | Alt | Mod4_links | Leertaste | Mod4_rechts | Win | Menü | Strg Wenn man die Symmetrie weiter treiben möchte, dann könnten Menü und Strg_rechts getauscht werden: Mod3_links, ... Buchstaben ..., Mod3_rechts, Tote Taste, Enter Strg | Alt | Mod4_links | Leertaste | Mod4_rechts | Win | Strg | Menü Mit netten Grüßen Karl --
[Neo] Anleitung: 1-, 2-, 3-gramme erstellen unter Linux
Hallo, durch Ulfs Beitrag¹ angeregt (vielen Dank!), in dem Bigramme einer Testdatei mittels Linux-Befehl bestimmt werden, kann nun eine erweitertete Schritt-für-Schritt-Anleitung vorgestellt werden. Mit nur geringem weiteren Aufwand (aber entsprechender Rechenzeit) können nach dem Prinzip der Anleitung auch Tetragramme bestimmt werden. == Anleitung zum Erstellen von möglichst viele Zeichen enthaltenden 1-, 2- und 3-grammen aus einer Textdatei mittels Linux-Befehlen == gegeben: Die im Leipziger Textkorpus enthaltende Datei sentences.txt, bestehend aus 3 Millionen deutschsprachiger Sätze (ein Satz pro Zeile): http://corpora.informatik.uni-leipzig.de/resources/flatfiles/de05_3M.zip Da jede Zeile nur einen Satz hat, der mit einer Zeilennummer und einem Tabstop beginnt, werden die Zeilenanfänge bereinigt sowie jeweils 5 Sätze (von einem Leerzeichen getrennt) zu einem Absatz zusammengeführt. Die dann vorliegende Datei mit über 330 Millionen Zeichen (im Beispiel s.txt genannt) eignet sich als Rohtext für statistische Analysen. Weitere Korpora siehe: http://corpora.informatik.uni-leipzig.de/resources/flatfiles Ein paar Informationen über die Leipziger Korpora stehen den PDF-Dateien der Seite: http://corpora.informatik.uni-leipzig.de/download == gesucht: Listen für Zeichenhäufigkeit, Bigrammhäufigkeit und Trigrammhäufigkeit. Für die Weiterverarbeitung in Tabellenkalkulationen sollen zusätzliche Dateien mit Tabstops als Abgrenzungszeichen vorliegen. == möglicher Lösungsweg: (In Ubuntu-Linux wurde die Terminal-Zeichenkodierung auf unicode (UTF-8) gestellt. Um die Lösung auf einen 330-Millionen-Zeichen-Text anzuwenden, sollten 10 GB auf der Festplatte frei sein, sofern die Dateien mit den Zwischenergebnissen erst zum Schluss gelöscht werden. Anhaltspunkt: Während die Ursprungsdatei s.txt ca. 330 MB groß war, wurde s.triroh.txt 1,3 GB groß.) Zuvor die Zeichenkodierung an Standard anpassen: recode l1.. sentences.txt s.l1.txt Zeilennummern incl. folgenden Tabstop entfernen: sed 's/[0-9]*\t//' s.l1.txt s.l1.wln.txt Jeweils 5 Sätze zu einem Absatz zusammenfügen: sed '1n;N;N;N;N;s/\n/ /g' s.l1.wln.txt s.txt Nun liegt der Text in der Datei s.txt so vor, dass er für statistische Analysen als Rohtext brauchbar ist. Ab jetzt folgen die Schritte, die mit jeder anderen Textdatei anstelle von s.txt gegangen werden können. Ein Zeichen pro Zeile (Liste mit allen Zeichen): cat s.txt | grep -o '.' s.1st.txt Erste Zeile löschen (Liste mit Zeichen der 2. Bigrammstelle) sed '1d' s.1st.txt s.bi2st.txt Erste Zeile löschen (Liste mit Zeichen der 3. Trigrammstelle) sed '1d' s.bi2st.txt s.tri3st.txt Letzte Zeile löschen (Liste mit Zeichen der 1. Bigrammstelle) sed '$d' s.1st.txt s.bi1st.txt Letzte Zeile löschen (Liste mit Zeichen der 1. Trigrammstelle) sed '$d' s.bi1st.txt s.tri1st.txt Letzte Zeile löschen (Liste mit Zeichen der 2. Trigrammstelle) sed '$d' s.bi2st.txt s.tri2st.txt Listen zeilenweise ohne Trennzeichen zusammenführen: paste -d '' s.bi1st.txt s.bi2st.txt s.biroh.txt paste -d '' s.tri1st.txt s.tri2st.txt s.tri3st.txt s.triroh.txt _gramm-Dateien erstellen: sort s.1st.txt | uniq -c | sort -nr 1gramme.txt sort s.biroh.txt | uniq -c | sort -nr 2gramme.txt sort s.triroh.txt | uniq -c | sort -nr 3gramme.txt Leerzeichen am Zeilenanfang entfernen: sed 's/^[ ]*//' 1gramme.txt 1gramme.tmp.txt sed 's/^[ ]*//' 2gramme.txt 2gramme.tmp.txt sed 's/^[ ]*//' 3gramme.txt 3gramme.tmp.txt Leerzeichen zwischen Häufigkeit und n-gramm durch Tabstop ersetzen: sed 's/[ ]/\t/' 1gramme.tmp.txt 1gramme.tab.txt sed 's/[ ]/\t/' 2grammetmp.txt 2gramme.tab.txt sed 's/[ ]/\t/' 3gramme.tmp.txt 3gramme.tab.txt n-gramm-Stellen mit Tabstops trennen: sed 's/\(.$\)/\t\1/' 2gramme.tab.txt 2grammetab.tab.txt sed 's/\(.\)\(.$\)/\t\1\t\2/' 3gramme.tab.txt 3grammetab.tab.txt Diese Dateien mit Zwischenergebnissen können gelöscht werden: s.l1.txt s.l1.wln.txt s.1st.txt s.bi2st.txt s.tri3st.txt s.bi1st.txt s.tri1st.txt s.tri2st.txt s.biroh.txt s.triroh.txt 1gramme.tmp.txt 2gramme.tmp.txt 3gramme.tmp.txt == Ergebnisse zum Leipziger 3-Millionen-Sätze-Korpus (über 330 Millionen Zeichen): s.txt # Textkörper für zukünftige Arbeitsgrundlage 1gramme.txt # absolute Häufigkeiten der Zeichen 2gramme.txt # absolute Häufigkeiten der Bigramme 3grammetxt # absolute Häufigkeiten der Trigramme 1gramme.tab.txt # absolute Häufigkeiten mit Tabstop der Zeichen 2grammetab.tab.txt # absolute Häufigkeiten der Bigramme mit Tabstops 3grammetab.tab.txt # absolute Häufigkeiten der Zeichen mit Tabstops Die Ergebnisse (außer s.txt) können ab jetzt heruntergeladen werden: gepacktes Format: http://freenet-homepage.de/nexusboard/Neo/ngramme/ngramme.7z ungepackt (unicode UTF-8): http://freenet-homepage.de/nexusboard/Neo/ngramme/1gramme.txt http://freenet-homepage.de/nexusboard/Neo/ngramme/2gramme.txt http://freenet-homepage.de/nexusboard/Neo/ngramme/3gramme.txt
Re: [Neo] Neo2/Neo3-Hardware.
[ Mein Mailprogramm bereitet plötzlich Probleme beim Absenden. Jetzt versuche ich es anders. Hoffentlich erscheint der Inhalt in der Mailinliste an der richtigen Stelle und nicht zudem mehrfach. Diese E-Mail ist eine Antwort auf:Message-ID: 20091129134443.6be490fa.ostermeier.mich...@web.de References: 4ab8b35e.3080...@florian-janssen.de 1257609155.7509.4.ca...@storch-desktop 4af8ab35.90...@gmx.de 20091119090554.169...@gmx.net hena2r$a1...@ger.gmane.org ] Am Sun, 29 Nov 2009 13:44:43 +0100 schrieb Michael Ostermeier ostermeier.mich...@web.de: ich bin neu hier, war ab und zu mal im IRC und benutze NEO schon seit einigen Jahren. Herzlich Willkommen, Michael! Ich finde, Eine NEO Tastatur sollte mit möglichst wenig Tasten auskommen. Das halte ich für einen wesentlichen Punkt, den viele Erzeuger alternativer Tastaturen leider nicht erkennen. Tastaturen mit zu vielen Tasten können nicht ergonomisch sein - es sei denn, der Benutzer müsste jede Viertelstunde mit den weit von der Grundreihen entfernt liegenden Tasten ein Spielchen spielen, also Auflockerung sozusagen. Ich würde ein Layout mit 67 Tasten vorschlagen. Wenn man dann Strg, Mod3 und Mod4 nicht nach rechts und links unterscheidet (beide schalter parallel schaltet), würde für die verbleibenden 64 Tasten eine 8×8 Matrix reichen. Natürlich mit Dioden gegen Rollover. Zum Festlegen der Tastenanzahl bin ich noch nicht gekommen. Ich vermute, dass Keyboard-Encoder für 8x22 weit verbreitet (=günstig?) sein müssten. Gibt es für 8x8-Matrix günstige Keyboard-Encoder? Aus Erfahrung beschaffe ich erst die Bauteile, bevor feinere Gedanken zum Prototyp angestellt werden. Zu oft scheitert es an der Beschaffbarkeit. Zunächst beschaffe ich die Bauelemente für zwei Prototypen, von denen später einer gerne an Interessierte verschickt werden soll. Es gibt Tasten, die nicht unbedingt gut erreichbar sein müssen, z. B. Pause. Das Parallelschalten der Modifier habe ich ebenfalls vorgesehen, um pro Matrixspalte nur eine Mod-Taste einzubinden, damit es weniger Probleme gibt, falls mal eine Variante ohne Rollover gebaut werden sollte (wovon ich zwar nicht ausgehe, aber warum sollen wir nicht aus der Geschichte lernen). In den vorgesehenen Tastenmodulen Cherry MX1A-G1DW sind Dioden enthalten. Problematisch an einer Tastatur mit derart wenigen Tasten ist, dass man im BIOS, im grub und so weiter keine Steuertasten und kein vernünftiges Layout hat. Welche Tasten müssten vorhanden sein, damit es garantiert keine Probleme gibt? Sofern sie selten benötigt werden, können sie außerhalb des ergonomisch relevanten Bereichs platziert werden, wobei dafür auf preiswertere Bauteile als die MX-Tastenmodule zurückgegriffen werden könnte. Strg+Alt+Entf funktioniert bei mir leider auch nicht im Hauptfeld. Ebenfalls müssten einige Zeichen von weggefallenen Tasten auf die verbleibenden umgelegt werden. Der Entwicklungsaufwand für die Treibersoftware kann erheblich verringert werden, wenn die Tastenfunktionen der anders platzierten Tasten so als Matrix verdrahtet werden, dass ein nicht programmierbarer Standard-Keyboard-Encoder die gewünschten Signale wie bei einer Qwertz-Belegung liefert. Dann gäbe es zumindest für viele Tasten eine Übereinstimmung im Treiber sowohl für diese Hardware als auch für eine Standardtastatur. Bei jedem Tastenmodul können zwei hinreichend lange isolierte Drähte in 2-polige Stecker enden. Eingesteckt werden sie in eine Buchsenleiste, die mit den Matrixanschlüssen des Keyboard-Encoders verbunden ist. Dadurch kann jede Taste in der Matrix umplatziert werden - hardwareseitig. Ein nachträgliches einfaches Konfigurieren der Modi über USB wird wohl ein Wunschtraum bleiben. Der Keyboard-Encoder SK5101 wird über eine USB-Schnittstelle programmiert - auch nachträglich. Da USB standardmäßig nicht dafür vorgesehen ist (von lästigen Tricksereien abgesehen), kommt für echtes n-Key-rollover das gängigste PS/2-Protokoll in Frage. Das finde ich schade, da PS/2 doch langsam stirbt. Wo liegt bei USB das Problem? Bei der Irrelevanzpedia steht bei USB wird periodisch ein Status der gedrückten Tasten übermittelt. Bei USB wird die Information zu gedrückten Tasten (bzw. Modi?) standardmäßig auf 6 Tasten beschränkt. Es soll möglich sein, das zu ändern, aber die Beschreibung des (aufwendigen) Tricks habe ich nicht wiedergefunden; sorry. Der Encoder wäre allerbestens geeignet. USB-Buchse mittels Käbelchen anlöten, mit kostenloser Software jederzeit umprogrammierbare Tastenbelegung - auch ziemlich komplex ausgelegte, und sechs LEDs. Würde der auch meine Spielereien mitmachen? Schaue dir die beim Hersteller herunterladbare kostenlose Software zur Umbelegung mal an, sie eröffnet vielfältige Möglichkeiten. Was sie im Detail kann, damit bin ich (noch) überfragt. Bei uns in der Firma werden Platinen für Prototypen aus Preisgründen grundsätzlich in China bestellt. Ich kann ja mal fragen, welcher Hersteller das ist. Das interessiert
Re: [Neo] Neo2/Neo3-Hardware.
[ Vielleicht liegt es am Versuch, einen Anhang zu senden, dass das Absenden nicht gelingt. Nun ein Versuch, auf andere Weise zu senden. Diese E-Mail soll eine Antwort hierauf erscheinen: Message-ID: 3f8630b5f9aa238a140513ae3e842...@email.freenet.de ] Am Mon, 30 Nov 2009 01:26:36 +0100 schrieb neo-n...@freenet.de: Mir schwebt etwas wie im in dieser E-Mail angehangenen Bild vor, worüber aber noch nicht genug nachgedacht worden ist, z. B. sind noch keine (außerhalb des ergonomischen Bereichs angedachten) Plätze für Systemtasten wie Pause, NumLock, etc. vorgesehen. Die sieben Daumentasten und die seitlichen Abstände der oberen Reihen für Ring- und Zeigefinger habe ich an einem Dummy erprobt. Die Tastenspalten sind noch nicht entsprechend der unterschiedlichen Fingerlängen verschoben. Den Anhang hatte ich beim letzen Versuch vergessen. Nun der nächste Versuch, die E-Mail mit Anhang zu senden Mit netten Grüßen Karl -- attachment: NeoKB.gif