Ich stelle ein neues Auswertungsprogramm für Tastaturen vor. Es ist so
blitzschnell, dass man keine Laufzeit überhaupt wahrnimmt. Man drückt
also Enter und schwupp ist es fertig.
Man braucht keinen Textkörper für dieses Auswerteprogramm. Das Programm
benötigt allerdings zwei Daten-Dateien, mit den Namen buchstaben.txt
und bigramme.txt. Jede dieser Dateien muss in jeder Zeile eine Zahl
haben, die die Häufigkeit angibt, und einen Buchstaben bzw. ein Bigramm.
Die Tastaturen werden wie in den bisherigen Auswerteprogramme in einer
Datei namens tastaturen.txt – eine pro Zeile – angegeben. Man gibt
eine Tastatur an, wie bisher, indem man jede Taste einmal drückt,
angefangen mit der oberen Reihe links und endend mit der unteren Reihe
rechts. Jede Tastatur muss genau 32 Zeichen enthalten, nämlich die 30
deutschen Buchstaben und Punkt und Komma.
Das Programm gibt in dieser Version (ausw4.py) keine Gesamtwertung über
die Tastatur ab. Es hat sich nämlich in der manuellen Tastaturbastelei
als nicht hilfreich erwiesen. Wenn der Bastler etwas macht – etwa 2 oder
mehr Buchstaben vertauscht, dann guckt er typisch nach den Auswirkungen,
die diese Änderung bewirkt. Eine veränderte Buchstabenlage? Mehr
Fingerkollisionen? Die Gesamtwertung spielt da eine untergeordnete
Rolle.
Einerseits braucht man eine zusammenfassende Wertung der Buchstabenlage.
Das geschieht, wie in vorhergehenden Mails ausgiebig erörtert, durch
Vergabe von Strafpunkten für bestimmte Lagen. Jede Lage hat eine Anzahl
Strafpunkte zugeordnet.
5 3 3 3 4 4 3 3 3 5 7
1 0 0 0 2 2 0 0 0 1 7
6 5 5 5 7 7 5 5 5 6
Die Punkte werden wie oben angegeben vergeben. Der Python-Quelltext
dokumentiert genau, wie diese Punkte vergeben werden. Jeder, der Lust
hat, kann den Programmcode ändern. Ich bitte zu bemerken, dass man nicht
ganzzahlige Punkte vergeben muss! Wer einen größeren Spielraum möchte –
was in den Diskussionen immer wieder geäußert wurde – kann auch 2.5
(bitte Dezimalpunkt benutzen) oder etwa 5.183 Punkte vergeben.
Es wurde auch gelegentlich bemängelt, dass ich bei meinen Bewertungen zu
wenig Rücksicht auf Bigramme nehme. Das ist selbstverständlich Quatsch
gewesen, denn ich habe Dinge berücksichtigt, die darüber hinaus gehen.
Diesmal wird es so eine Kritik nicht geben. Das Programm nutzt
ausschließlich Bigramme für die Bewertung. Das geschieht in dieser
Version folgendermaßen:
Wenn die erste Buchstabentaste gedrückt wird, wird entweder die
Leertaste folgen (ein Einzelbuchstabe) oder es folgt ein weiterer
Buchstabe (ein Bi- oder Polygramm). Der nächste Buchstabe kann entweder
von der anderen Hand getippt werden, dann haben wir einen Handwechsel.
Oder er wird von der gleichen Hand getippt. Dann unterscheiden wir in
dieser Version drei Fälle: Der gleiche Finger wird benutzt – dann haben
wir eine Fingerwiederholung – oder ein weiter mittig befindtlicher
Finger wird benutzt – dann ist es eine Einwärtsbewegung – oder ein
weiter seitlich belegener Finger wird benutzt, und dann haben wir eine
Auswärtsbewegung. Da es keine weiteren Fälle gibt, können die
beschriebenen Fälle als Prozent ausgedrückt werden, wobei die Summe dann
immer 100 % wird.
Es ist durchaus möglich, weitere Ergebnisse zu berechnen. Diese ist aber
die erste Version von diesem Typ von Auswerteprogramm, die ich
geschrieben habe, und ich bin ganz am Anfang damit.
Amerikanische Tastaturbastler haben mir versichert, dass die Benutzung
von Python für diesen Zweck nicht möglich ist, weil Python zu langsam
ist.
Da man keinen Textkörper mehr braucht, kann jeder seine
Buchstabenhäufigkeiten und Bigrammhäufigkeiten beziehen, wo er will, sei
es beim Militär, Universitätsinstituten, Internet usw.
Man kann eine Buchstabenhäufigkeitstabelle buchstaben.txt erstellen,
indem man unter Linux eingibt:
cat textkoerper.txt | tr '[:upper:]' '[:lower:]' | grep -o
'[abcdefghijklmnopqrstuvwxyzäöüß,\.]\{1\}' | sort | uniq -c | sort -nr
buchstaben.txt
Man kann eine Bigrammtabelle bigramme.txt erstellen, indem man unter
Linux eingibt:
cat textkoerper.txt | tr '[:upper:]' '[:lower:]' | grep -o
'[abcdefghijklmnopqrstuvwxyzäöüß,\.]\{2\}' | sort | uniq -c | sort -nr
bigramme.txt
Und jetzt zum mehr Spannenden: Was ergibt das Programm bei bekannten
Tastaturen?
===
Qwertz:
qwert zuiopü
asdfg hjklöä
yxcvb nm,.ß
Lagepunkte309
Fingerwiederholung 14.196 %
Handwechsel... 51.275 %
Einwärtsbewegung.. 16.090 %
Auswärtsbewegung.. 18.439 %
Wir sehen hier, dass die Vergabe von Lagepunkten etwas arbiträr ist.
Merken wir uns die 309. Jeder, der eine Verbesserung machen will, muss
da eine niedrigere Zahl haben. Merken wir uns die anderen Werte auch.
===
Ristome:
qproc btdwjö
zlani uehsfy
xvgmk äüß,.
Lagepunkte170
Fingerwiederholung 15.178 %
Handwechsel... 55.448 %
Einwärtsbewegung.. 17.826 %
Auswärtsbewegung.. 11.549 %
Die preisgekrönte Tastatur aus Jugend Forscht hat tatsächlich
geschafft, eine bessere Buchstabenlage zu bekommen. 15 %