Re: [Neo] ADNW?

2013-08-02 Diskussionsfäden wettstein509
 Bei AdNW machen mir alleine schon e und i auf Mittel- und Ringfinger große
 Bauchschmerzen. Das lädt Sehnenscheidenentzündung geradezu ein (schlimmer wäre
 nur kleiner Finger und Ringfinger).

Wolf hat eine Zeitlang eine AdNW-artige Belegung benutzt, bei der e und
i nicht nebeneinander liegen.  Letztlich ist er wieder davon abgekommen,
wegen Nachteilen bei anderen Bigrammen.

Für meinen gemischten Korpus (deutsch-englisch 1:1) sind die Anzahl
aller Bigramme, bei denen linker Mittel- und Ringfinger direkt
nacheinander zum Einsatz kommen bei AdNW gerade mal 10% höher als bei
cry.  Im Vergleich zu AdNW spielt sich bei cry mehr davon abseits der
Grundlinie ab, so dass man nicht sagen kann, ob die Belastung durch
diese Bigramme bei AdNW überhaupt höher ist.

Sobald man die beiden Bigramme nicht isoliert betrachtet ist es also
nicht offensichtlich, warum «ei» und «ie» ein Problem für AdNW sein
sollten.

 → „eh“ als sehr häufiges Bigramm geht vom Mittel- auf den Kleinen
 Finger und wird als gut bewertet, was völlig meiner Tipperfahrung
 widerspricht. (cry wurde übrigens für 30% englischen, 70% deutschen
 Korpus optimiert)

«eh» liegt in der Rangfolge der Bigramme im gemischten Korpus auf Platz
168, im deutschen Korpus auf Platz 96.  Für den gemischten Korpus ist es
nur 10% häufiger als «sh», was bei cry diesselbe Bewegung auf der
anderen Hand ist.  Fazit wie oben.

 (die Grafiken finde ich übrigens sehr schön. Nur die darin gezeigten
 Ergebnisse zweifle ich an)

Solange man den Farben keine Bedeutung zumisst geben die Grafiken
lediglich den Inhalt der Häufigkeitstabellen wieder.

 Zusätzlich habe ich vor 2 Wochen gelernt, dass die Arbeitswissenschaftliche
 Fakultät des KIT (Uni Karlsruhe) ein Modell der Hand hat, mit dem
 Belastungsrechnungen durchgeführt werden können (ich habe zufällig einen der
 Wissenschaftlichen Mitarbeiter der Fakultät bei einer Weiterbildung
 getroffen).

Hast du dazu mehr Informationen (Links, Publikationen)?

Andreas





Re: [Neo] ADNW?

2013-08-02 Diskussionsfäden wettstein509
 dazu möchte ich anmerken, dass mich sehr stört, dass D und T nebeneinander
 liegen.
 Ich schreibe nicht wirklich blind und nicht richtig 10-Finger, sondern 
 igendwas
 dazwischen mit eher 8 Fingern.
 Langer Rede kurzer Sinn, ich verwechsle gerne mal nebeneinanderliegende Tasten
 und bei DT ist das besonders blöd, weil es nicht wie ein Tippfehler, sondern
 wie ein Rechtschreibfehler aussieht.
 Bei ADNW  liegen D und T auch nebeneinander.
 Bei anderen Buchstaben ist mir das noch nicht aufgefallen.

Wie Klaus schon angetönt hat, kann der Optimierer verhindern, dass
«ähnliche» Buchstaben auf «verwechselbare» Tasten kommen.

Vor zwei Jahren gab es auf AdNW-Liste (damals noch NordTast-Liste) eine
Diskussion zu dem Thema.  Aus der Diskussion entstand die Belegung
«DIEgO».  Ein paar Leute haben damit eine Weile getippt, sind nach
anfänglicher Begeisterung aber zu ihren vorherigen Belegungen zurück.

Nach dieser Erfahrung vermuten wir, dass eine Belegung besser zu lernen
ist, wenn ähnliche Buchstaben so liegen, dass man ihre Tasten nicht
leicht verwechselt.  Aber die dadurch erzwungenen Beschränkungen bringen
Nachteile an anderer Stelle.  Zumindest für DIEgO haben letztere
überwogen.

Für DIEgO wurden recht viele Buchstabenpaare als ähnlich betrachtet.  Es
ist denkbar, dass man sich auf weniger Paare beschränken und so eine
Belegung finden kann, bei der die Nachteile der Ähnlichkeitsbehandlung
durch die Vorteile aufgewogen werden.

Leider ist Ähnlichkeit nicht für jeden dasselbe, und daher ist es nicht
klar, ob man mit wenigen (sagen wir, zwei) Paaren auskommt und doch den
meisten Anwendern damit weiterhilft.

Andreas



Re: [Neo] Erfahrungsbericht aus dem IRC

2013-07-25 Diskussionsfäden wettstein509
   http://synergy-foss.org/spit/issues/details/3329/

Falls die Analyse von Mathias Baumann stimmt und der Client durch das
Neo-Mod4 verwirrt wird könnte man den hier beschriebenen Workaround
ausprobieren:

  http://wiki.neo-layout.org/ticket/129#comment:44

und ihn gegenfalls auf Ebene 3 ausweiten (das ksh-Skript auf der
adnw.de-Downloadseite hat das schon eingebaut, aber halt nur für AdNW.
Für Neo habe ich lokal noch eine alte Skriptversion).

Andreas



Re: [Neo] Meta (Alt) und Super (Win) vertauschen

2013-07-08 Diskussionsfäden wettstein509
 Woran kann das liegen? Irgendwelche Erfahrungswerte?

Keine Ahnung.  Hast du mal probiert, die Vertauschung so zu machen wie
die manpage von xmodmap es für das Vertauschen von Control und Caps Lock
vorführt, also mit 'remove' statt mit 'clear'?

Andreas



Re: [Neo] Awesome WM

2013-02-17 Diskussionsfäden wettstein509
 1. Im awful.prompt funktionieren die höheren Ebenen 2 nicht.

Awesome ist (oder war bis vor kurzem) nicht XKB-tauglich.  Die
Beschränkung ist von ursprünglich von xcb geerbt.  Darüber hinaus
scheint awesome auch nicht voll core-protocol-tauglich zu sein, was auf
Deutsch heisst, die xmodmap wird vermutlich auch nicht gehen.

Für XKB gibt die Möglichkeit, die höheren Ebenen auf Ebene 1 und 2
anderer Tasten abzubilden.  Für die wichtigen ASCII-Zeichen auf Ebene 3
gibt es für «Aus der Neo-Welt» eine fertige Lösung, siehe Option '-szd'
für das Skript auf https://sites.google.com/site/ausderneowelt/.  Ich
habe auch noch eine ältere Skript-Variante mit Neo- und
NordTast-Unterstützung die ich dir bei Interesse schicken kann, die ich
aber nicht mehr unterstütze.

Andreas





Re: [Neo] Awesome WM

2013-02-17 Diskussionsfäden wettstein509
  Awesome ist (oder war bis vor kurzem) nicht XKB-tauglich.  Die
  Beschränkung ist von ursprünglich von xcb geerbt.

 Heißt das, Awesome wird in der nächsten Version XKB-tauglich sein?

Nein, das heisst nur, dass ich awesome nicht verfolge und daher nicht
weiss, ob sich letzthin etwas geändert hat.  Immerhin, wie es aussieht,
wird zumindest bei XCB an Untestützung für XKB gearbeitet.

Andreas



Re: [Neo] vim und cscope-Erweiterung: Tastatürkürzel Strg + \ funktioniert nicht

2012-11-07 Diskussionsfäden wettstein509
 Verrückt: Das Strg + Mod 3-Problem habe ich nun nicht mehr unter Vim.

Ich habe selbst mal mit AdNW/CH und AdNW/DE-Doppelbelegungen probiert
und dabei auf die Redirect-Tricks meines Treibers verzichtet und noch
ein paar kleine andere Änderungen gemacht, so dass mein Layout technisch
etwa dem Neo von xkeyboard-config entspricht.  Und dann kann ich das
Problem reproduzieren…

 Wie gesagt: Bei mir spielte es keine Rolle, in welcher Reihenfolge ich
 Strg und Mod3 gedrückt habe.

…aber nur, wenn ich erst Ctrl, dann Mod3 rechts drücke.  Merkwürdig.

Ich sehe das Problem sowohl mit DE- als auch mit CH-Zweitlayout; im
letzteren Fall wird bei Ctrl+Mod3r ans Zeilenende gesprungen, denn auf
hiesigen Tastaturen liegt auf Mod3r normalerweise $.

Ausserdem tritt das Problem nicht nur mit vim, sondern auch mit nvi auf,
und nicht nur, wenn der Editor in urxvt läuft, sondern auch in xterm.
Es ist also nicht klar, in welchem Programm der Fehler steckt.

Andreas



Re: [Neo] Eigenbau-Tastaturen

2012-05-23 Diskussionsfäden wettstein509
 Die Frage die sich mir stellt ist eher, wie die Umsetzung der Diakritika-Taste
 erfolgen soll, ich bin keine Programmierer und ich könnte jetzt auch nicht so 
 ohne
 weiteres den von mir benutzten Neo-Vars unter Windows entsprechend 
 umgestalten. Das
 ist noch ein großes Fragezeichen für mich.

Wenn du bereit wärst, die Diakritika-Taste vor dem Basiszeichen zu
tippen (also q als ⸮k), dann kann man das unter X einfach mit Compose
machen.  Ich habe etwas ähnliches, die «Tote-q-Tastatur», eine Weile
benutzt:

  https://lists.neo-layout.org/pipermail/diskussion/2010-February/015959.html

Andreas




Re: [Neo] neo und stumpwm

2012-04-16 Diskussionsfäden wettstein509
 hatte ja gehofft, jemand hätte schon mal eine Lösung gefunden...

Ich hab's grad mal ausprobiert: Zumindest mit der Option -szd erzeugt
das aktuelle AdNW.sh (von https://sites.google.com/site/ausderneowelt/)
eine Belegung, mit der man in StumpWM die ASCII-Zeichen (auch auf Ebene
3) und Umlaute eingeben kann.  Die Ebene 4-Navigation funktioniert auch,
soweit ich feststellen kann.

Als Lisp habe ich SBCL und für CLX die portable Version
(http://gitorious.org/clx) genommen.

Andreas




Re: [Neo] Potenziell bessere Methode der Layout-Optimierung

2012-04-14 Diskussionsfäden wettstein509
 Die bisherigen Optimierer von Arne und Andreas berechnen beide eine
 Kostenfunktion für jedes generierte Layout. Diese Kostenfunktion ist
 frei von irgendwelchen Vorgaben. Bei dem neuen Ansatz müsste man sich
 der Form des QAPs unterwerfen.

Mein Optimierer verwendet eine (leicht erweiterte) QAP Formulierung, und
ich vermute, bei Arne ist es nicht viel anders.  Das aufstellen der
Matrizen A und B ist von der eigentlichen Optimierung getrennt.

Die leicht Erweiterung in meinem Fall ist ein Term für gleichmässige
Fingerbelastung (nichtlinear in den Buchstabenhäufigkeiten).  Ausserdem
gibt es auf Wunsch noch Trigramme, mit einem Summationsindex mehr.  Bei
Arne sieht es ähnlich aus, soweit ich weiss.

 • mittels Matrix C: Häufige Buchstaben auf guten Plätzen

Nur dann, wenn man in C Häufigkeiten und Aufwände verwurstelt.  Ich
mache das nicht explizit, sondern habe Terme analog zu A*B, nur dass
dort nur ein Summationsindex auftritt.

So wie im Artikel formuliert würde C zum Beispiel erlauben auszudrücken,
dass Belegungen, die eine Referenz-Belegung ähnlich sind besser sind als
solche, die das nicht sind (Stichwort: Ctrl-XCV).  Ich glaube Arne hat
sowas, ich nicht.

 • Shiftkollisionen oder allgemeiner: Modifierkollisionen
 Allgemein über Optimierung auf mehreren Ebenen (mit Modifiern) habe
 ich mir noch keine näheren Gedanken gemacht. Prinzipiell lassen
 sich Shiftkollisionen durchaus berücksichtigen, allerdings
 bräuchten wir keine nxn-Matrix, sondern eine 2nx2n, was das QAP um
 einiges erschweren würde (unnötigerweise aus meiner Sicht).

So schlimm ist es nicht.  Der Aufwand vervierfacht sich nur (in einer
naiven Implementierung), man hat ja nach wie vor nur n Tasten.

 • Es lassen sich durch (meta-)heuristische Methoden sehr schnell
   hinreichend gute Lösungen erzielen. Es erleichtert das Arbeiten an den
   Optimierungsparametern ungemein, wenn man sie einstellen und nach
   einigen Sekunden ein Layout präsentiert bekommt, das dem Optimum sehr
   nahe kommt. Der Arbeitszyklus: 
   Parameter einstellen  Gute Lösung finden  Testen/Beurteilen 
   Parameter verändern
   würde kürzer werden.

Stimmt, Tempo ist wichtig, und ich behaupte, dass mein Optimierer deinen
einige Sekunden nahe kommt.

 Es folgt eine kleine Buchstaben-Legende für die Ausgabe des
 hasqap-optimierers³, gleich gefolgt von dem Optimierungsprozess, bei
 dem immer die aktuell beste Lösung in Form einer Permutation ausgegeben
 wird.

Auf Deutsch komme ich auf folgende Auswertung:

Stephan  271.330 Gesamtaufwand  190.231 Lageaufwandlinks rechts
   1.390 Kollisionen 17.048 Shift-Kollisionen  ob  7.9  8.6
  äuopü ßflmvx71.165 Handwechsel 18.134 Shift-Handwechsel  mi 36.5 30.2
  aietc gsnrhk 1.563 Ein-/Auswärts   --.--- IndirKollision un  6.1 10.7
  .öy,q dwjzb 15.796 benachbart  21.592 Shift-benachbart  sum 50.5 49.5
 10.3 11.2 18.0 11.1 --.- --.- 16.1 13.2 10.5  9.7 Sh  3.7  1.7

Nicht schlecht, es wird auch kein Finger über Gebühr belastet.  Zum Vergleich:

Aus der Neo-Welt 244.135 Gesamtaufwand  189.847 Lageaufwandlinks rechts
   1.054 Kollisionen  2.155 Shift-Kollisionen  ob  6.8 11.6
  kuü.ä vgcljf71.373 Handwechsel 25.977 Shift-Handwechsel  mi 34.5 32.5
  hieao dtrnsß 1.525 Ein-/Auswärts   --.--- IndirKollision un  5.4  9.2
  xyö,q bpwmz 10.353 benachbart  22.340 Shift-benachbart  sum 46.7 53.3
  9.2 11.1 16.2 10.2 --.- --.- 16.5 10.9 15.4 10.5 Sh  3.8  1.6

Mit Englisch sieht es nicht ganz so gut aus, aber immer noch ok.

Andreas





Re: [Neo] Potenziell bessere Methode der Layout-Optimierung

2012-04-14 Diskussionsfäden wettstein509
 Der klare Vorteil einer strikten QAP-Formulierung ist, dass z.B. die
 Kostendifferenz zweier Belegungen, die sich nur um eine Vertauschung
 unterscheiden mit Rechenaufwand O(n) berechnet werden können 
 (der Aufwand für die Neuberechnung der Kosten beläuft sich auf O(n^3)
 für ein QAP).

Genauer gesagt ist der Rechenaufwand für die Bigramme proportional zu
n²-(n-2)² bei Berechnung von Differenzen und n² bei Neuberechnung.  Man
reduziert den Rechenaufwand also ungefähr um den Faktor n/4.  Für die
Einzeltastenaufwände reduziert man den Aufwand von n auf 2, für
Trigramme von n³ auf n³-(n-2)³.  Das benutze ich natürlich.

Die Behandlung der Anschlagshäufigkeit pro Finger ist nur O(n), daher
ist es verschmerzbar, dass sie nicht ins QAP-Schema passen.

 Zwar hat man nur n Tasten, aber die QAP Beschreibung erfordert doppelt
 so viele.

Das klingt mir eher als eine Beschränkung von speziellen Umsetzungen als
der allgemeinen Beschreibung.  Den Optimierer selbst zu implementieren
hat halt Vorzüge.

Andreas



Re: [Neo] neo und stumpwm

2012-04-06 Diskussionsfäden wettstein509
 Ich habe Schwierigkeiten mit Neo (Xmodmap auf Linux) und Stumpwm (tiling
 window manager für X) -- wie sie schon Mitte 2010 von Eric Wolf
 berichtet wurden. 

Schwierigkeiten ist für eine Problembeschreibung etwas vage...

Leider kann ich kaum Lisp, aber diese Funktion in input.list scheint mir
verdächtig:

  (defun keycode-character (code mods)
(let ((idx (if (member :shift mods) 1 0)))
  (xlib:keysym-character *display* (xlib:keycode-keysym *display* code 
idx) 0)))

Sieht so aus, als ob alle Modifier ausser Shift weggeworfen würden.
Die Minimalvariante für xkbmap mit 3 Ebenen stelle ich mir so vor:

(let ((idx (if (member :shift mods) 1 (if (member :mod5 mods) 2 0

Allgemeiner müsste man die Menge in mods in einen state überführen, mit
dem xlib:keysym-character etwas anfangen kann.

Die Funktion is-modifier ist schon vom Interface her fehlerhaft: Unter
Xlib bestimmt die keysym, was ein Modifier ist und was nicht, hier wird
aber mit dem keycode gearbeitet.

Bei dem Zeugs, was sich mit Modifiern zu befassen scheint sehe ich
nirgends etwas, was Gruppenumschaltung betrifft.  Das wäre für xmodmap
fatal, denn Ebene 3 ist mit Gruppenumschaltung gemacht (keysym
Mode_switch).

Aber um wirklich nachzuverfolgen, was hier als Modifier und als
Konsequenz daraus wie behandelt wird sind meine Lisp-Kenntnisse zu
schwach.  Da du vermutlich Lisp besser verstehst als ich solltest du dir
input.lisp genauer anschauen.  Ich vermute hier starken
Verbesserungsbedarf.  keysyms.lisp sollte man auch mal wieder
nachführen.

Andreas




Re: [Neo] Status Hardware-Präferenz

2012-02-06 Diskussionsfäden wettstein509
 Es ist sehr wahrscheinlich, dass, falls sich einmal eine gute
 Nachfolgebelegung für Neo herausstellt, es eine Variante speziell für diese
 Tastatur geben wird, die deren Besitzer austauschen werden.

Wolf hat das Thema auf der Nordtast-Liste angeschnitten, und wir sind zu
folgender Belegung gekommen:

 202.656 Gesamtaufwand  162.058 Lageaufwandlinks rechts
   1.002 Kollisionen  0.000 Shift-Kollisionen  ob 11.3  6.6
 xzlcgb ä,üufß69.783 Handwechsel  0.000 Shift-Handwechsel  mi 32.0 36.4
  snrtd oaeih  1.705 Ein-/Auswärts5.514 IndirKollision un  6.5  3.1
  vmwpj q.öyk  9.669 benachbart  22.961 Shift-benachbart  sum 51.1 48.9
Finger  7.8 14.3 10.8 16.8 | 13.7 14.0 11.2  7.3 Shft  1.4  2.7

Da das TECK symmetrisch ist, kann man die Belegung natürlich auch
spiegeln und kommt dann auf eine, die «Aus den Neo-Welt» ähnlich sieht.
Die Variante oben hat aber XCV auf der linken Hand, was manche Anwender
schätzen.

Andreas



Re: [Neo] XKB-Treiber: Taste gleichzeitig als normale Taste und Modifier nutzen

2012-01-14 Diskussionsfäden wettstein509
 Für die Arbeit mit XRECORD habe ich im Netz aber leider kein gutes
 Beispiel finden können. Da würde ich gerne auf dein Angebot eines
 Beispiels zurück kommen ;)

Du musst nach keyloggern suchen, dann findest du bestimmt was.

Ich habe mein Beispiel angehängt.  Es wurde auf NetBSD-current getestet.
Du musst in Zeile 9 die keycodes anpassen.  Für deine Zwecke ist
SHIFT_R_KEYCODE der keycode der physischen Taste, die Shift und n sein
soll und N_KEYCODE ein unbenutzter keycode.  Der erste dieser keycodes
wird dann mit Shift, der zweite mit n/N belegt.

Leider hängt das Programm, sobald man eine Belegung (xmodmap oder
xkbcomp) läd.  Man kann es immerhin neu starten.  Aber dran denken, in
der Zwischenzeit kannst du kein n mehr tippen.  Ich habe die Ursache des
Hängers noch nicht herausgefunden.  Wenn du dahinter kommst lass es mich
bitte wissen.

Andreas



record_xtest.C
Description: Binary data


Re: [Neo] N-grame für GB, US Englisch, Deutsch und andere Sprachen

2012-01-13 Diskussionsfäden wettstein509
 Ganz wertlos sind die n-Gramme natürlich nicht - man kann ja auch aus Wörtern 
 (und Worthäufigkeiten) Buchstaben-n-Gramme (mit entspr. Häufigkeiten) 
 erstellen.

Solange es nur um Buchstaben geht, sollte das auch nicht schwierig sein.
Man will aber vielleicht auch Zeichen-n-Gramme mit Satzzeichen oder
Leerzeichen haben.  Immerhin sind Punkt und Komma mit jeweils gut 1%
häufiger als so mancher Buchstabe.  Leerzeichen muss man spätestens dann
mitnehmen, wenn man Zeichentrigramme (oder höhere n-Gramme) in der
Optimierung berücksichtigt.

Nun ist aber ein Wort gefolgt von einem Satzzeichen gemäss Google schon
ein Wort-Bigramm, und zwei von Leerzeichen getrennte Wörter sowieso.
Wenn man die Häufigkeit eines Zeichen-Trigramms «Satzzeichen Leerzeichen
Buchstabe» haben will, braucht man dementsprechend schon die
Google-Trigramme.  Von letzteren gibt es 200 Files pro Sprache, das
erste davon für Deutsch ist 65 MB komprimiert und 500 MB unkomprimiert
gross.

Und es ja so, dass bei einer Wortfolge W1 W2 ... Wn die Wort-Trigramme
Worte W1 und Wn einmal in den Wort-Trigrammen vorkommen, W2 und W(n-1)
zweimal, und die anderen dreimal.  Wenn n nicht sehr gross ist wird
dadurch also die naive Zählung der Zeichen-n-Gramme verfälscht.  Ich
glaube, bei Google ist n die Anzahl der Wörter pro Druckseite, was nicht
allzu viel wäre.  Man kann die Inkonsistenzen sicher rausrechnen, wenn
man die Wort-2- und -1-Gramme mit berücksichtigt.  Ziemlich viel Mühe
dafür, den statistischen Fehler der Belegungsbewertung sinnlos klein zu
machen.

Andreas







Re: [Neo] XKB-Treiber: Taste gleichzeitig als normale Taste und Modifier nutzen

2012-01-03 Diskussionsfäden wettstein509
 ich würde gerne eine Buchstaben-Taste (z.B. n) als Shift-Modifier nutzen, wenn
 sie gedrückt gehalten wird.
 Wird keine andere Taste gedrückt, soll die Taste sich „normal” verhalten. 
 (D.h.
 jeweils ein XEvent für das Drücken und Loslassen der Taste gesendet werden.)
 
 Leider sehe ich keine Möglichkeit, die Reaktion auf die Eingabe auf das
 Loslassen der Taste zu verschieben. Weiß jemand, ob dies
 mit XKB realisierbar ist?

Mit XKB geht das nicht.  Mit der nächsten Version von libX11 kann man
sowas mit Compose machen:

  Shift_R : n

Aber dort, wo Compose nicht aktiv ist, funktioniert das nicht.  Du
brauchst daher zumindest ein n für Notfälle, das in der normalen
Tastaturbelegung enthalten ist.

Die meines Wissens beste Möglichkeit erfordert ein wenig programmieren.
Mit der XRECORD Extension kann man die Tastatureingabe belauschen und
mit der XTest Extension Tastatureingaben simulieren.  Damit lässt sich
das Gewünschte relativ einfach (100 Zeilen) umsetzen.  Bei Bedarf kann
ich ein Beispiel posten, das etwas von der Idee her Ähnliches macht.

Andreas




Re: [Neo] XCompose: ♫sum funktioniert nicht

2011-12-18 Diskussionsfäden wettstein509
 Trotz `~/.xinputrc` geht es immer noch nicht damit. Der folgende Befehl
 bringt auch keine Besserung.
 
 $ export DISABLE_IMSETTINGS=yes; export GTK_IM_MODULE=xim; 
 gnome-terminal

Leider habe ich noch nie eine brauchbare Dokumentation für «input methods»
gesehen.  Also rumprobieren.  Vielleicht zusätzlich noch:

  export XMODIFIERS=@im=local

oder

  export XMODIFIERS=@im=none

Und dann vielleicht noch

  export XIM_PROGRAM=

Oder durchforste deine Systemeinstellungen (oder Spracheinstellungen)
nach ibus und SCIM und stelle sie gegebenefalls ab.

  ℜ ist eines dieser Neo-Mätzchen, die GTK wahrscheinlich nicht hat.

 Gut. Einen Fehlerbericht dafür konnte ich nicht finden, sodass ich
 nachher einen schreiben werde.

Es ist weder ein Fehler von Neo, eine Sequenz für ℜ zu definieren, noch
einer von GTK, das nicht zu tun.

Andreas



Re: [Neo] XCompose: ♫sum funktioniert nicht

2011-12-18 Diskussionsfäden wettstein509
 Heißt das, GTK ignoriert `~/.XCompose` und das ist so gewollt?

Ja.  In der Voreinstellung (ohne GTK_IM_MODULE und was sonst noch zu
setzen) benutzt GTK die fest in GTK eingebauten Compose-Sequenzen.

Andreas





Re: [Neo] XCompose: ♫sum funktioniert nicht

2011-12-18 Diskussionsfäden wettstein509
 Ich habe die Umgebungsvariablen so in `~/.xinputrc` gesetzt.

Auf manchen Systemen ist das richtige File ~/.xinput.d/LOCALE (also
zum Beispiel ~/.xinput.d/de_CH) oder ~/.xinput.d/all_ALL.  Wenn du
im-switch auf deinem System hast siehst du das mit 'im-switch -l'.

$ export DISABLE_IMSETTINGS=yes; export GTK_IM_MODULE=xim; 
 gnome-terminal

Probiere das nochmal, und zwar von einem xterm aus, und nachdem du alle
anderen gnome-terminal zuvor geschlossen hast.  Offenbar gibt es immer
nur einen gnome-terminal-Prozess, der dann ein weiteres Fenster
aufmacht, wenn man noch einmal gnome-terminal startet.  Die
Umgebungsvariablen für das Terminal sind also die, die beim Starten des
ersten Terminalfensters aktiv waren.  Hingegen läuft die Shell im neuen
Terminalfenster natürlich mit den aktuellen Umgebungsvariablen...

Andreas



Re: [Neo] XCompose: ♫sum funktioniert nicht

2011-12-17 Diskussionsfäden wettstein509
XKeysymToKeycode returns keycode: 105

Das sollte eigentlich keine Rolle spielen.  Ich vermute, Pascal hat
seine rechte Control-Taste in eine zweite Compose-Taste umfunktioniert.

 Über die GNOME Tastatureinstellungen habe ich meine Optionen nun

Aber GNOME (bzw. GTK) könnte eine Rolle spielen.  Siehe die FAQ:

  
http://wiki.neo-layout.org/wiki/FAQ#BeimirfunktionierenmancheKombinationenmitderKombo-Compose-TasteoderdentotenTastenT1T2T3unterGnomeundGTK-Programmennicht.

Andreas



Re: [Neo] XCompose: ♫sum funktioniert nicht

2011-12-17 Diskussionsfäden wettstein509
 Vielen Dank für den Hinweis. Die auf der Seite beschriebenen Probleme
 habe ich nicht. Ich konnte alle genannten Kombinationen ohne Probleme
 unter GNOME erstellen.

Vermutlich hat GTK die Composesequenzen in den Beispielen jetzt auch
implementiert. 

Hast du die Umgebungsvariablen so gesetzt wie in der FAQ angegeben?
Wenn nicht, tu es.

 Mein Problem ist übrigens auf einem anderen System mit Awesome als
 Fensterverwaltung auch vorhanden.

Der Windowmanager ist egal.  Du hast übrigens noch nicht geschrieben,
welcher Anwendung du das ∑ zu entlocken versuchst, und das spielt eine
Rolle.

 Bei ♫sum und ♫int wird in `xev` das Symbol angezeigt, aber im Fenster
 erscheint nur das letzte Zeichen (m oder t).

xev ist halt kein GTK-Programm.  Probiere mal ein xterm, da geht es
bestimmt auch.

 Ich habe auch Kombinationen gefunden, die *nicht* funktionieren und die
 ein UTF-8 Zeichen erzeugen und aus zwei Buchstaben bestehen. Der
 Realteil ℜ erzeugt mit ♫re ist ein Beispiel dafür.

ℜ ist eines dieser Neo-Mätzchen, die GTK wahrscheinlich nicht hat.

Andreas






Re: [Neo] Howto: Write reversed Questionmark

2011-11-14 Diskussionsfäden wettstein509
 Multi_key question question   : ⸮   questionreversed # customized

questionreversed ist keine Standard-keysym, daher solltest du sie hier
weglassen, durch U2E2E ersetzen oder in deiner XKeysymDB definieren.

Andreas



Re: [Neo] Grundlinie

2011-10-24 Diskussionsfäden wettstein509
 Ein anderes Problem ist die Anpassung an eine spezifische Sprache. NEO
 ist speziell für die deutsche Sprache ausgerichtet. Allerdings schreibe ich
 auch viel in Englisch. Gibt es Layouts, die das berücksichtigen? 

«Aus den Neo-Welt» wurde mit gleichen Gewichten für Englisch und Deutsch
optimiert.

Andreas




Re: [Neo] terminal server client linux-windows

2011-10-19 Diskussionsfäden wettstein509
 ich arbeite oft per tsc auf windowskisten und habe es bisher nicht geschafft
 eine zufriedenstellende lösung für neo gebastelt zu bekommen.
 hat es schonmal jemand geschafft oder könnt ihr mir tipps geben?

Ich vermute, tsc beruht auf rdesktop, zumindest ist das für die
Programme, auf die Google mich mit Terminal server client geführt hat
der Fall.  Du könntest rdesktop direkt verwenden, denn bei rdesktop kann
man die Umsetzung der Tastendrücke mit eigenen Tabellen nach Wunsch
steuern (Option -k):

  
http://sf.own-it.nl/repositories/entry/otc/trunk/rdesktop-1.6.0/doc/keymapping.txt?rev=2

Einfach gesagt schaut rdesktop auf der Seite von X auf keysyms und setzt
sie gemäss der Tabelle in Tastendrücke auf Windowsseite um.  Daher muss
die von rdesktop verwendete Tabelle zu der auf Windows-Seite
eingestellten Belegung passen.

 1. linux mit neo, windows mit de/us, keine angabe bei tsc
 ebene 4 pfeiltasten, return, del, backspace gehen, ebene 3 nicht nutzbar 
 (total
 wirres mapping)

Die Probleme mit Ebene 3 kommen vermutlich daher, dass Mod3 auf
Windowsseite AltGr drückt, was nicht erwünscht ist, weil die meisten
Zeichen von Ebene 3 in einer de-Belegung nicht auf der AltGr-Ebene
liegen.  Mit

  ISO_Level3_Shift 0x0 ignore
  Mode_switch 0x0 ignore

(ersteres für xkbmap, letzteres für xmodmap) in deiner Tabelle kannst du
das abstellen.

Andreas







Re: [Neo] auch unter Ubuntu (Linux) Nordast als Umschalt + F12

2011-09-18 Diskussionsfäden wettstein509
Hallo Erik,

 Ich möchte gerne auch wie mit neo.exe unter Linux (bei mir Ubuntu) auf 
 Nordtast
 wechseln können und zugleich die Neo Ebene 3 bis 6 behalten.

Meine Neo-Umsetzung unterstützt auch NordTast.  Umgeschaltet wird
allerdings nicht mit F12, sondern mit ScrollLock.  Siehe

  http://wettstae.home.solnet.ch/neo.sh.gz

 Warum geht das (noch) nicht?   und wann wird es (vermutlich) gehen?

Es besteht vermutlich zu wenig Bedarf.

Andreas





Re: [Neo] Neo in Ubuntu 11.04

2011-08-08 Diskussionsfäden wettstein509
 Mich wuerde eben nur interessieren, warum das Skript nicht automatisch 
 startet,
 wenn ich mich einlogge. 

Bist du sicher, dass es nicht startet?

~/.profile wird von der Login-Shell ausgeführt, sollte daher von allen
persönlichen Einstellungen als erstes dran kommen.  Wenn die
«Tastatur»-Einstellungen in den «Systemeinstellungen» später dran sind
überschreiben sie die Einstellungen von ~/.profile.

Probiere mal, des Skript über «Startprogramme» in den
«Systemeinstellungen» laufen zu lassen.

Andreas



Re: [Neo] Modifierpositionen

2011-08-06 Diskussionsfäden wettstein509
 Über diese Möglichkeit hatte ich heute auch kurz nachgedacht -

Ich habe auch noch mal drüber nachgedacht.  Ich habe wieder mal das
eigentliche Problem übersehen: Wenn man flüssig tippt, kommt es oft vor,
dass man eine Taste anschlägt bevor man die vorherige loslässt.  Eine
Leertaste mit Nebenberuf Shift würde viele ungewollte Grossbuchstaben
erzeugen.  Aus dem Grund bin ich auch weitgehend von meinem Vorschlag
mit Modifikatoren als toten Tasten abgekommen (ein alter Vorschlag,
https://lists.neo-layout.org/pipermail/diskussion/2010-February/015959.html),
auch wenn ich ihn für einen ganz speziellen Zweck nutze.

 Man könnte vielleicht die Key-Down/Ups unverändert ans System
 weiterreichen und Character-Messages produzieren, die so bei einem
 klassischen Treiber nicht von den Tastendrücken stammen können
 (z.B. eben kein Leerzeichen produzieren obwohl es Key Down und Up für
 die Leertaste gegeben hat). Aber auch das bringt Probleme mit sich, da
 man die Shift Taste nicht einzeln drücken könnte. Kombinationen wie
 Shift+Space würden auch problematisch.

Das klingt nach Eingabemethode.  Unter X leiten Anwendungen Tastenevents
an diese weiter, und die Eingabemethode kann die Tastenevents filtern
(dann ignoriert die Anwendung sie) oder durchlassen, und ausserdem
Strings mit erzeugten Zeichen an die Anwendung zurückliefern.  Die
Eingabemethode könnte also Space abfangen (und von den folgenden
Eingaben abhängig machen, was für einen String die Anwendung sehen soll)
und Shift-Space durchlassen.

Andreas



Re: [Neo] Chording für entspannteres Tippen

2011-07-30 Diskussionsfäden wettstein509
 ²: http://www.emacswiki.org/emacs/ControlLock

Ein Control-Lock lässt sich mit XKB leicht machen.  Das funktioniert
dann für alle Programme, nicht nur für Emacs.

 ³: http://www.emacswiki.org/emacs/KeyChord

Danke für den Link.  Chording ist eine interessante Sache.

 Wichtig dabei ist, dass die Tasten nict (oft) in normalen Texten 
 hintereinander vorkommen, damit die chords nicht ausversehen getriggert 
 werden. 

Ausser der Buchstabenhäufigkeit könnte man auch die Lage der Tasten
heranziehen.  Insbesondere wird man kaum versehentlich Tasten
gleichzeitig drücken, die eigentlich von selben Finger angeschlagen
werden.  Auf der linken Hand gibt es ein paar solche Kombinationen, die
man auf gewöhnlichen Tastaturen mit versetzten Zeilen bequem mit zwei
Fingern eingeben kann, zum Beispiel QWERTZ-ed.

Leider ist es mit X nicht leicht, chording in allen Programmen zum
Funktionieren zu bringen.  Hat jemand Erfahrungen mit autokey?

  http://code.google.com/p/autokey/

 bf, bh, bp, cd, cf, cg, cp, cq, cv, cw, cy, dc, dm, fm, fy, fz, gm, gy, hy, 
 hz, iq, mv, mw, nx, pz, qr, qt, sx, sz, uu, uv, vy, ww, wy, yy

uu als chord zu tippen dürfte auch mit cry schwierig sein…

Andreas




Re: [Neo] Shortcut-Ebene

2011-07-28 Diskussionsfäden wettstein509
 * technische Machbarkeit?

Unter X geht es; mein «Aus den Neo-Welt»-Skript
(http://wettstae.home.solnet.ch/AdNW.sh.gz) bietet
das als Option an.

Andreas



Re: [Neo] Zeitleiste von Neo

2011-02-10 Diskussionsfäden wettstein509
 Auf Anregung von Arno hin habe ich mal einen ersten Entwurf einer
 Zeitleiste von Neo gemacht (Siehe Anhang). Anregungen sind natürlich
 sehr willkommen. 

Ich habe Einwände.  Die harten Fakten:

- «Aus der Neo-Welt» stammt nicht von Ende 2010, sondern von Mai 2010.

Und die abweichende Meinung:

- NordTast, «Aus der Neo-Welt» und HAEIK sollten nicht mit direkten
  Pfeilen verbunden werden.  Sie wurden mit verschiedener Software (im
  Falle von NordTast teilweise manuell), verschiedenen Korpora («Aus der
  Neo-Welt» ist für Deutsch und Englisch optimiert, NordTast und HAEIK
  für Deutsch) und verschiedenen Kriterien erstellt.  Bei den Kriterien
  kann man nicht mal behaupten, dass die einen Kriterien
  Weiterentwicklungen der anderen wären.

- «Aus der Neo-Welt» hat eine Verbindung zu Neo (dem Projekt) insofern,
  als es aufgrund von Diskussionen auf der Neo-Mailingliste entstanden
  ist.  Für NordTast kann man das nur bedingt behaupten.

- Zu Neo 2.0 (dem Layout) besteht weder für NordTast noch «Aus der
  Neo-Welt» eine Verbindung.  Beide legen lediglich die Position von 31
  bzw. 32 Zeichen fest und weichen darin von Neo 2.0 stark ab.  Die
  Entwurfskriterien für die Neo-Buchstabenpositionen haben keine Rolle
  gespielt.  Alles, was sonst Neo 2.0 noch ausmacht, kann man mit
  NordTast und «Aus der Neo-Welt» kombinieren, braucht es aber nicht.

- Vorgänger von NordTast und «Aus der Neo-Welt» sind eher die Klauslers,
  denn wir haben Klauslers Bewertungsschema von der Struktur her
  übernommen.  Für «Aus den Neo-Welt» soll man auch Dvorak als Vorgänger
  ansehen; ich habe mich an seinen qualitativen Kriterien orientiert,
  auch denen, bei denen man ernsthaft bezweifeln kann, dass sie für
  Computertastaturen eine Rolle spielen.

Aus meinen Sicht gibt es einen Entwicklungsstrang, der von Neo 1.0 nach
Neo 2.0 geht.  Auf diesem Strang ist dazugekommen, was Neo einzigartig
macht: Die Ebene mit den ASCII-Sonderzeichen, die Ebene mit den
Navigationstasten, die typographischen Kinkerlitzchen, die
mathematischen Sonderzeichen und (in der Grafik nicht erwähnt) die
Unterstützung von Sprachen durch neue tote Tasten und Composesequenzen.

Neben diesem Strang liegen die neuen Layouts, die eher mit Dvorak als
mit Neo zu tun haben, und eher einen Fächer als einen Strang bilden.

Ob und und wie dieser Fächer und der Neo-Strang dann mit einem «Neo 3.0»
zusammenhängen, das hängt von denen ab, die diese Verbindung herstellen
wollen.

Andreas



Re: [Neo] Control-X/C/V mit alternativen Belegungen

2011-02-08 Diskussionsfäden wettstein509
 Hm drei Tasten zusammen sind ich für so eine häufige Tastenkombination
 vielleicht etwas umständlich. Rein prinzipiell könnte ich mir das aber auch
 noch ganz gut vorstellen (auch wenn ich M3+Alt auf der linken Seite vorziehen
 würde).

Gegen einen drei-Tasten-Griff spricht neben der Bequemlichkeit auch,
dass die meisten Tastaturen nicht alle Kombinationen von mehr als zwei
gleichzeitig gedrückten Tasten richtig erkennen können.  Bei einem
Einhänder hat man auch nicht die Möglichkeit, allfälligen Problemen aus
dem Weg zu gehen, indem man einen Modifier von der anderen Seite nimmt.

Daniels Vorschlag hat den grossen Vorzug, dass er zu zwei Dritteln schon
umgesetzt ist.  Auf der Pseudo-Ebene (Ebene 7) gibt es nämlich
Shift+Delete (Cut) und Shift+Insert (Paste).  Dank Ebene 4 ist auch
Control+Insert (Copy) mit der linken Hand zu greifen.

Laut

  http://en.wikipedia.org/wiki/Cut,_copy,_and_paste

sollten die Kombinationen mit Insert und Delete für Cut/Copy/Paste unter
X mindestens so gängig sein wie Control+X/C/V.  Ausserdem sind sie
Emacs-kompatibel.  Unter X wäre es demgemäss günstiger, einen Vorschlag
wie zum Beispiel den von Robby sinngemäss über Insert und Delete statt
dem Wortlaut nach über Control+X/C/V zu implementieren.

Das ist erstmal Theorie.  Es würde mich interessieren, ob jemand
Anwendungen kennt, die unter X laufen, die Control+X/C/V für
Cut/Copy/Paste unterstützen, aber Shift+Delete, Control+Insert und
Shift+Insert nicht.

Andreas




Re: [Neo] Windowstasten per Xmodmap zu AltGr (Mod4) machen?

2011-01-30 Diskussionsfäden wettstein509
 X Error of failed request:  BadValue (integer parameter out of range for
 operation)
   Major opcode of failed request:  118 (X_SetModifierMapping)
   Value in failed request:  0x17
   Serial number of failed request:  14
   Current serial number in output stream:  14

Siehe http://wiki.neo-layout.org/ticket/189, insbesondere die Erklärung
von Peter im sechsten Kommentar.  Was bei xkbmap schief geht ist mir
daraus aber nicht klar.

Andreas



Re: [Neo] Neo-Dokumentation und weiteres

2011-01-30 Diskussionsfäden wettstein509
 2) Desweiteren würde ich gerne die Webseite und Teile unseres Wikis 
 übersetzen. Wie einfach/schwierig gestaltet sich so eine Multisprachenversion 
 der Webseite? Wer würde dabei mithelfen? Je mehr Informationen insbesondere 
 auch in Englisch verfügbar sind, desto besser.

Vor ein paar Tagen hat Martin Engel eine Nachricht zu dem Thema
geschickt.  Zumindest bist du mit deinem Anliegen nicht ganz allein.

 3) Mir ist vor kurzem ein Französisches Projekt über den Weg gelaufen: 
 http://bepo.fr/wiki/Accueil 
 Leider verstehe ich nicht so viel Französisch, aber die bemühen sich auch um 
 i) eine Optimierung der Tastenposition nach ihrer Sprache und ii) die 
 Eingabemöglichkeit vieler Zeichen (insbesondere Griechisch, etc.). Die 
 könnten 
 sich sehr für unser Ebenendesign interessieren, denn die haben anscheinend 
 ein 
 paar Sachen bzgl. ii) umständlicher gelöst.

Ganz auf den Kopf gefallen sind die auch nicht.  Sie haben offenbar
schon mit zusätzlichen Ebenen experimentiert.  Siehe:

  https://bugs.freedesktop.org//show_bug.cgi?id=21475

(das interessiert dich vielleicht auch so, es geht eigentlich um tote
Tasten und um Griechisch).

 4) Es ist irgendwie untergegangen: Wir hatten mal einen inoffiziellen 
 Kyrillisch- und Griechisch-Modus gebastelt, die beide praktisch schon fertig 
 waren. Ich hatte mir damals gewünscht, dass es einen einfachen Mechanismus 
 gibt, um diese umzuschalten (Mod3-F1/2/3 oder so), habe aber nicht genug 
 technische Expertise, um soetwas selbst umzusetzen.

Ich habe inzwischen meinen monolithischen Treiber etwas umgeschrieben
und dabei einen X-Modifier eingespart.  Den könnte man für zusätzliche
Ebenen benutzen.  Und das wäre mehr als eine technische Fingerübung,
denn die naive Methode mit Layoutumschaltung hat (unter X) einen Haken:
Wenn man die lateinischen Buchstaben durch griechische oder kyrillische
ersetzt, kann man keine Ctrl- und Alt/Meta-Codes der lateinischen
Buchstaben eingeben.  So eine Belegung ist nur bedingt brauchbar.  Mit
einem Layout mit vielen Ebenen kann man das korrigieren, mit mehreren
simplen Layouts (groups in XKB) nicht.  Allerdings ist die Methode mit
den vielen Ebenen unhandlich.  Da wäre es doch besser…

 5) Da ich mich gerade für ein Auslandsstudium in Japan befinde, bin ich stark 
 auf eine Eingabemethode wie ibus (ähnlich zu scim) in praktisch allen 
 Programmen angewiesen. Diese ist jedoch inkompatibel zu allen möglichen Cokos 
 und toten Tasten, die dadurch nicht mehr funktionieren. Im Wiki gibt es eine 
 Anleitung, die sich aber darauf beschränkt, scim für Teile zu deaktivieren, 
 was hier aber keine Lösung ist. Das ist eine relativ unbefriedigende 
 Situation 
 für mich, da ich seit einigen Monaten eben viele der Neo-Funktionen nicht 
 nutzen kann. Hat jemand Lösungsvorschläge oder Ideen dazu?

Man könnte im Prinzip für ibus eine verbesserte Compose-engine
entwickeln und damit hübsche Sachen machen, zum Beispiel Tasten
dynamisch töten und wiederauferstehen lassen.  Das wäre ideal, um einen
Griechisch- und Kyrillischmodus mit Compose (temporär totes a gibt α und
so weiter) zu realisieren. Ctrl- und Alt/Meta-Sequenzen würde man immer
am Leben lassen und hätte dieses Problem damit elegant gelöst.

Dir würde auch geholfen sein, denn in ibus kann man zwischen
verschiedenen engines umschalten.

Ich habe vor ungefähr einem Jahr auf dieser Liste eine primitive
ibus-engine vorgestellt, in der Hauptsache, um Modifikatortasten besser
auszunützen, die aber als Zückerchen auch erlaubt, Unicodezeichen als
vierstellige Hexzahl einzutippen.  Siehe

  http://lists.neo-layout.org/pipermail/diskussion/2010-February/015959.html

Das hat mir erstmal gereicht, weil es in Python war und ich Python
eigentlich garnicht kann, und interessiert hat es sowieso niemanden.
Völlig abwegig ist zumindest nicht, eine spezielle Neo-Compose-engine zu
machen.  Leider habe ich den Eindruck, dass Eingabemethoden, am liebsten
garnicht oder zur Not wenigstens unverständlich dokumentiert sind.  Das
macht die Sache nicht einfacher.

Vielleicht solltes du erst einmal herausfinden, ob ibus oder scim nicht
doch eine Compose-engine mitbringen, und wenn ja, ob und wie man damit
eigene Compose-Sequenzen definieren kann.  Das würde zur
Besitzstandswahrung schon reichen.

Andreas



Re: [Neo] Windowstasten per Xmodmap zu AltGr (Mod4) machen?

2011-01-29 Diskussionsfäden wettstein509
  Je nach Ausgangsbelegung kannst du etwas in der Art benutzen:
  
keysym Super_L = ISO_Level5_Shift
keysym Super_R = ISO_Level5_Shift
clear mod4
 
 Übrigens kann gerne AltGr mod4 sein und die Windowstaste daneben auch.
 Also kann ich wohl das clear weglassen. Oder verstehe ich das falsch?
 Naja, probieren geht über studieren. ;-)

Das mod4 oben ist das X-Mod4, nicht das Neo-Mod4.  Wenn du das X-Mod4
nicht mit löschst werden deine neue Neo-Mod4-Tasten auch X-Mod4 setzen.
Das ist vielleicht Ursache für die Probleme, die du in der zweiten
Antwort beschreibst.

Daneben hängt wie erwähnt die Änderung, die du machen musst, von der
Ausgangsbelegung ab.  Der Vorschlag oben sollte funktionieren, wenn du
die Neo-xkbmap verwendest, und wenn die Windowstasten wie üblich
Super-Tasten sind.  Wenn du die Neo-xmodmap verwendest brauchst du statt
ISO_Level5_Shift ISO_Level3_Shift, falls ich mich recht erinnere.

Ich würde empfehlen, die geänderte Belegung mit xev zu testen.  Dann
sieht man zumindest, was los ist.

 Achso, statt einer Xmodmap, sollte ich’s lieber mit setxkbmap …
 versuchen? Wie würde das dann aussehen?

Probier mal (nicht getestet, weil ich kein Neo mehr kann):

  setxkbmap de neo -option lv5:lwin_switch_lock,lv5:rwin_switch_lock

Andreas




Re: [Neo] Control-X/C/V mit alternativen Belegungen

2011-01-28 Diskussionsfäden wettstein509
 Wenn die Alternative XCV Belegung
 eine Neo Belegung stört wäre das echt schade.

Man verliert zumindest keine Funktionalität.  Wenn man die linke Ctrl-,
Windows- oder Alt-Taste in Verbindung mit Ebene 4 oder 6 benutzen will,
muss man nur darauf achten, dass Ctrl, Windows oder Alt vor Mod4
gedrückt werden.

Dabei wird allenfalls Alt in Verbindung mit den Steuertasten auf Ebene 4
lästig.  Man würde gerne Mod4 gedrückt halten und Steuertasten mal ohne,
mal mit Alt drücken.  Das geht so nicht mehr.

Dieses Ärgernis besteht nur, weil Neo keine rechte Alt-Taste anbietet.
Wenn man ein zusätzliches Alt zum Beispiel auf die rechte Windows- oder
Menü-Taste legt, ist auch das erledigt.

Andreas



Re: [Neo] Windowstasten per Xmodmap zu AltGr (Mod4) machen?

2011-01-28 Diskussionsfäden wettstein509
 Kann man diese Windowstasten per Xmodmap zu was anderem machen?

Ja.

 Zum Beispiel zu einer rechten Mod4-Taste?

Das geht nur mit der rechten Windowstaste, nicht mit der linken.

Andreas



P.S.

Je nach Ausgangsbelegung kannst du etwas in der Art benutzen:

  keysym Super_L = ISO_Level5_Shift
  keysym Super_R = ISO_Level5_Shift
  clear mod4

Übrigens, xkeyboard-config hat fixfertige Optionen dafür.





[Neo] Control-X/C/V mit alternativen Belegungen (was: AdNW getestet – bleibe doch bei Neo)

2011-01-23 Diskussionsfäden wettstein509
 Mir gefällt aktuell die zweite Variante besser, weil sie in jeder Situation 
 gut
 zu erreichen ist. Wenn man beide Hände auf der Tastatur hat, bietet sich Z/H/N
 mit dem rechten Zeigefinger an (und man kann auf der Grundposition
 bleiben). Wenn die rechte Hand auf der Maus liegt, kommt man aber auch mit dem
 linken Zeigefinger noch einigermaßen bequem dran. Nur Mod4 ist auf der linken
 Seite etwas klein. Ich denke aber man gewöhnt sich dran (oder verwendet Mod4
 rechts).

Diese Variante hat den Nachteil, dass die Bedienung mit einer Hand eine
ungeteilte Tastatur voraussetzt.  Ansonsten finde ich diese Lösung
einleuchtend.  Dass ein paar Symbole verdrängt werden, scheint mir
akzeptabel; ¡ und ¿ passen ohnehin weder zum Zahlenblock noch zum
Navigationsblock.

 Auf der anderen Seite lässt die erste Variante die 4. Ebene intakt. Allerdings
 finde ich das Moment nicht so schön zu tippen, weil man die Grundposition
 verlassen muss (Qwertz S/D/F kollidiert mit Windows-Shortcuts) und mit dem
 kleinen Finger so weit runter muss.

Diese Variante ist nicht schwerer zu tippen als das Original
QWERTZ-Control-X/C/V, oder?

Noch mehr Varianten:

- Auf Ebene 4 sind Tab und 4 noch unbelegt.  Man könnte eine Position
  mit Control-C, die andere mit Control-V belegen.  Control-X kann man
  sowohl mit «Aus der Neo-Welt» als auch mit Arnes neuer Belegung ohne
  Tricks mit links eingeben.

- Auf der linken Hälfte von Ebene 4 gibt es Symbole, auf die man
  vielleicht zugunsten von Steuerfunktionen verzichten würde: ª º №.

- Man legt die Control-Codes auf die Umlaute; zum Beispiel könne die
  Eingabe von Control-ö ein Control-C an die Anwendung schicken.  Das
  setzt voraus, dass keine Anwendung Control-Umlaut als Kürzel
  verwendet.  Dieser Vorschlag war schon vor einem Jahr auf dem Tisch,
  hat aber keine Resonanz gefunden.

- Man tippt Control-C und Control-V mit Control-T1 und Alt-T1.  Wenn
  Control und Alt mit dem Daumen gedrückt wird ist das schmerzfrei, die
  Hand muss man aber schon bewegen.  Konflikte mit Kürzeln in
  Anwendungen sind nicht zu befürchten.

- Man könnte spezielle Sequenzen benutzen, um die Control-Codes
  einzugeben.  Zum Beispiel könnte Drücken, Loslassen und wieder drücken
  von Control (ohne irgendetwas dazwischen) ein Control-C eingeben,
  Drücken und Loslassen von Alt gefolgt von Drücken von Control ein
  Control-V.  Unter X braucht man dazu ein Zusatzprogrämmchen.  Ich habe
  etwas in der Art im Einsatz.

Es wäre gut, Rückmeldung zu dem Thema zu bekommen.  Die Mausschubser
lassen sich einfach nicht damit abspeisen, dass sie im Vergleich zu den
vi-Usern nichts zu klagen haben.  Wir brauchen eine Lösung.

Andreas




Re: [Neo] AdNW getestet – bleibe doch bei Neo

2011-01-22 Diskussionsfäden wettstein509
 Kopieren, ausschneiden und einfügen mit Strg + c, x und v sind, wenn man
 die rechte Hand an der Maus hat, sehr schlecht zu erreichen.
 Berücksichtigt das bitte für ein Neo 3.

Mit meinem XKB-Treiber kann man diese Funktionen mit Mod4 plus rechter
Control/Windows/Alt-Taste erreichen (das war eine Idee eines Mitglieds
der Nordtast-Liste).  Auf Windows kann das bestimmt auch so machen.  Es
gibt keinen Grund, wegen dieser Tastenkombinationen Kompromisse bei der
Lage der Buchstaben einzugehen.

Andreas



Re: [Neo] Tastenbelegung mit xmodmap ändern

2011-01-16 Diskussionsfäden wettstein509
 Okay, dann war das mein Fehler. Ich habe gedacht, xmodmap ist xmodmap und so 
 wie 
 ich die QWERTZ-Belegung ändere, so ändere ich auch mein NEO über xmodmap. 
 Aber 
 das ist wohl nicht der Fall?!

Was du bei xmodmap bekommst, hängt davon ab, welche Belegung du damit
überschreibst, insbesondere davon, wieviele Ebenen jede Taste hat und
wie diese Ebenen xkb-technisch realisert sind.  Das ist der Grund dafür,
dass man erst ein litauischen Layout einstellen soll, bevor man die
Neo-xmodmap läd; das litauische Layout hat die erforderlichen
Eigenschaften.

 Das funktioniert leider auch nicht besser als wenn ich (wie in meinem Post 
 schon 
 erwähnt) nur 8 Zeichen/Ebenen definiere. Die Ausgabe ändert sich kein Stück.

Zwei Vorschläge:

1. Lass dir mit

 xmodmap -pke  meine.xmodmap

   die aktuelle Belegung in das file meine.xmodmap ausgeben, editiere es
   nach Geschmack, und lade es mit

 xmodmap meine.xmodmap

   zurück.

2. Lass dir mit

 xkbcomp :0 meine.xkb

   die aktuelle Belegung in das file meine.xkb ausgeben, editiere es
   nach Geschmack, und lade es mit

 xkbcomp meine.xkb :0

   zurück.

Die zweite Variante ist bevorzugt und funktioniert sicher, bei der
ersten habe ich nur einen ganz einfachen Test gemacht.

Andreas





Re: [Neo] [NordTast] AdNW in NeoVars

2010-12-16 Diskussionsfäden wettstein509
 Kann ich deine Mail mit der Beschreibung der Parameter hier posten? Die finde 
 ich nämlich klasse!

Ja, klar.

Andreas





Re: [Neo] [NordTast] AdNW in NeoVars

2010-12-15 Diskussionsfäden wettstein509
 Ich erspare mir hier die Vorstellung von AdNW, das sollen andere Leute tun, 
 die sich mehr um seine Entstehung bemüht haben als ich.

«Aus der Neo-Welt» wurde auf der Neo-Liste schon vorgestellt, nur ohne
den Namen.  Es ist die erste der Belegungen, die ich hier gezeigt habe:

  http://lists.neo-layout.org/pipermail/diskussion/2010-May/017417.html

Wer den Thread zurückverfolgt wird ungefähr wissen, wie es zu dieser
Belegung gekommen ist.


Eine Implementierung für Systeme, die X benutzen, ist hier:

  http://wettstae.home.solnet.ch/neo.sh.gz

Das ist ein ksh-Skript, das ein xkb-File erzeugt.  Eine kurze
Beschreibung bekommt man mit ./neo.sh -h.  Das Skript unterstützt auch
Neo2 und NordTast (Wer schon länger die Neo-Liste mitliest: Das Skript
ist die aktuelle Version meines «monolithischen Treibers»).

Gegenüber naiven Anpassungen der offiziellen Neo-Treiber hat neo.sh den
Vorteil, dass es sich um die Probleme mit Ebene 4 herummogelt.  Leider
funktioniert das nicht auf allen Systemen.  Probleme habe ich vor allem
auf modernen Systemen beobachtet, Ebene 4 ist dort weitgehend
lahmgelegt.  Für solche Systemen kann man die Option -n benutzen,
verliert dann aber einige Neo-Spezialitäten (siehe ./neo.sh -h).  Ich
habe Anlass zu vermuten, dass die Probleme bei X-Servern ab Version
1.9.0.901 behoben sein könnten; ein Satz in den Release-Notes tönt sehr
danach.  Über Rückmeldung diesbezüglich wäre ich dankbar, ich selbst
habe noch eine ältere X-Server-Version.

Andreas



Re: [Neo] Brauche Hilfe bei der Behandlung von bigrammen mi t Großschreibung und höheren Ebenen

2010-10-22 Diskussionsfäden wettstein509
 Ich würde gerne mal wieder schauen, ob ich nicht einen ein-tag-korpus 
 erstellen kann. Mit dem Prog von Klausler kann ich zumindest mein 
 Programmieren mit emacs einfangen. 

Du meist mit einer Art keylogger?  Mit der XRecord-Extension kann man
einen schreiben, der jedes Tastenevent (leider auch solche, die durch
autorepeat erzeugt werden) mitbekommt, nicht nur solche in Emacs.
Leider müsste man mühsam die aktuelle Ebene und daraus die eingegeben
Zeichen rekonstruieren, der Modifikatorstatus wird nämlich nicht
mitgeliefert.  Bei Bedarf kann ich mich näher dazu auslassen.

Wenn du an einem Tag soviel tippst, dass das Ergebnis statistisch
brauchbar ist, bist du wirklich schnell.  Und wenn es darin nicht vor
Tippfehlern wimmelt bist du sehr sorgfältig.  Und wenn das Ganze dann
noch irgendwie repräsentativ ist, bist du sehr durchschnittlich, und das
passt nicht zu «sehr schnell» und «sehr sorgfältig».

  Ich bin von meiner Ansicht abgerückt.  Heute behaupte ich, man müsste
  die u-ShiftL-Kollision normal und die von u-b Kollision schwächer
  werten, weil zwischen u und b ja noch eine Taste (ShiftL) gedrückt wird.
  Das ist ein Spezialfall einer «indirekten Kollision»: Einer Kollision
  zwischen Tasten, zwischen denen eine weitere Taste mit der anderen Hand
  oder mit dem Daumen getippt wird.  Mein aktuelles Lieblingsthema.
 
 Könntest du mir das erklären? Am besten direkt auf der Liste :)

Es geht um Sequenzen von drei Tasten, von denen die erste und die letzte
auf derselben Hand liegen, die mittlere aber nicht.  Solche Sequenzen
mit zwei Handwechseln sind schnell zu tippen.  Daher kann man sich
vorstellen, dass die Position der ersten Taste einen Einfluss darauf
hat, wie leicht oder schnell die dritte zu tippen ist.

Die einfachste Art, das in eine Bewertung einfliessen zu lassen, ist dem
Trigramm dieselbe Bewertung zu geben wie dem Bigramm aus erstem und
letzten Zeichen, multipliziert mit einem Faktor kleiner eins.  Der
Faktor könnte vom Tippaufwand der mittleren Taste abhängen: Je besser
oder schneller die mittlere Taste getippt werden kann, desto grösser der
Faktor.  Das ist aber vermutlich nur eine unnötige Komplikation.

Sequenzen wie bei der Eingabe von «uB», wenn u und b auf der selben Hand
sind, sind ein Spezialfall davon, wobei Shift die mittlere Taste im
Tasten-Trigramm ist.  «Bu» ist ähnlich, aber nicht ganz gleich: Die
erste Taste ist Shift und die mittlere b.  Allerdings muss Shift
gehalten werden bis b gedrückt ist, daher beeinflusst Shift das u
stärker als die erste die dritte Taste in normalen Trigrammen.  Der
Vorfaktor vor dem Bigrammgewicht sollte daher grösser sein, aber nach
wie vor kleiner eins.

Bei Trigrammen ohne Handwechsel kann die erste Taste natürlich auch
bestimmen, wie gut die dritte zu tippen ist.  Die Situation ist aber
viel verwickelter, da die mittlere Taste eine grosse Rolle spielt.

Wenn man Trigramme mit zwei Handwechseln auf die beschriebene Art in die
Bewertung einbaut, kann unter Umständen (das hängt von anderen den
Details des Bewertungsschemas ab) etwas Interessantes passieren: Die
Vokale bei der optimalen Tastatur verteilen sich auf beide Seiten und
man hat nur noch «wenige» Handwechsel (vielleicht bei 55% aller
Bigramme).  In dieser Hinsicht ähneln diese Belegungen stärker modernen
Belegungen wie Colemak und Arensito als Dvorak.

 Ich habe allerdings noch kein effizientes System im Kopf, um das sauber zu 
 machen. Wie hast du das implementiert? 

Das kannst du im Optimierer sehen, in den Funktionen «aufwand» und
«diff_aufwand», siehe http://wettstae.home.solnet.ch/opt.c (Falls jemand
damit rumspielen will, ich habe das auch zusammen im Paket mit meinen
Korpora, in http://wettstae.home.solnet.ch/Optimierer.tar.gz).

 Die Kosten von Tasten (nicht Zeichen) kann ich ja eigentlich zwischencachen 
 (die bleiben bei dem Layout ja gleich). Mappst du dann einfach die 
 Tastenpositionen und Kosten auf eine Matrix und schreibst die Bigramme in 
 Positionen um? 

Genau.  Jede Taste hat einen Index zwischen 0 und ntaste-1, und zwei
solcher Indices geben bezeichnen einen Eintrag in der Matrix mit vorab
berechneten Bigrammkosten (Dazu kommen noch zusätzliche Indices für die
Behandlung von Shift, aber das ändert nichts am Prinzip).

Mit den Bigrammhäufigkeiten ist es genauso, nur sind die Indices nicht
Tastennummern, sondern Buchstabennummern, auch sie von 0 bis ntaste-1
nummeriert.

Kosten und Häufigkeit finden durch die Belegung, dargestellt durch eine
Permutation p der Zahlen 0…ntaste-1, zueinander.  Die Bigrammbewertung
ist dann eine Summe von K(i,j)*H(p(i),p(j)) über alle i,j.  Ein- und
Trigramme sind analog.

Andreas



Re: [Neo] Brauche Hilfe bei der Behandlung von bigrammen mi t Großschreibung und höheren Ebenen

2010-10-21 Diskussionsfäden wettstein509
Sorry, ich habe das gestern versehentlich direkt an Arne geschickt.
Jetzt aber richtig:

 Für Leute, deren Job Kernelprogrammierung ist, könnte sich die Optimierung 
 lohnen. 

Auch wenn die Programmiersprache oder sogar das Programmierprojekt
feststeht, man müsste noch wissen ob emacs, vi oder Eclipse benutzt
wird.  Was im Korpus steht ist nicht alles auch getippt worden.  Tools
nehmen unter Umständen einiges ab.

 Genauso für Leute, die viel Griechisch oder mathematische Symbole schreiben.

Die bevorzugten Symbole sind in unterschiedlichen Disziplinen
verschieden.  Ich glaube nicht, dass sich ein repräsentativer Korpus für
mathematische Symbole finden lässt.  Ausserdem, wenn man annimmt, dass
die lateinischen und griechischen Buchstaben aneinander kleben (a am α
und so weiter) müsste man normale Texte und Formeln gegeneinander
abwiegen.

 Dafür brauchen wir „nur“ einen korrekten Korpus :)

 Es geht schließlich darum, das tippen zu können, was im Korpus steht.

Ja, man braucht einen hinreichend korrekten Korpus, weil nur ein
korrekter Korpus repräsentiert, was man tippen will.  Ich habe mir
tatsächlich schon überlegt, meinen (3MB) Korpus zu bearbeiten, aber das
ist viel Arbeit mit sehr begrenztem Nutzen.

 Ich fände es grundlegend noch schöner, die feste Zuordnung der Finger auf die 
 Tasten aufzulösen. 

 Zum Beispiel hat mir eine Bekannte erzählt, dass sie im Tippkurs gelernt hat, 
 dass bei Neo „sh“ das „s“ vom Zeigefinger und das „h“ vom Mittelfinger 
 gedrückt 
 werden sollte. 

Das läuft darauf hinaus, dass derselbe Text bei derselben Belegung mit
unterschiedlichen Bewegungen getippt werden kann.  Schwierig zu bewerten
und schwierig zu lernen.  Es könnte aber wirklich die Tippeffizienz
steigern.  Gerade auf der linken Tastaturhälfte könnte man einiges mit
den «falschen» Fingern machen.

  Das ist das Bigrammgewicht Mod6R-Mod6L.  Hier müsste man allerdings noch
  berücksichtigen, dass Mod4R ausnahmsweise vom Ringfinger getippt wird.

 Du meinst M4L, oder?

Ja, richtig.

 Um das hier zu berücksichtigen, müsste die Handverschiebung von M3L-M4L 
 erhalten bleiben, d.h. wir müssten komplett auf Trigramme wechseln (teuer). 

Da braucht man noch keine Trigramme.  Die Idee mit virtuellen Tasten ist
ja gerade, das gleichzeitige Drücken von Mod3L und Mod4 wie einen
einzigen Tastendruck zu behandeln.

 Ein Gedanke, den ich noch hatte ist, bei uB die Fingerkollision von u und 
 shift-L stärker zu werten als bei Bu, weil shift etwas früher gedrückt und 
 gelöst wird als b. 
 
 …ich glaube allerdings, die Idee ist auch von dir ;)

Ich bin von meiner Ansicht abgerückt.  Heute behaupte ich, man müsste
die u-ShiftL-Kollision normal und die von u-b Kollision schwächer
werten, weil zwischen u und b ja noch eine Taste (ShiftL) gedrückt wird.
Das ist ein Spezialfall einer «indirekten Kollision»: Einer Kollision
zwischen Tasten, zwischen denen eine weitere Taste mit der anderen Hand
oder mit dem Daumen getippt wird.  Mein aktuelles Lieblingsthema.

 In den Bigrammen tut eine zusätzliche if-Abfrage nicht sehr weh. In den 
 Trigrammen wäre das etwas anderes… :)

Auf die Gefahr hin, dir auf die Nerven zu fallen: Vielleicht solltest du
die N-gramm-Strafpunkte und -häufigkeiten in simplen Matrizen
tabellieren.  Dann ist die Auswertung im wesentlichen ein Skalarprodukt
zwischen Strafpunkten und Häufigkeiten, und sowas rechnet sich gut und
schnell, auch wenn in den Matrizen viele Nullen stehen die man unnütz
abarbeitet.  Ich mache das so ähnlich, und kann auch mit Trigrammen
einige hundert lokal optimale Tastaturen pro Minute berechnen.  Es würde
mich wundern wenn es bei den numerischen Erweiterungen für Python nicht
etwas gäbe, mit dem man zumindest bis auf eine Grössenordnung daran
heran kommt.

Andreas



Re: [Neo] Brauche Hilfe bei der Behandlung von bigrammen mi t Großschreibung und höheren Ebenen

2010-10-19 Diskussionsfäden wettstein509
  Bisher wird allerdings nur shift berücksichtigt (bzw. Großbuchstaben),
  daher  dürften wir noch ein paar Kollisionen auf dem kleinen Finger
  verpassen (bei Sonderzeichen auf der dritten oder höheren Ebenen).
 
 Ich arbeite gerade daran, das zu ändern.

Schau die Zeichenhäufigkeiten im Korpus an.  Für Englisch noch könnte es
sich lohnen, den Apostrophen mitzunehmen, da er wegen Genitiv-s einen
bevorzugten Kollisionsgegner hat.  Ansonsten zweifle ich, dass es sich
rentiert, weitere Zeichen mitzunehmen.  Zudem müsste man erst die
Typographie im Korpus verifizieren: Was ist wirklich ein Bindestrich,
was sollte eigentlich ein Gedankenstrich sein?  Was sollte anstelle der
geraden doppelten ASCII-Anführungszeichen stehen, was anstelle des
geraden ASCII-Apostrophen?

 Konkret ist meine Frage, ob das hier die korrekte Aufteilung von Ψ∃ ist: 

Wie tippst du Mod3L+Mod4L?  Mit den offiziellen Neo-Positionen würde ich
dazu Klein- und Ringfinger nehmen, für Mod3L und Mod4L einzeln aber
jeweils den kleinen Finger.

Man könnte Modifierpaare wie virtuelle Tasten behandeln, die von einem
virtuellen Finger bedient werden.  Im Beispiel oben besteht der
virtuelle Finger aus linkem Klein- und Ringfinger.  Für die viruelle
Taste überlegt man sich dann die Strafpunkte in Kombination mit allen
anderer realen und virtuellen Tasten.

Die gedankliche Einführung der virtuellen Taste führt noch nicht zu
einer Herleitung der Bewertung aus bekannten Bewertungen, denn das geht
eben nicht, weil Modifierkombinationen anders getippt werden als
Modifier einzeln.  Es ist lediglich eine nützliche Abstraktion,
vermutlich auch nett zum implementieren, zumindest in meinem Optimierer
wäre es so.

 # Die Modifier beider Zeichen miteinander
 '⇩⇙', M3L + M4R
 '⇩⇘', M3L + M3R
 '⇚⇙', M4L + M4R
 '⇚⇘', M4L + M3R

Das ist das Bigrammgewicht Mod6R-Mod6L.  Hier müsste man alledings noch
berücksichtigen, dass Mod4R ausnahmsweise vom Ringfinger getippt wird.

 # Die Modifier mit dem anderen Modifier der Taste
 # sortiert – sollte das in beide Richtungen gehen, also 0.5*(m3-m4, m4-m3)?
 '⇩⇚', M3L + M4L
 '⇘⇙', M3R + M4R

Das sind die Einzeltastengewichte für Mod6L und Mod6R.  Die Summe der
realen Einzeltastengewichte ist wäre ein guter Ausgangspunkt, eine
Reduktion dafür, dass beide Tasten in mit einer Handbewegung erreicht
werden, wäre zu überlegen.

 # Die Modifier mit den dazugehörigen Grundtasten
 '⇩h', shiftL + h
 '⇚h', M4L + h
 '⇙e', M4R + e
 '⇘e', M3R + e

 # Die Modifier mit der jeweils anderen Grundtasten
 '⇩e', shiftL + e
 '⇚e', M4L + e
 'h⇙', h + M4R
 'h⇘', h + M3R

Mod3L, nicht shiftL, oder?  Das sind Bigrammgewichte Mod6L mit
Buchstabentaste und Buchstabentaste mit Mod6R mit Buchstabentasten.
Auch hier müsste man noch bedenken, dass Mod4L irregulär getippt wird.

 # Die Grundtasten (auf Ebene 1)
 'he'

Das wenigstens ist klar.

Aber, wie gesagt, schon Ebene 3 lohnt sich kaum zu berücksichtigen,
Ebene 5 und 6 kannst du für die Optimierung vergessen.

Andreas



Re: [Neo] [Linux] StumpWM erkennt ISO_Level3_Shift nicht als Modifier

2010-06-14 Diskussionsfäden wettstein509
 Mein Problem steht schon im Betreff. Was habe ich versucht, um das
 mal zu lösen?

http://www.mail-archive.com/stumpwm-de...@nongnu.org/msg00439.html
behauptet, dass dein Problem vor über zwei Jahren behoben wurde.

Im Gegensatz zu Eriks Kristallkugel sagt meine, dass du xkbmap
verwendest.  Also, falls das Problem auch mit einem aktuellen StumpWM
noch existiert, probiere mal xmodmap, die implementiert nämlich die
Ebene 3 anders (nicht per Level- sondern per Gruppenumschaltung).
Allenfalls könntest du den monolithischer Treibergenerator¹ mit Option
-szd ausprobieren.

Andreas

¹http://wettstae.home.solnet.ch/neo.sh.gz





Re: [Neo] Nachbarstrafe (war Vrijbuiter usw)

2010-05-17 Diskussionsfäden wettstein509
 Pfeif einmal auf die Einwärtsbewegungen oder halte
 Lagepunkte/Fingerwiederholung/Auswärtsbewegungsstrafe in etwa 150/35/10,

Unsere Bewertungskriterien sind verschieden, daher kann ich diese Empfehlung
nicht direkt übertragen.  Qualitativ habe ich gesehen, dass der Einfluss der
Auswärtsstrafpunkte sehr abrupt einsetzt.

 halte E und N auf die Mittelfinger,

Ich fühle mich nicht befugt, dem Optimierer solche Vorschriften zu machen.

Ich weiss zwar nicht, ob Einwärtsbewegungen wirklich besser sind als
Auswärtsbewegungen.  Aber allmählich ist für mich der Zeitpunkt gekommen, eine
von meinen Tastaturen auszuprobieren statt nur zu theoretisieren.  Dazu bietet
es sich an, eine Tastatur mit klarem Charakter zu wählen, vielleicht gelingt es
mir ja dann wider Erwarten, diesen Charakter zu erspüren und zu bewerten.  In
meinem Fall ist ein Teil dieses Charakters die Dominanz von Einwärtsbewegungen.
Konkret probiere ich diese Tastatur aus:

   links rechts
 1.096 Kollisionen 2.833 Shift-Kollisionen ob  7.4 12.2
kuü.ä vgcljf70.872 Handwechsel28.234 Shift-Handwechsel mi 36.2 34.5
hieao dtrnsß15.448 Einwärts   67.797 Shift-Einwärtsun  5.9 10.1
xyö,q bpwmz 10.218 Auswärts   12.033 benachbart   sum 49.6 56.8
   Finger 10.2 11.4 16.8 11.1 | 17.8 11.6 16.0 11.4 Shift  4.5  1.8

Die Bewertung oben ist mit Karls Bearbeitung des Leipziger Korpus gemacht und
fällt mässig aus; die eigentliche Optimierung habe ich mit einem 1:1 gemischten
deutsch/englischen Korpus gemacht, und das hat natürlich seinen Preis für’s
Deutsche.  Auf den Leipziger Korpus optimiert bekomme ich mit denselben
Bewertungskriterien:

 1.112 Kollisionen 1.083 Shift-Kollisionen ob  7.1 11.8
kzo.ü xhlcjv67.154 Handwechsel28.811 Shift-Handwechsel mi 35.9 34.4
gaeiu dsrntq16.770 Einwärts   68.875 Shift-Einwärtsun  6.4 10.8
ßäö,y bfwmp 12.598 Auswärts   13.090 benachbart   sum 49.4 56.9
   Finger  8.9  7.5 18.8 14.1 | 18.9 12.5 15.0 10.4 Shift  4.3  2.0

Tja, die Shift-Kollisionen…

Andreas



Re: [Neo] Weiter mit Vrijbuiter

2010-05-08 Diskussionsfäden wettstein509
 Ich habe andere Einzeltastengewichte probiert, und zwar:
 
 2 1 1 1 2   2 1 1 1 2 3
 1 0 0 0 1   1 0 0 0 1 3
 4 3 3 3 4   4 3 3 3 4

Das erinnert mich daran, dass ich das e meistens auf den Ringfinger
bekomme, seit ich das Einzeltastengewicht in der oberen Zeile für den
Ringfinger grösser ansetze als für den Mittelfinger.  Solange die Werte
gleich waren war das üblicherweise nicht so.

 Ich weiß nicht, wie viel Einwärtsbewegungen, man schafft, aber ich 
 schätze, dass mehr als 2/3 wohl nicht drin ist, man wird wohl meistens
 bei 60% oder so landen. Dvorak auf Englisch hat ein:aus = 10:15,
 Vrijbuiter 10:18. Auf Deutsch.

Ich habe mit den Strafpunkten rumgespielt.  Tatsächlich ist man irgendwo
bei 2/3 am Anschlag.

 Ich habe auch nie Handwechsel gesehen, der viel über 70% geht. Hier
 hat man also wahrscheinlich ein Optimum erreicht.

Auch das kann ich bestätigen.  Mit Karls überarbeitetem Leipziger Korpus
komme ich bis 71,8%.

 Mir schwebt so etwas vor, wie Strafpunkte zu vergeben bei allen
 Bigrammen, die aus Kleinfinger und Ringfinger (viel Strafe) oder
 Ringfinger und Mittelfinger (wenig Strafe) bestehen. Bigramme 
 aus Zeige- und Mittelfinger könnte man ignorieren. Dann den
 Optimierer laufen lassen mit starker Strafe für diese Dinge, und
 dabei alles andere belassen, wie es jetzt ist. Das gibt kaum
 zusätzliche Rechenaufwand.

Ich habe damit experimentiert, aber vereinfachend Stafpunkte für alle
benachbarten Fingereinsätze gegeben.  Für den Rechenaufwand ist bei mir
alles egal, solange es durch Bigrammstrafpunkte auszudrücken ist; ich
habe vereinfacht, weil ich dann allein am Anteil der benachbarten
Fingereinsätze den Effekt ablesen kann.  Mit deinem differenzierteren
Vorgehen müsste man auch den Effekt differenzierter anschauen.

Strafpunkte für benachbarte Finger kosten zunächst mal bei den
Kollisionen (klar, bei Kollisionen hat man keine benachbarten Finger).
Mit meinen sonstigen Kriterien komme ich bis unter 13% ohne grosse
Einbussen.  Drehe ich die Stafpunkte hoch geht es bis ca. 9% mit ein
paar Kollisionen mehr.  Zum Vergleich: Dvorak hat 13,6% und NordTast
ungefähr 17,1% (alles mit Karls überarbeitetem Leipziger Korpus
ausgewertet).

Falls die Dvoraksche Magie tatsächlich damit zu tun hat zu vermeiden,
benachbarte Finger nacheinander zu benutzen, könnten wir das
leicht nachzaubern.

Andreas



Re: [Neo] Parameter für den Algorithmus

2010-05-07 Diskussionsfäden wettstein509
 Ich würde sowieso sehr gerne einmal die Algorithmen der automatischen
 Optimierer genauer betrachten. Weiß jmd. gerade zufälligerweise wo ich
 die finde?

http://wettstae.home.solnet.ch/opt.c

Andreas



Re: [Neo] Vorstellung erweitertetes Standardlayout: DeutschlandPlus

2010-05-04 Diskussionsfäden wettstein509
 Ich brauche die Klammern oben recht häufig und komme gut damit klar.

 Findet ihr die einfache Erklärbarkeit (alles aufgedruckte auf den
 Tasten stimmt noch) den Preis nicht wert?

Das bei QWERTZ alles funktionieren soll wie gehabt ist dein
Ausgangspunkt.  Das hindert dich aber nicht daran für die Klammern
bessere, alternative Positionen zu suchen …

 Wenn ich das so überlege, könnte man auch die einfache Regel so lassen
 und den Rest links noch sinnvoll füllen.

… und die linke Hälfte wäre zum Beispiel geeignet.  Klammern tippt man
üblicherweise nicht in längeren Sequenzen, dann ist der
Einhand-Grätschgiff akzeptabel.

Andreas



Re: [Neo] Ein Knaller! (war: 1-, 2-, 3-gramme erstellen unter Linux)

2010-05-04 Diskussionsfäden wettstein509
 Bei mir kam im Test das hier raus: 
 
 $ ./check_neo.py -v --check-string jäo.ü khclfv
 teaiu gdnrsß
 xqö,y bpmwz

 # 1.78690591274 % finger repeats in file 2gramme.txt

Merkwürdig, die Fingerwiederholungen passen nicht zu dem, was ich
bekomme.  Du zählst deutlich mehr als ich.  Umso merkwürdiger, als wir
für NordTast ungefähr dasselbe bekommen (wenn ich die Shift-Kollisionen
bei den Kollisionen mitzähle).

 öckäy zhmlß,
 atieo dsnru.
 xpfüq bgvwj

 # 1.74869097499 % finger repeats in file 2gramme.txt

Und hier sind es ungefähr gleichviele, aber nur, wenn ich
Shift-Kollisionen nicht mitzähle.  Da muss ich mir wohl meine
Auswertung nochmal genauer anschauen.

Andreas



Re: [Neo] Anleitung: 1-, 2-, 3-gramme erstellen unter Linux

2010-05-04 Diskussionsfäden wettstein509
 *neugierig* Um was ging es bei den gerade im Sourcecode stehenden speziellen 
 Kriterien?

Entschuldige, «speziell» war nicht das rechte Wort.  Ich bin einfach
nicht so fleissig wie Arne, das Feedback aus der Liste einzubauen, und
drehe ab und an den Kriterien.  In zwei Wochen käme wahrscheinlich ein
anderes Optimum raus, das ist, was ich sagen wollte.

 Also sollte es zudem darauf hinaus laufen, weitere Korpora aus verschiedenen
 Gebieten für unsere Zwecke aufzubereiten.

Vielleicht.  Ich habe mir zum Beispiel einen kleinen (600k) Korpus aus
einer Archiv-DVD der Computerzeitschrift c't extrahiert (auch in neuer
Rechtschreibung).  In dem kommt dann zum Beispiel, im Gegensatz zum
Leipziger Korpus, das Komma häufiger vor als der Punkt.  Aber alles in
allem sind die Auswirkungen auf das Ergebnis moderat.

Wenn man einen sehr kleinen Korpus mit einem sehr grossen mischt und so
gewichtet, dass beide ungefähr gleich in die Optimierung eingehen,
bestimmt der kleine Korpus leider den statistischen Fehler.  Es dürfte
schwer sein, Korpusse aus anderen Gebieten zu finden, die so gross wie
der Leipziger Korpus sind (von jemandem, der sie entrümpelt, ganz zu
schweigen).

Im übrigen würde ich sowieso nach einem 1:1 gemischt deutsch-englischen
Korpus optimieren.  Das entspricht viel mehr meinen Anforderungen, und
da bin ich sicher nicht alleine.

Andreas



Re: [Neo] Fremdsprachliche Korpusse

2010-05-04 Diskussionsfäden wettstein509
 Ich finde, dass das eine sehr gute und richtige Anregung ist! Natürlich können
 wir nicht auf alle lateinischen Sprachen gleichzeitig optimieren (man könnte
 schon, nur würde dabei halt eine ›alles etwas aber nichts richtig‹ Tastatur
 herauskommen), Aber gerade wenn sich die verschiedenen computergenerierten
 Tastaturen nur noch geringfügig voneinander bezüglich des Deutschen
 unterscheiden, wäre eine zusätzliche Analyse bezüglich der ›Kompatibilität‹ 
 mit
 anderen Sprachen – wie Mœsi bereits andeutete, ist Englisch hier wohl die
 Wichtigste – schon sehr interessant.

Ich bin für eine 1:1-Mischung Deutsch und Englisch.

 Die Frage ist: Wo kriegen wir einen englischen Korpus her? Kennt da jemand
 Einen?

Die Leipziger haben einige Sprachen auf Lager, auch Englisch.  Ansonsten
gibt es Project Gutenberg und diesen hier:

http://americannationalcorpus.org/#

Andreas



Re: [Neo] Ein Knaller! (war: 1-, 2-, 3-gramme erstellen unter Linux)

2010-05-04 Diskussionsfäden wettstein509
 Was kriegst du bei dem Layout raus?

Mit dem neuen Leipziger Korpus gibt es für mein Layout:

  0.832 Kollisionen 4.225 Shift-Kollisionen

und für dein derzeit optimales Layout:

  1.711 Kollisionen15.880 Shift-Kollisionen

Andreas



Re: [Neo] Ein Knaller!

2010-05-04 Diskussionsfäden wettstein509
 CH und CK in ungewohnter Einhandlage. C rechts ist überhaupt schon lange 
 nicht mehr auf der Liste gestanden.

Die Einhandlage von CH und CK kann man konkret auf ein
Optimierungskriterium zurückführen: Wenn ein Bigramm auf der oberen oder
unteren Zeile derselben Hand getippt wird, wird der Tippaufwand des
zweiten Zeichens reduziert, da die Bewegung aus der Grundstellung schon
mit dem ersten Zeichen des Bigramms aufgeführt wird, zumindest
teilweise.

  Jungs, ran an die Arbeit. Probiert diese aus!

 Bin schon dabei! Mein Beitrag dazu der Anhang:

Ich bekomme fast ein schlechtes Gewissen.

Andreas



Re: [Neo] Fremdsprachliche Korpusse

2010-05-04 Diskussionsfäden wettstein509
 Kann vielleicht mal jemand der ›Auswerter‹ so nett sein und Neo 2 und NordTast
 in Bezug auf einen rein englischen Korpus analysieren?

Mit dem englischen Leipziger Korpus bekomme ich:

Neo2   321.849 Gesamtaufwand 194.512 Lageaufwand   links rechts
 8.935 Kollisionen 6.235 Shift-Kollisionen ob 10.1  9.2
xvlcw khgfqß59.876 Handwechsel41.029 Shift-Handwechsel mi 37.3 34.5
uiaeo snrtdy13.308 Einwärts   49.277 Shift-Einwärtsun  4.4  8.2
üöäpz bm,.j 15.329 Auswärts3.459 Shift-Auswärts   sum 51.7 51.9
   Finger  4.9  8.3 12.3 26.2 | 23.0  9.4 12.1  7.3 Shift  2.1  1.5


NordTast   250.312 Gesamtaufwand 197.353 Lageaufwand   links rechts
 1.619 Kollisionen14.049 Shift-Kollisionen ob 13.5 11.5
äuobp kglmfx66.621 Handwechsel31.151 Shift-Handwechsel mi 39.4 28.6
aietc hdnrsß14.034 Einwärts   51.612 Shift-Einwärtsun  4.3  6.3
.,üöq yzwvj 15.174 Auswärts3.188 Shift-Auswärts   sum 57.2 46.4
   Finger 11.4 11.0 19.1 15.7 | 12.6 12.7 10.0 11.2 Shift  1.8  1.8

Andreas



Re: [Neo] Anleitung: 1-, 2-, 3-gramme erstellen unter Linux

2010-05-03 Diskussionsfäden wettstein509
Hallo Karl,

 im Winter habe ich die für uns zugrunde gelegte Datei des Leipziger Korpus
 überarbeitet.

Über 300 MB Rohdaten, eine unglaubliche Arbeit.  Vielen Dank.

 Für unsere Zwecke sind diese aktuell kreierten Daten sicher besser zu
 gebrauchen, als der pure - zu zeitungslastige - Leipziger Korpus.

Der Inhalt kommt aber doch nach wie vor komplett vom Leipziger Korpus,
oder hast du noch andere Quellen aufgetan?

Andreas



Re: [Neo] Probleme mit Neo und KDE

2010-05-03 Diskussionsfäden wettstein509
 Mich nervt im Übrigen auch, dass man die STRG-Kombinationen nicht richtig 
 verwenden kann, wenn die Neo-xkbmap nicht das primäre Layout ist.

Ich habe in den monolithischen Treibergenerator eine Option (-ad)
eingebaut, mit der man die alphabetischen Tasten per Redirect für alle
Layouts immer auf denselben keycode umbiegt, in der Hoffnung, dass das
solche Probleme umgeht.  Da ich aber KDE nicht benutze habe ich es nie
getestet.  Vielleicht probiert es ja mal jemand:

  http://wettstae.home.solnet.ch/neo.sh.gz

Zu benutzen in der Art

  ./neo.sh -b 21 -ad  test.xkb
  xkbcomp test :0

siehe auch die Hilfeoption -h.  Achtung: man sollt vor Auführen von
xkbcomp sicherstellen, dass man mit der Maus die vorige Belegung wieder
einstellen kann; aus nicht bekannten Ursachen werden die Redirects
manchmal nicht übernommen, und dann ist das Layout ernsthaft
zerschossen.

 Oder ist das ein generisches Problem des Tastaturtreibers?

Ich vermute, das ist ein Fehler von KDE (oder eins tiefer, von Qt).

Andreas



Re: [Neo] Anleitung: 1-, 2-, 3-gramme erstellen unter Linux

2010-05-03 Diskussionsfäden wettstein509
 Mich interessiert, ob ein Optimierungsprogramm damit tatsächlich nennenswert
 andere Ergebnisse liefern wird, als bei auf alter Rechtschreibung.

Ich habe meinen Optimierer mit beiden Korpussen je 25000 Runden laufen
lassen.  Mit einem Teil (ca 100k Zeilen) des alten Korpus (zuerst
Korpusstatistik, dann die beste gefundene Tastatur):

aA  5.296/0.474   bB  1.582/0.447   cC  2.582/0.112   dD  4.135/0.558
eE 15.535/0.345   fF  1.415/0.295   gG  2.661/0.300   hH  3.957/0.225
iI  7.505/0.189   jJ  0.122/0.148   kK  1.146/0.320   lL  3.484/0.192
mM  2.247/0.419   nN  9.546/0.166   oO  2.580/0.084   pP  0.691/0.312
qQ  0.014/0.012   rR  7.229/0.226   sS  5.500/0.662   tT  5.963/0.227
uU  3.462/0.176   vV  0.688/0.228   wW  1.107/0.288   xX  0.052/0.002
yY  0.101/0.006   zZ  1.070/0.140   äÄ  0.566/0.008   öÖ  0.247/0.010
üÜ  0.647/0.017   ..  1.106/0.000   ,,  0.951/0.000   ßß  0.230/0.000
   15.582/0.000

Großbuchstaben:6.585 %
Mehrfachanschläge: 1.680 %

   234.164 Gesamtaufwand 195.430 Lageaufwand   links rechts
 0.857 Kollisionen 4.438 Shift-Kollisionen ob  5.3 14.6
jäo.ü khclfv68.646 Handwechsel25.610 Shift-Handwechsel mi 39.2 31.2
teaiu gdnrsß18.230 Einwärts   67.967 Shift-Einwärtsun  6.3 10.0
xqö,y bpmwz  9.979 Auswärts1.984 Shift-Auswärts   sum 50.7 55.9
   Finger 11.4 16.5  8.7 14.2 | 16.3 15.1 12.5 11.9 Shift  4.9  1.7


Mit dem neuen:

aA  5.299/0.461   bB  1.583/0.437   cC  2.591/0.098   dD  4.146/0.527
eE 15.565/0.346   fF  1.425/0.286   gG  2.663/0.287   hH  3.967/0.221
iI  7.509/0.181   jJ  0.121/0.148   kK  1.136/0.315   lL  3.489/0.184
mM  2.245/0.397   nN  9.543/0.158   oO  2.598/0.081   pP  0.691/0.301
qQ  0.014/0.012   rR  7.253/0.218   sS  5.645/0.636   tT  5.992/0.216
uU  3.480/0.152   vV  0.689/0.220   wW  1.114/0.282   xX  0.052/0.002
yY  0.100/0.006   zZ  1.072/0.136   äÄ  0.566/0.008   öÖ  0.249/0.009
üÜ  0.642/0.017   ..  1.104/0.000   ,,  0.954/0.000   ßß  0.155/0.000
   16.427/0.000

Großbuchstaben:6.344 %
Mehrfachanschläge: 1.713 %

   231.510 Gesamtaufwand 193.461 Lageaufwand   links rechts
 0.832 Kollisionen 4.225 Shift-Kollisionen ob  5.3 14.6
jäo.ü khclfv68.637 Handwechsel24.270 Shift-Handwechsel mi 39.2 31.2
teaiu gdnrsß18.207 Einwärts   70.448 Shift-Einwärtsun  6.1  9.9
xqö,y bpmwz  9.958 Auswärts1.057 Shift-Auswärts   sum 50.6 55.8
   Finger 11.2 16.5  8.7 14.1 | 16.3 15.0 12.5 11.9 Shift  4.7  1.6


Für die speziellen Kriterien die gerade in meinem Sourcecode stehen
kommt also dieselbe Tastatur raus.  Das sollte uns nicht enttäuschen, im
Gegenteil: Wir sehen, dass nicht jede kleine Variation am Korpus
unbedingt das Optimum ändert.

Ausserdem ist die Punktzahl mit beiden Korpussen verschieden, und zwar
mehr als man durch blosse statistische Variationen erwarten würde.  Mit
anderen Kriterien könnte das Optimum für die beiden Korpusse durchaus
verschieden sein.

Andreas



Re: [Neo] Vorstellung erweitertetes Standardlayout: DeutschlandPlus

2010-05-02 Diskussionsfäden wettstein509
 a) wie findet ihr die Grundidee / Umsetzung?

Es ist schön, dass du mit einer einzigen zusätzlichen Modifikatortaste
auskommst.  Andererseits muss man teilweise zur Zahlenreihe hochgreifen,
das ist weniger schön.

 b) welche wichtigen Funktionen / Zeichen fehlen euch ggf.?

Backspace.

 Da ich nur eine Handseite neu für mich belegen konnte, kann da
 natürlich nicht alles rein und auch eine Trennung von Zeichen /
 Funktionen ist da nicht möglich.

Ich glaube, dass du durchaus auch die linke Tastaturhälfte mehr belegen
könntest, solange du dort Zeichen hinlegst, die wenig in Sequenzen
getippt werden.  Für einzelne Anschläge ist CapsLock passabel zusammen
mit einer weiteren Taste der linken Tastaturhälfte zu drücken.

 CapsLock hab' ich persönlich übrigens nur noch als Modifier in
 Nutzung, aber könnte man über das Skript auch in der
 Originalfunktionalität lassen, so dass bei Gedrückthalten der
 CapsLock-Taste die Modifier-Funktionalität erreicht wird, aber ein
 Drücken / Loslassen normal in BESCHEUERTE GROSSSCHREIBUNG umschaltet
 ;-)

Hast du mit dieser Doppelnutzung experimentiert?  Mich interessiert, ob
das zu vielen versehentlichen Bedienungen führen würde.  Wenn nicht,
könntest du Backspace auf CapsLock packen.

Andreas






Re: [Neo] Test-Korpus[1..n]

2010-04-30 Diskussionsfäden wettstein509
 So könnte man beispielsweise für jeden Kostenfaktor und für jeden Textkorpus 
 und jedes Layout separate Werte errechnen, die sich längs und quer und
 somit differenzierter vergleichen lassen.

Mit der Dimension «Korpus» hätte man ein einen Ansatzpunkt um
herauszufinden, wie gross Bewertungsunterschiede sein müssen, um
signifikant zu sein.

Ob man durch Vergleiche in der Dimension «Kostenfaktor» etwas lernt ist
mir weniger klar.  Dazu bräuchte man vielleicht eine qualitative
Einschätzung der Layouts (z.B. «geeignet für schnelle Tipper» oder
«leicht zu lernen»), die man dann mit den Eigenschaften des
Bewertungsschemas in Verbindung bringen müsste.

 Sinnvoll wäre es, für englischsprachige Texte oder auch beispielsweise 
 Programmiercode bis hin zur
 aufgezeichneten Programm-Interaktion Textkorpusse zu erstellen und nicht zu 
 versuchen, alles irgendwie in einen fertig gemischten Textkorpus
 zusammenzurechnen.

Ich halte das für sinnvoll.  Damit kann man die Erstellung der Korpusse
für verschiedene Textgattungen und ihre relative Gewichtung
auseinanderhalten.  Das ist sicher interessant für alle
Selbstoptimierer, die ihre Gewichte selbst wählen wollen, aber keine
Lust haben, sich auch eigens einen Korpus zusammenzusuchen.

Andreas



Re: [Neo] Nordtast und Neo in meinem Test-Script

2010-04-06 Diskussionsfäden wettstein509
 Ich glaube die real berücksichtigten Zeichen sind gleich 
 (Kodierung::Klartext[] oder?).

Ja, richtig.

 Könnte es sein, dass Auswärts- oder Einwärtsoptimierung v.a. deswegen 
 funktioniert, weil dann die Tasten eher in eine Richtung angeschlagen 
 werden?

Könnte sein.  Könnte auch sein dass es garnicht funktioniert und nur
eine Reminiszenz an Herrn Dvorak ist.  Einwärtsbewegungen gegenüber
Auswärtsbewegungen generell zu bevorzugen ist vielleicht nur ein Relikt
aus Zeiten der Mechanik, als man zum Tippen noch Kraft gebraucht hat.
Auf Ulfs Seiten gibt es einen Abschnitt zu dem Thema.

Andreas



Re: [Neo] Nordtast und Neo in meinem Test-Script

2010-04-06 Diskussionsfäden wettstein509
 Nachtrag: Es ist toll, das in C++ zu sehen! Wie schnell ist dein Skript? 

Pro Minute kann ich auf einem Kern ungefähr 1 mal eine «lokal
optimale» Belegung generieren, in dem Sinne, dass für diese Belegung
kein Tausch zweier Tasten noch eine Verbesserung bringt.

Andreas



Re: [Neo] Asymmetrisch bewerten

2010-04-05 Diskussionsfäden wettstein509
 Zuguterletzt nützen wir diese Handverschiebungseffekte und
 kollektive Fingerbewegungen auch dafür, mehrere Tasten in einer anderen
 als der Grundreihe ergonomisch hintereinander anzuschlagen – niemand
 kehrt nach jedem einzelnen Tastendruck mit den Fingern in die
 Grundposition zurück, wenn an Ort und Stelle noch etwas erledigt werden
 muss.

Um Verschiebungen der Hand (beziehungsweise Mitbewegen benachbarter
Finger) zu berücksichtigen, kompensiere ich in meinem Optimierer den
Mehraufwand für Tasten abseits der Grundposition teilweise, falls die
Taste nach einer Taste mit derselben Hand in derselben Zeile
angeschlagen wird.  Die Kompensation wird mit negativen Beiträgen zum
Bigrammaufwand bewerkstelligt.

Der Anteil der Kompensation liegt derzeit bei 1 für Mehrfachanschläge,
bei 0.5/Spaltenabstand falls verschiedene Finger beteiligt sind.  Man
könnte sich sicher noch Besseres überlegen.

Andreas



Re: [Neo] Nordtast und Neo in meinem Test-Script

2010-04-05 Diskussionsfäden wettstein509
 Denkst du, dass wir eine Korrelation zwischen unseren Optimierungs-
 Parametern finden können, um eine gemeinsame Grundlage zum Optimieren 
 schaffen zu können? 

Ich glaube schon, die Struktur der Beurteilung ist ja ähnlich:
Einzeltastengewichte, Bigrammgewichte, eine quadratische Funktion für
die Abweichung der Anschlagshäufigkeit eines Fingers vom Soll.
Abweichungen gibt es bei der Zahl der berücksichtigten Tasten und
vielleicht bei der Behandlung von Shift.

Meine aktuellen Kriterien sind in http://wettstae.home.solnet.ch/opt.c,
siehe Funktion Aufwandstabelle::intialisiere_aufwandstabelle_andreas().

Ich glaube aber nicht, dass man sich jetzt schon den Kopf über
Koordination verschiedener Optimierer zerbrechen muss.  An den Kriterien
wird sowieso noch eine ganze Weile rumgepfuscht werden.  Die eigentliche
Schwierigkeit ist eher, nicht den Überblick über die verschiedenen
Argumente zu verlieren, auf denen die Kriterien beruhen.

Andreas



Re: [Neo] Nordtast und Neo in meinem Test-Script

2010-04-04 Diskussionsfäden wettstein509
 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] (Linguistische) Information zur Erstellung des Layouts

2010-03-23 Diskussionsfäden wettstein509
 Neben dem Korpus ist natürlich interessant was für ein Algorithmus zur 
 Optimierung der Tastatur genommen wird.

Derzeit wird vorwiegend der Leipziger Korpus verwendet.  Alternativen
sind Bücher von Projekt Gutenberg.  Ich benutze zum Teil Artikel von der
c't-Archiv-DVD.

An Algorithmen gibt es evolutionäre (Ulfs Optimierer), solche die
Vertauschungen durchführen bis keine mehr eine Verbesserung bringt und
dann wieder ganz von vorne anfangen (Arnes und mein Optimierer), und
gewisse Hoffnungen, gemischt ganzahlig-lineare Verfahren benutzen zu
können.  Zu letzteren bitte das Mailarchiv (ca. Januar) befragen.

 Ich meine ich hätte in irgendeiner e-mail in den letzten Wochen etwas von 
 einer Kostenfunktion gelesen. 

Wenn du den entsprechenden Thread („Kriterien für ein optimiertes
Layout“ ) liest bist du ziemlich auf der Höhe der aktuellen Diskussion.

 Diesbezüglich würde mich auch interessieren, ob ihr n-Gramme nutzt und wenn 
 ja wieviel stellig ist das n-Gramm (Bigramm, Trigramm, ...)?

Mein Optimierer geht bis zu Bigrammen, Arnes bis zu Trigrammen (soweit
ich weiß, er kann mich ja korrigieren).  Wobei die Kriterien für n=1
unklar sind und mit steigendem n unklarer werden.

 (vielleicht steige ich nach Beendigung des Studiums noch mit ein).

Danach?  Uns interessiert schon jetzt, welchen systematischen Einfluss
die Wahl eines bestimmten Korpus hat.  Zum Beispiel ist Ulf aufgefallen,
dass im Leipziger Korpus Punkte häufiger als Kommas sind.  In einem
„literarischen“ Korpus ist es anders rum.  Was weiß der Linguist zum
Zusammenhang zwischen Textgattung und 1-, 2- und 3-Grammhäufigkeiten?

Andreas



Re: [Neo] Kriterien für ein optimiertes Layout

2010-03-10 Diskussionsfäden wettstein509
 Ist es irgendwie möglich, Schreibfehler eindeutig auf eine
 Tastenbelegung zurückzuführen?

Statistisch vielleicht schon.  Aber die Interpretation ist diffiziler als
ich befürchtet habe: Pascals Beispiel mit „nihct“ hätte ich als Hinweis
darauf gedeutet, dass Handwechsel schlecht sind, denn der Dreher taucht
in einem Bigramm mit Handwechsel auf.  Pascal interpretiert dasselbe
Beispiel so, dass er gerne die Hand wechselt.  Da haben wir eine ganz
einfache Feststellung, und trotzdem würden wir vermutlich genau
gegensätzliche Schlüsse zur Beurteilung von Handwechseln daraus ziehen,
zumindest wenn wir auf die Urteile „gut“ und „schlecht“ beschränkt
wären.

Vielleicht ist es so, dass Handwechsel zeitlich schwerer zu koordinieren
sind als Handwiederholungen, aber das Potenzial bieten, dank höherer
Parallelität schneller zu tippen.

Andreas



Re: [Neo] Woher den Platz für Modifikatortasten nehmen ?

2010-03-02 Diskussionsfäden wettstein509
 1. Wenn man sie, wie von Pascal gewünscht, nach innen legt, muss das 
 nicht heißen, dass man dadurch die Tasten, die mit gespreiztem 
 Zeigefinger erreicht werden, verlieren muss. Mann könnte 3 statt der auf 
 Standardtastaturen üblichen 2 Tastaturspalten zwischen die 
 Hauptfingerspalten legen (wobei ich daran zweifele, dass das ergonomisch 
 sinnvoll ist). Oder auch nur eine, dann muss man halt nach neuen Plätzen 
 für Tasten suchen, die mit gespreiztem kleinen Finger erreicht werden (ß 
 und y).
 
 2. Wie bereits einmal vorgeschlagen, könnte man die Mods auf die 
 Daumenreihe legen.

Mehr Daumentasten würden sehr helfen.  Aber wenn ich nicht völlig
missverstehe sprichst du zumindest bei Punkt 2 von spezieller
Tastaturhardware.  Mir geht es in erster Linie um handelsübliche
PC-Tastaturen.  Die Dinger, die die IT-Abteilung für mich aussucht.  Die
Dinger, bei denen die Controltasten ganz unten ganz außen sitzen.

 Wobei ich anmerken möchte, dass ich jetzt bei KDE-Programmen beobachtet 
 habe, dass Ä für Alt-Ä (Änderungen verwerfen) benutzt wurde.

Interessant.  Weißt du, unter welchen Bedingung dieses Tastaturkürzel
aktiv wird?  Hängt es zum Beispiel an der Umgebungsvariable LANG?

Andreas



Re: [Neo] Woher den Platz für Modifikatortasten nehmen ?

2010-03-02 Diskussionsfäden wettstein509
 Ihn nicht einfach wieder loslassen zu können, ja nicht einmal, ein
 beliebiges Zeichen danach tippen zu können,

Man kann den doppelt benutzten Modifikator einfach wieder loslassen
(Finger anheben), nur erzeugt das halt ein Zeichen, genau wie wenn man
eine normale Taste drückt.  Und danach kann man ein beliebiges Zeichen
tippen, ganz wie immer; sobald der doppelt benutzte Modifikator
losgelassen wird erzeugt er sein Zeichen, und das war's.  Solange der
doppelt benutzte Modifikator noch gedrückt ist kann man durch Drücken
eines normalen Modifikators das Erzeugen eines Zeichens beim Loslassen
des doppelt benutzte unterbinden.

 würde Neo technisch optimieren,

Danke für die Blumen.

 aber Menschen sind keine Maschinen –

– insbesondere sind sie lernfähig.  Die Neigung, grundlos auf
Modifikatoren zu drücken, ist hoffentlich nicht genetisch
festgeschrieben.

 Woher kommt überhaupt die Befürchtung, die Tastatur hätte nicht genügend 
 Tasten?

Tasten gibt es genug, nur gut erreichbare nicht.  Für mich als
Emacs-User ist zum Beispiel die normale Position der Control-Tasten
indiskutabel.  Wenn ich bessere Positionen für Contol will muss ich
schlechtere Positionen für andere Modifikatoren oder Zeichen in Kauf
nehmen.  Oder über das Permutieren von Belegungen hinausgehen.  Oder
Löten lernen.

Andreas




Re: [Neo] Neo3 für Pascal?

2010-02-12 Diskussionsfäden wettstein509
 Könnte man nicht theoretisch einen Treiber auf niedrigerem Niveau (in C)
 schreiben, der ganz hardwarenah die verschiedenen Signale der Tastatur
 nach Belieben umtauscht?

Bestimmt.  Etwas auf einem niedrigen Niveau zu machen gibt einem zwar
viel Macht in die Hand, hat aber auch Nachteile: geringene Portabilität
(was auf Linux geht hilft mir auf NetBSD wahrscheinlich nicht),
schwierigere Konfiguration, schwerwiegendere Folgen von Bugs, mehr
Rechte zur Installation.

 Gibt es etwas Ähnliches in Linux (unter X meine ich)? So Zahlencodes,
 meine ich? Kann man sie manipulieren oder im Sinne einer Umtauschtabelle
 verändern?

Die keycodes in xmodmap sind solche Zahlencodes.  Eine Zahl bezeichnet
sowohl eine Taste als auch eine Zeile in der Belegungstabelle.
Normalerweise genügt es, die Zahl zu lassen wie sie ist, und nur die
Belegungstabelle zu ändern; das normale xmodmap-Procedere.

Mit XKB kann man auch den Zahlencode selbst manipulieren.  Zum einen
gibt es zwei so genannte Overlays.  Damit man kann jeder Taste (also
jedem Zahlencode) zwei andere Tasten zuordnen.  Ist das jeweilige
Overlay aktiv werden die Zahlencodes entsprechend ausgetauscht.  Zum
anderen gibt es so genannte Redirect-Actions.  Eine Redirect-Action ist
im Grunde eine Tastenbelegung und kann nicht nur pro Taste, sondern auch
pro Ebene spezifiziert werden.  Statt einfach ein Symbol zu erzeugen
wird aber zuerst der Zahlcode ausgetauscht (und allenfalls die
Modifikatoren verändert).  Symbole werden dann mit dem neuen Zahlencode
aus der Belegungstabelle ausgelesen.

Overlays sind zum Beispiel geeignet, einen Zahlenblock im
Haupttastenfeld einzublenden (mit Vor- und Nachteilen gegenüber der
Neo-Lösung mit Ebenen).  Mit Redirect-Actions könnte man zum Beispiel
Control-C irgendwo auf Ebene 4 legen.

Andreas



Re: [Neo] Neo3 für Pascal?

2010-02-12 Diskussionsfäden wettstein509
 Was wären denn die Nachteile? Könnten wir dann einen E4-Zahlenblock
 damit machen der endlich auch mit qt/kde vernünftig funktioniert?

Ich denke schon, jedenfalls habe ich tatsächlich an solche Probleme
gedacht.  Zwar kann man auch wie im monolithischen Treiber mit Ebenen
und Redirect-Actions arbeiten, aber das ist komplizierter als ein
Overlay.  Dafür bekommt man den Ebene-4-Lock richtig hin.

Andreas



Re: [Neo] Neo3 für Pascal?

2010-02-11 Diskussionsfäden wettstein509
 Zu (2) und (3): Es ist unerlässlich, dass wir mehr Freiwillige zum Probieren
 rekruttieren.

Ich fürchte du hast Recht.  Nur, übertrieben gesagt, eine Tastatur
probieren bedeutet für mich, dass ich auf der Arbeit eine
Tastaturbelegung lerne statt zu tun für was ich bezahlt werde.  Da muss
dann schon einige Aussicht bestehen, dass ich bei der Belegung bleibe.
Und im Moment spuken mir noch ein paar halbgare Ideen im Kopf herum die
ich erst (technisch) erfolgreich umsetzen oder ad acta legen will.

 Sagt mal was dazu! Geht das überhaupt?

Mit XKB geht das, Peter hat schon längerer Zeit darauf hingewiesen.  Und
ich hatte das Verfahren sogar schon mal in meinem «monolithischen
Treiber» drin, hab's aber wieder rausgeworfen, mangels eigenem Bedarf.
Falls Interesse besteht kann das wieder reintun; für Neo2 muss Control-V
dann halt mit QWERTZ-Control-Y erzeugt werden.

Andreas



Re: [Neo] Neo3 für Pascal?

2010-02-10 Diskussionsfäden wettstein509
 Und was ist das? Die „de/en“ habe ich irgendwie nicht mitgekriegt. Ist
 das eine neue Entwicklung?

Sie ist das, was mit meinem derzeitigen Bewertungschema und einem
gemischt deutsch-englischen Korpus aus dem  Optimierer geplumpst ist,
nicht mehr.

 Nur eben C, V und X auf der rechten Hand.

Ja, aber drei Umlaute an deren QWERTZ-Position.  Ich kenne kein Programm
dessen Bedienung Control-Umlaut verlangt, deshalb kann man in Verbindung
mit Control auf den Umlautpositionen problemlos Ctrl-{C,V,X} erzeugen.
Wie das mit XKB geht wurde von Peter schon erklärt (und auch wie man
Ctrl-Funktionen auf Ebene 4 schafft).  Und die Linkshänder könnten
Ctrl-{C,V,X} endlich mit der rechten Hand bedienen.  Gerade in dieser
Hinsicht ist die Tastatur prima, aber das ist purer Zufall;
Ctrl-{C,V,X,Z} meinem Optimierer derzeit (und mir sowieso) egal.

 Vielleicht ist das Thema „Ziele von Neo 3“ nicht zu Ende diskutiert
 worden? Vielleicht sollten wir „de/en“ benutzen?

Für mich ist Englisch wichtig, ich muss viel mehr Englisch als Deutsch
schreiben.  Ob das für Neo3 ein Thema sein soll weiß ich nicht; es ist
auch nicht so wichtig, denn einen anderen Korpus zur Optimierung
benutzen ist eine einfache Sache, und in einem existierenden Treiber
Buchstaben zu vertauschen auch.

Aus meiner Sicht ist das Hauptproblem, gute Kriterien zur Beurteilung zu
finden.  Ob man einer Kollision 200 Strafpunkte berechnet wie du, oder
nur 10±1 wie ich ist noch pure Willkür.  Muss es immer Willkür bleiben
oder gibt es auch harte Argumente?  Kraft- und Energieaufwand,
erreichbare Geschwindigkeit, Einschränkungen in der Fingerbeweglichkeit,
Verletzungsgefahr?

Andreas




Re: [Neo] Neo3 für Pascal?

2010-02-09 Diskussionsfäden wettstein509
 2. Die Buchstabenlage ist sehr gut. Ich weiß, dass wir auf der Liste andere
 Analytiker haben. Es wäre interessant, weitere Meinungen zu hören.

Keine Meinung, nur das, was mit meinen momentanen Kriterien und dem
Leipziger Korpus rauskommt:

QWERTZ 496.084 Gesamtaufwand 355.848 Lageaufwand   links rechts
 9.498 Kollisionen10.919 Shift-Kollisionen ob 31.0 16.9
qwert zuiopü51.323 Handwechsel52.098 Shift-Handwechsel mi 21.3 10.4
asdfg hjklöä18.763 Einwärts   32.641 Shift-Einwärtsun  8.2 18.8
yxcvb nm,.ß 18.142 Auswärts4.343 Shift-Auswärts   sum 60.5 46.1
   Finger  8.3  7.6 23.3 21.3 | 21.7 10.1  7.4  6.9 Shift  2.4  4.2


Neo2   310.851 Gesamtaufwand 200.426 Lageaufwand   links rechts
 6.494 Kollisionen 6.291 Shift-Kollisionen ob  8.7 10.6
xvlcw khgfqß64.507 Handwechsel32.439 Shift-Handwechsel mi 35.6 34.3
uiaeo snrtdy10.131 Einwärts   57.514 Shift-Einwärtsun  7.7  9.6
üöäpz bm,.j 16.594 Auswärts3.756 Shift-Auswärts   sum 52.1 54.5
   Finger  8.4  8.9 10.0 24.9 | 26.2 11.4  9.0  7.9 Shift  4.0  2.6


Eidur  256.672 Gesamtaufwand 200.131 Lageaufwand   links rechts
 0.808 Kollisionen18.900 Shift-Kollisionen ob  9.8 13.0
äuocj khlmvx70.849 Handwechsel21.786 Shift-Handwechsel mi 36.6 31.2
aietp gdnsrß14.092 Einwärts   56.533 Shift-Einwärtsun  7.5  8.6
.,üöq zbwfy 11.976 Auswärts2.781 Shift-Auswärts   sum 53.9 52.7
   Finger 11.9 12.3 19.2 10.5 | 16.5 14.8 10.5 10.9 Shift  4.5  2.1


Ganzneue   255.041 Gesamtaufwand 195.926 Lageaufwand   links rechts
 0.881 Kollisionen16.791 Shift-Kollisionen ob 10.5 13.7
äuocv khmlfq67.920 Handwechsel30.060 Shift-Handwechsel mi 37.6 31.2
aietb gdnrsß14.585 Einwärts   51.025 Shift-Einwärtsun  7.3  6.3
.,üöx pzwyj 14.340 Auswärts2.123 Shift-Auswärts   sum 55.4 51.2
   Finger 11.7 12.3 19.2 12.2 | 15.5 13.8 11.2 10.7 Shift  4.3  2.3


Deine bisherige 255.611 Gesamtaufwand 197.071 Lageaufwand   links rechts
 0.811 Kollisionen19.509 Shift-Kollisionen ob 10.6 12.3
äuocp khlmjx69.079 Handwechsel25.271 Shift-Handwechsel mi 37.6 31.2
aietb gdnsrß14.690 Einwärts   52.274 Shift-Einwärtsun  7.2  7.8
.,üöq vzwfy 13.145 Auswärts2.946 Shift-Auswärts   sum 55.3 51.3
   Finger 11.6 12.3 19.2 12.2 | 15.4 14.8 10.5 10.5 Shift  4.2  2.4


de/en  242.395 Gesamtaufwand 198.209 Lageaufwand   links rechts
 1.147 Kollisionen 3.361 Shift-Kollisionen ob  7.0 11.5
zuy,. jgclfß70.512 Handwechsel30.606 Shift-Handwechsel mi 36.2 35.1
hieao dtnrsv16.615 Einwärts   62.242 Shift-Einwärtsun  7.6  9.2
köüäq bpmwx  9.451 Auswärts3.791 Shift-Auswärts   sum 50.8 55.8
   Finger 11.4 11.6 16.6 11.1 | 17.2 15.1 12.5 11.1 Shift  4.6  2.0



Mit einem gemischten Korpus (die Essays aus c't 22/1999 bis 12/2006 und
4000 Zeilen aus dem Leipziger Englischkorpus, eine etwa 1:1-Mischung):

QWERTZ 468.876 Gesamtaufwand 340.428 Lageaufwand   links rechts
 8.588 Kollisionen 9.798 Shift-Kollisionen ob 30.0 18.3
qwert zuiopü51.870 Handwechsel49.441 Shift-Handwechsel mi 21.6  9.9
asdfg hjklöä18.867 Einwärts   37.741 Shift-Einwärtsun  8.4 16.5
yxcvb nm,.ß 18.282 Auswärts3.019 Shift-Auswärts   sum 59.9 44.7
   Finger  9.2  8.0 21.7 21.0 | 19.7 10.1  9.7  5.3 Shift  1.7  2.9


Neo2   301.757 Gesamtaufwand 187.023 Lageaufwand   links rechts
 7.610 Kollisionen 5.501 Shift-Kollisionen ob  9.6  9.6
xvlcw khgfqß62.370 Handwechsel36.781 Shift-Handwechsel mi 36.7 34.5
uiaeo snrtdy11.666 Einwärts   55.490 Shift-Einwärtsun  5.7  8.6
üöäpz bm,.j 15.961 Auswärts2.228 Shift-Auswärts   sum 52.0 52.7
   Finger  6.3  8.9 10.9 25.9 | 24.6 10.4 10.1  7.5 Shift  2.7  2.0


Eidur  244.100 Gesamtaufwand 189.923 Lageaufwand   links rechts
 1.179 Kollisionen16.698 Shift-Kollisionen ob 11.6 12.9
äuocj khlmvx69.149 Handwechsel24.967 Shift-Handwechsel mi 37.5 28.8
aietp gdnsrß13.927 Einwärts   55.617 Shift-Einwärtsun  5.5  8.3
.,üöq zbwfy 13.351 Auswärts2.718 Shift-Auswärts   sum 54.6 50.1
   Finger 10.8 12.2 19.3 12.3 | 14.5 14.2 10.8 10.7 Shift  2.8  1.8


Ganzneue   245.854 Gesamtaufwand 188.533 Lageaufwand   links rechts
 1.274 Kollisionen14.715 Shift-Kollisionen ob 12.3 13.7
äuocv khmlfq66.778 Handwechsel29.574 Shift-Handwechsel mi 37.6 28.8
aietb gdnrsß14.499 Einwärts   53.006 Shift-Einwärtsun  5.5  6.7
.,üöx pzwyj 15.056 Auswärts2.705 Shift-Auswärts   sum 55.5 49.2
   Finger 10.7 12.2 19.3 13.3 | 14.4 12.9 11.6 10.4 Shift  2.8  1.9


Deine bisherige 245.135 

Re: [Neo] Gemischt-ganzzahlig-linearer Optimierungsansatz

2010-01-07 Diskussionsfäden wettstein509
 z(ij) ≥ a(ij)c(tu)·(z(it)+z(ju)-1) ∀ i∈I, j∈I, t∈T, u∈T

 Diese Nebenbedingung ist tatsächlich ein wenig groß, auch wenn ein recht
 hoher Teil schon rausfällt, da, wenn t und u sich auf beide Hände
 verteilen, c(tu) ja 0 sein müsste.

Das ist natürlich viel besser als mein Vorschlag.  Mit Ulfs Kriterium
kommt man grob gepeilt auf eine viertel Million Nebenbedingungen.  Ist
das viel?  Wenn man in der Testphase nur Fingerkollisionen
berücksichtigt bringt man die Anzahl der Bedingungen noch weiter runter.

Andreas



Re: [Neo] Wie groß muss ein Korpus sein?

2009-12-30 Diskussionsfäden wettstein509
 interessanter fände ich es etwa, den 1M-Leipzig-Korpus mit einem
 1M-Wikipedia-Korpus zu vergleichen.

Dann bekommt man allenfalls eine Aussage über den systematischen Fehler
und erfährt nichts über den statistischen Fehler.  Der systematische
Fehler hat nichts mit der Korpusgröße zu tun, sondern mit der geeigneten
Auswahl der Quellen.  Das ist wichtiges, aber ein anderes Thema.

 Ansonsten dürfte unbestritten sein, dass bei selteneren Zeichen wie »αℤ ein
 größerer Testkorpus genauer bzw. aufschlussreicher wäre … da ist eher die
 Frage, ob dies für die automatische Optimierung überhaupt relevant ist oder
 vernachlässigt werden könnte.

Wenn ein Zeichen wirklich selten ist spielt es automatisch in der
Gesamtwertung kaum keine Rolle, zumindest wenn man ein in den
Häufigkeiten lineares Beurteilungsschema verwendet.

Mit Sonderzeichen gibt noch ein ersteres Problem als die Statistik: Die
Häufigkeiten sind stark von der Quelle abhängig.  Zum Beispiel gibt es
im Leipziger Korpus recht viele geraden Anführungszeichen (), die
anstelle typographisch korrekter Anführungszeichen benutzt werden.
Würden wir das Neo-Mailinglisten-Archiv als Quelle benutzen wäre das
anders.  Bei Exoten wie ℤ muss man sogar sicherstellen, dass statt des
eigentlichen Zeichens nicht ein Bildchen verwendet wird; bei Mathematik
auf dem Web ist das immer noch üblich.

Vor dem Problem der Korpusgröße steht bei Sonderzeichen, insbesondere
seltenen, also das Problem der Quellenauswahl und allfälliger manueller
Nachbesserung.  Auch ein 3G Leipziger Korpus würde hier nichts helfen,
sondern im Gegenteil nur die manuelle Nachbesserung erschweren.

Andreas









Re: [Neo] Wie groß muss ein Korpus sein?

2009-12-29 Diskussionsfäden wettstein509
 Je nachdem, welche Informationen aus dem Textkörper geholt werden
 sollen, kann ein größerer Textkörper erforderlich sein.

Das ist richtig.  Für ein Gesamturteil reicht ein recht kleiner Korpus,
weil es sich aus vielen Einzelhäufigkeiten zusammensetzt, oder anders
ausgedrückt, einen Großteil der Information im Korpus tatsächlich auch
verwendet.

 Interessant könnte sein, einen Textkörper in einer Matrix abzubilden,
 die die Wahrscheinlichkeiten enthält, mit der ein Zeichen auf ein
 anderes folgt (bzw. ihm voraus geht).

Wenn man die Bigrammhäufigkeiten mit der Häufigkeit des betreffenden
Zeichens normiert hat man genau das.

 Zum Erzeugen solch einer Matrix (z. B. anhand einer Trigrammliste nach
 dem mittleren Zeichen sortiert) erscheint mir tatsächlich ein recht
 großer Textkörper erforderlich, wenn der Fehler im relevanten Bereich
 nicht zu hoch werden soll.

Wenn einem wirklich an jedem einzelnen Eintrag der Matrix liegt braucht
man tatsächlich einen großen Korpus.  Für die Tastaturoptimierung liegt
einem aber nicht an jedem einzelnen Eintrag.

 Kann man anhand der Fehlerbetrachtung für Bigramme auch auf eine für
 Trigramme schließen?

Wenn man den statistischen Fehler für die Häufigkeit eines bestimmten
Trigramms haben will kann man diese nicht einfach aus dem statistischen
Fehler der beiden enthaltenen Bigramme gewinnen.

Andererseits glaube ich nicht, dass sich die Anforderungen an den Korpus
wesentlich ändern, wenn man Trigramme in die Gesamtbewertung mit
einbezieht, vorrausgesetzt, man tut das vernünftig.

Andreas



Re: [Neo] Automatische Optimierung

2009-12-28 Diskussionsfäden wettstein509
 Ich würde persönlich erstmal Shift ignorieren (ist das der Bug?)

Klar, nur etwa 5% der Zeichen sind Großbuchstaben, und ihre Häufigkeit
ist durch den Text, nicht durch die Belegung vorgegeben.  Das spricht
dafür, sie zu ignorieren.  Andererseits, falls man sich wegen einem
Prozent mehr oder weniger Fingerkollisionen Gedanken macht kommt man um
die Berücksichtigung von Shift kaum herum.  Zum Beispiel:

  Eidur  251.831 Gesamtaufwand 190.763 Lageaufwand   links rechts
   0.808 Kollisionen18.900 Shift-Kollisionen ob  9.8 13.0
  äuocj khlmvx70.849 Handwechsel21.786 Shift-Handwechsel mi 36.6 31.2
  aietp gdnsrß14.092 Einwärts   56.533 Shift-Einwärtsun  7.5  8.6
  .,üöq zbwfy 11.976 Auswärts2.781 Shift-Auswärts   sum 53.9 52.7
 Finger 11.9 12.3 19.2 10.5 | 16.5 14.8 10.5 10.9 Shift  4.5  2.1

Hier verdoppelt sich die Anzahl Kollisionen, sobald man die Kollisionen
mitzählt, bei denen der gleiche kleine Finger erst Shift drückt und
direkt danach eine andere Taste anschlagen muss oder umgekehrt (oben
Shift-Kollision genannt, die Zahl ist auf die Zahl der Bigramme mit
Großbuchstaben bezogen).

 Die Lagepunkte sind nach meiner Meinung in erster Linie ein Werkzeug um
 das Programm in bestimmte Bahnen zu zwingen und können so auch nicht
 Gegenstand einer demokratischen Umfrage werden (!).

Ich sehe das technokratischer.  Wenn die Lagepunkte nicht interessieren
lässt man sie weg; wenn sie interessieren sollten sie vernünftig sein
und angemessen gewichtet werden, sonst vermasseln sie nur die
automatische Optimierung.


  10 238.143 Gesamtaufwand 189.086 Lageaufwand   links rechts
   0.797 Kollisionen 6.650 Shift-Kollisionen ob  8.1 13.3
  cüo., bgmlfß70.905 Handwechsel23.395 Shift-Handwechsel mi 39.2 32.2
  teaiu hdnrsx14.225 Einwärts   66.138 Shift-Einwärtsun  6.0  7.8
  jqäöy kpwvz 11.798 Auswärts3.817 Shift-Auswärts   sum 53.3 53.3
 Finger 14.0 16.6  9.0 13.7 | 16.3 13.8 12.1 11.2 Shift  4.8  1.8
 
 So eine Ähnliche habe ich mehrmals gehabt. Ich bekomme aber:
 ===
 cüo., bgmlfß
 teaiu hdnrsx
 jqäöy kpwvz
 Lagepunkte145
 Fingerwiederholung  0.770 %
 Handwechsel... 74.543 %
 Einwärtsbewegung.. 14.958 %
 Auswärtsbewegung..  9.730 %
 Fingerverteilung:
 9.17 16.55  9.01 13.74 | 16.35 13.76 12.06  9.36
 
 Deine Prozente Wiederholung, Wechsel, Einwärts, Auswärts summieren sich
 nicht zu 100%. Das stört irgendwie.

Bei Kollisionen zähle ich Mehrfachanschläge (also zum Beispiel «ll»)
nicht mit.  Ich gebe sie auch nicht mit der Tastatur, sondern mit der
Korpusstatistik aus, denn sie sind eine Eigenschaft des Korpus, nicht
der Belegung.

Die Unterschiede kommen vermutlich von den Bigrammhäufigkeiten.
bigramme-de.txt von deiner Homepage sieht deutlich anders aus als Karls
2gramme.txt.  Du verwendest die 1M Datei, Karl die 3M Datei.  Mit
sentences.txt aus der 100k-Datei bekomme ich eine ähnliche Verteilung
wie Karl.

 Wenn man eine Eigenschaft optimiert, leidet vielleicht eine andere.

Wenn es anders wäre würde ich dem Optimierer nicht trauen.

Andreas



[Neo] Wie groß muss ein Korpus sein?

2009-12-28 Diskussionsfäden wettstein509
Damit die Beurteilung einer Tastatur nicht zu sehr durch zufällige
Variation der Zeichen- und Bigrammhäufigkeiten beeinflusst wird, muss
der Korpus groß genug sein.  Die Frage ist, wie groß.

Die Beurteilung einer Tastatur wird durch eine Zahl ausgedrückt.  Man
kann sich überlegen, dass für einen sehr große Korpora der relative
statistische Fehler dieser Zahl reziprok zur Wurzel der Größe eines
Korpus ist.  Dieses qualitative Verhalten sollte nicht vom
Bewertungsschema und der gegeben Tastatur abhängen; der Vorfaktor kann
das aber durchaus.

Um den Vorfaktor zu bekommen habe ich zwei Tastaturen, eine (gemäß
meinen aktuellen Kriterien) besonders gute und eine besonders schlechte,
mit verschiedenen Korpora bewertet und aus den Einzelergebnissen den
relativen Fehler (Standardabweichung durch Mittelwert) bestimmt.  Die
Korpora habe ich aus dem Leipziger 1M-Korpus gewonnen, indem ich diesen
einmal in 1000 Files zu je 1000 Zeilen und einmal in 100 Files zu je
1 Zeilen aufgespaltet habe.  Resultat:

 Mittel rel. Fehler  Files Zeilen  Tastatur

236.353 0.00140541  1001  optimiert
236.357 0.00394096  10001000  optimiert

984.445 0.000574423 1001  pessimiert
984.446 0.0018825   10001000  pessimiert

So ein 1-Zeilen-File hat etwa 1.1 MByte, und der relative
statistische Fehler der Bewertung ist im Promillebereich.  Wenn wir uns
als Ziel setzen, den statistischen Fehler unter einem Promille zu halten
(die Willkür im Bewertungschema wird viel größer sein als das), ist ein
Korpus von 3 MByte also groß genug.

Andreas



Re: [Neo] Automatische Optimierung

2009-12-16 Diskussionsfäden wettstein509
 Ich habe in Python deinen damals beschriebenen Algorithmus geschrieben.

Prima.  Mit Python haben sicher mehr Leute die Möglichkeit, mit dem
Algorithmus und mit Bewertungschemas zu spielen.

 1. Mache eine zufällige Tastatur
 2. Tausche zwei Zeichen. Gibt das bessere Punkte, dann mache mit „2“ weiter. 
 Gibt es nicht bessere Punkte, dann tausche zwei anderen ( bis 32 * 32 = 1024 
 minus 32 die gleich sind - 992 Möglichkeiten erschöpft sind).
 3. Ist keine Besserung mehr möglich, dann höre auf.
 
 Das ist doch so richtig oder nicht?

Bei Punkt 2 bin ich nicht sicher.  In meiner ersten Variante probiere
ich erst alle 992 möglichen Vertauschungen.  Erst dann nehme ich die
Beste davon.  In meiner zweiten Variante fange ich bei einer zufälligen
Vertauschung an und suche von da ab die erste, die eine Verbesserung
bringt.  Wichtig ist «zufällig»; fängt man immer an derselben Stelle an
kommt das vermutlich nicht gut (hab's aber nicht probiert).

 Nur 1 von 25 Tastaturen gefällt mir. Sie sind nicht so schöne wie deine.

Ich schaue nur Resultate an, die eine gute Wertung haben, ansonsten
probiere ich gleich nochmal.  Vielleicht ist das ja der einzige
Unterschied; es passt auch zu den Laufzeiten, die du nennst.

 Wie bewertest du ganz genau?

Ich habe ein paarmal dran gedreht, für «Ohne Shift» war es so:

- Einzeltasten wie in deinem Auswerteprogramm mit Ausnahme von QWERTZ-n;
  hier 5 statt 7 Punkte.

- Mehrfachanschlag: Differenz aus Einzeltastenwert und dem
  Einzeltastenwert der Grundposition des betreffenden Fingers (also
  etwas negatives für Tasten außerhalb der Grundposition).

- Andere Fingerwiederholung (also Kollisionen): 9 plus zweimal
  Absolutwert der Differenz der Spaltennummern der beiden Tasten.

- Andere Handwiederholung: Für Einwärtsrolle 1 plus das Verhältnis aus
  dem Absolutwert der Zeilennummerdifferenz und dem Absolutwert der
  Spaltennummerdifferenz; für Auswärtsrolle noch einen Punkt mehr.

Für «Mit Shift» kommen noch Strafpunkte dazu, das Schema für diese ist
ähnlich.

 Es bedarf demnach oft mehr als eine Mutation bevor eine Besserung 
 eintritt. Das geht bei deinem Algorithmus nicht. Da muss jede Mutation eine 
 Besserung bringen. Auch mal was zum überlegen???

Ja, und deswegen hat es mich überrascht, dass der Algorithmus überhaupt
etwas Brauchbares liefert.  Ich hatte erwartet, dass man praktisch immer
bei irgendetwas mittelmäßigem stecken bleibt.

In Variation meines Verfahrens könne man auch Verschlechterungen
akzeptieren, aber mit geringerer Wahrscheinlichkeit als Verbesserungen.
Ich habe schon ein wenig in der Richtung probiert, aber ohne Erfolg.
Vielleicht braucht man tatsächlich noch «Replikation» und «Vererbung»,
um erreichte Qualitäten nicht an den Zufall zu verlieren.

 Wenn ich mit deinem Algorithmus 50 Tastaturen mache und lasse sie durch 
 meinen 
 laufen kommen scheinbar sehr gute heraus. Bei Interesse werde ich davon 
 welche hier posten.

Ja, ich habe Interesse.  Ich möchte eine deiner sehr guten Tastaturen
mit meinen Kriterien beurteilen und sehen, ob sie danach tatsächlich
besser ist als Beste mit meinem Algorithmus gefundene.  Wenn ja ist die
Kombination der Algorithmen tatsächlich ein weiterer Fortschritt.  Wenn
nein kommen die Unterschiede wohl von unterschiedlichen Kriterien oder
vom unterschiedlichen Korpus.

Andreas



Re: [Neo] Automatische Optimierung

2009-12-16 Diskussionsfäden wettstein509
 In meiner ersten Variante probiere ich erst alle 992 möglichen Vertauschungen.

Will natürlich sagen, 992/2 mögliche Vertauschungen. x mit y zu tauschen
ist ja dasselbe wie y mit x zu tauschen.

Andreas



Re: [Neo] Automatische Optimierung

2009-12-15 Diskussionsfäden wettstein509
 Wenn ich mich nicht irre sind aber bei k Belegungen auf n Tasten „nur“
 n!/(n-k)! Kombinationen zu untersuchen, was die Sache etwas vereinfacht.

Ja, stimmt.

 Ich denke, die entscheidende Frage ist die Dauer einer Evaluation.

Und die hängt von der Qualität der Abschätzung ab.  Ich habe hier einen
etwas älteren Schmierzettel auf dem was von n³ Operationen steht, aber
ich verstehe ihn selbst nicht mehr ganz.  n³, das wäre im
Millisekundenbereich.

 Auch ist die Frage, wieviele Kombinationen denn so rausfliegen werden.

In der Tat, und mir ist nicht wohl dabei.

Andreas




Re: [Neo] Dilettieren mit automatischer Optimierung

2009-12-13 Diskussionsfäden wettstein509
Ich habe den Optimierer so erweitert, dass er Shift berücksichtigen
kann.  Nach der Metrik die ich dabei verwende macht es durchaus einen
Unterschied ob man das tut oder nicht, wenn auch nicht dramatisch
(vergleiche die ohne Berücksichtigung von Shift optimierte Tastatur
«Ohne Shift» und die mit Berücksichtigung von Shift optimierte Tastatur
«Mit Shift» unten).  Für den Vergleich habe ich den Leipziger Textkorpus
verwendet (genauer gesagt die Tabellen «1gramme.txt» und «2gramme.txt»
die Karl daraus erzeugt hat).  Im Vergleich unten ist der Gesamtaufwand
in jedem Fall mit Berücksichtigung von Shift berechnet.

Die Details sind nicht sehr spannend; falls sich noch doch jemand dafür
interessiert, wie die Beurteilung gemacht wird, siehe den Quellcode (URL
wie gehabt).

Außerdem habe ich den Algorithmus umgestellt: Statt des besten Tausches
wird in jeder Iteration (ausgehend von einer zufälligen Stelle) der
erste Tausch gemacht der eine Verbesserung bringt.  Dadurch läuft der
Optimierer im Mittel etwas schneller.  Die Tastaturen «Mit Shift» und
«Ohne Shift» wurden nach jeweils ein paar Sekunden Laufzeit gefunden.

Andreas


Großbuchstaben:6.587 %
Mehrfachanschläge: 2.275 %


Mit Shift  232.102 Gesamtaufwand 185.108 Lageaufwand
 1.137 Kollisionen 2.972 Shift-Kollisionen
kzo., cgmlfq70.480 Handwechsel30.643 Shift-Handwechsel
haeiu dtnrsß17.774 Einwärts   62.551 Shift-Einwärts
xüäöy pbwvj  8.335 Auswärts3.834 Shift-Auswärts


Ohne Shift 240.870 Gesamtaufwand 184.706 Lageaufwand
 0.780 Kollisionen18.054 Shift-Kollisionen
äco., bgmlvß71.200 Handwechsel19.564 Shift-Handwechsel
ateiu hdsnrx15.468 Einwärts   57.669 Shift-Einwärts
qpöüy kfzwj 10.277 Auswärts4.713 Shift-Auswärts


Bro251.192 Gesamtaufwand 192.434 Lageaufwand
 1.983 Kollisionen 8.281 Shift-Kollisionen
xpc,y kghlfß71.816 Handwechsel20.658 Shift-Handwechsel
uieao dtnrsj13.806 Einwärts   67.006 Shift-Einwärts
üqä.ö vmbzw 10.120 Auswärts4.056 Shift-Auswärts


Moesi HP   261.699 Gesamtaufwand 201.847 Lageaufwand
 1.472 Kollisionen13.236 Shift-Kollisionen
yoa,j kgclfx70.946 Handwechsel27.210 Shift-Handwechsel
iuehp dtnrsß13.803 Einwärts   55.483 Shift-Einwärts
üöä.q vmbzw 11.505 Auswärts4.071 Shift-Auswärts


Moesi Var. 266.465 Gesamtaufwand 206.318 Lageaufwand
 1.605 Kollisionen13.691 Shift-Kollisionen
yoa,j kghlfx71.596 Handwechsel22.573 Shift-Handwechsel
iuecp dtnrsß14.252 Einwärts   59.520 Shift-Einwärts
üöä.q vmbzw 10.272 Auswärts4.217 Shift-Auswärts


Neo2   294.627 Gesamtaufwand 191.699 Lageaufwand
 6.494 Kollisionen 6.291 Shift-Kollisionen
xvlcw khgfqß64.507 Handwechsel32.439 Shift-Handwechsel
uiaeo snrtdy10.131 Einwärts   57.514 Shift-Einwärts
üöäpz bm,.j 16.594 Auswärts3.756 Shift-Auswärts



Re: [Neo] Handwechsel maximieren

2009-12-11 Diskussionsfäden wettstein509
  Umkehrt: Viele Strafpunkte für Handwechsel, wenige für andere Kriterien
  (der Optimierer versucht die Strafpunkte zu minimieren).
 
 Das kann ich nicht glauben.

Du hast recht.  Richtig wäre «Handwiederholung» statt «Handwechsel».

Andreas



Re: [Neo] Handwechsel maximieren

2009-12-10 Diskussionsfäden wettstein509
 Verstehe ich das mit den Strafpunkten richtig: Handwechselstrafpunkte
 minimal bei allen anderen Kriterien maximale Strafpunkte veranlasst
 den Optimierer, die Zeichen so auszugeben, dass für den
 zugrundegelegten Textkörper die Handwechsel maximal werden.

Umkehrt: Viele Strafpunkte für Handwechsel, wenige für andere Kriterien
(der Optimierer versucht die Strafpunkte zu minimieren).

 Wie umfangreich war der zugrunde gelegte Textkörper?

11 MB, der kleinste der Leipziger Textkörper.  Übrigens, vielen Dank für
die fertigen Tabellen für den vollen Textkörper; ich werde einstweilen
deine 1- und 2-Gramme verwenden.

 Bei meinem Ergebnis bin ich mir nicht sicher, weshalb die Untersuchung später 
 genauer wiederholt werden soll.

Deine Untersuchung braucht nicht wiederholt werden:

Wenn wir die Gesamthäufgkeit eines Zeichen n nennen, und die Summen der
Häufigkeiten mit der es in der ersten bzw. zweiten Position eines
Bigramms auftaucht n₁ und n₂, dann ist, von der Skalierung abgesehen,
die Größe in deiner Klassifikation n₂-n₁ = (n-n₁)-(n-n₂).

Nun sind n-n₁ und n-n₂ offenbar die Häufigkeiten des Zeichens am
Wortende und Wortanfang, das heisst, deine Klassfikation geht danach, ob
ein Zeichen eher am Anfang oder am Ende von Wörtern steht.  Ein gutes
Kriterium für Sprachen deren Wörter typischeweise zwei Buchstaben haben,
ein schlechtes für Sprachen deren Wörter typischeweise drei Buchstaben
haben, ein irrelevantes für Deutsch.

 Kann mit dem Optimierer überprüft werden, wie hoch Handwechsel zu einem 
 bestimmten Korpus sind, wenn vorher feststeht, welche Zeichen mit welcher 
 Hand (egal auf welcher Taste) bedient werden sollen?

Klar, aber ein Auswerteprogramm tut es auch.

Andreas



Re: [Neo] Handwechsel maximieren

2009-12-09 Diskussionsfäden wettstein509
 im Vorfeld kann anhand von Bigrammen ermittelt werden, welche Zeichen
 zu welcher Hand zugeordnet die Handwechsel maximieren.

Wenn ich in meinem Optimierer die Stafpunke für Handwiederholung
zum dominanten Kriterium mache schlägt er vor:

öp.o, mlghbv
uiaec dnrtsj
xyüäq ßwkfz

Andreas



Re: [Neo] [ticket] #141: Neue xkbmap-Version setzt xkbmap außer Gefecht

2009-10-12 Diskussionsfäden wettstein509
 Bleibt die Möglichkeit, die Tasten gleich selbst mit den Mods zu belegen. 
 Gibt’s da Erfahrungen?

Wenn ich dich richtig verstehe ist die Frage, ob man die Zuordnung
zwischen reellen und virtuellen Modifikatoren statt per MDSW (und
HYPR) mit den Neo-Mod4-Tasten machen kann, mit virtualmodifiers in der
key-Definition in xkb_symbols.

Im Prinzip ja.  Wir müssen zwei Zuordnungen machen: zwischen LevelFive
und Mod3 sowie zwischen NumLock und Mod2.  Da wir zwei Neo-Mod4-Tasten
haben kann die eine Taste die eine, die andere Taste die andere
Zuordnung übernehmen.  Im Prinzip.

Es ist schon eine Weile her, aber soweit ich mich erinnere hat das bei
mir funktioniert, bei Stephan nicht.  Probiert habe ich mit einem
einzigen Layout, und damals auch noch mit expliziten actions in
xkb_symbols statt dem Umweg über xkb_compartibility.

Es gibt vielleicht noch eine Möglichkeit: Die Neo-spezifische Belegung
für MDSW und HYPR in allen Layouts zu verwenden.  Im Moment werden
diese Tasten in anderen Layouts nicht sinnvoll benutzt (HYPR verbindet
zwar den virtuellen Modifikator Hyper mit dem reellen Mod4, aber das
könnte SUPR miterledigen).

Andreas



Re: [Neo] Neo und Kyrillisch

2009-10-04 Diskussionsfäden wettstein509
 Hast du es mal richtig getestet? Wie gefällt es dir?

Ich habe nur die Tasten durchprobiert und verifiziert, dass die
Erzeugung der Großbuchstaben per X-Modifier «Lock» für alle Buchstaben
funktioniert.

Aus Anwendersicht kann ich den Entwurf mangels Sprachkenntnissen nicht
beurteilen.  Aus Implementierungssicht ist es elegant, dass du alle
Buchstaben auf Tasten untergebracht hast, die auch auf Ebene 1
Buchstaben haben.

Andreas




Re: [Neo] Tote Tasten, Griechisch

2009-09-18 Diskussionsfäden wettstein509
 Gundsätzlich ist es möglich, die Modifier getrennt zu loggen, so dass ein 
 Shift-Lock und ein Mod3-Lock insgesamt die Ebene 5 ergäbe, ABER…
 Es steht dann kein normals Leerzeichen, kein Komma, kein Punkt, kein 
 Gedankenstrich, keine Klammern, keine Anführungszeichen, … zur Verfügung. Das 
 Schreiben eines Textes ist auf diese Weise also nicht sinnvoll.

Mit XKB hat man noch mehr Möglichkeiten.  Der Treiber benutzt 5
X-Modifier für nur 7 Levels; da ist noch viel Luft drin.  Im meinem
monolithischen Treiber wird z.B. ein Kyrillisch-Lock per X-Mod2-Lock und
X-Lock-Lock (Neo-Mod4-Lock und Neo-CapsLock) realisiert.  Nur
Buchstabentasten sind betroffen, alle anderen Tasten funktionieren wie
ohne Locks, Ebene 3, 4, und 5 funktionieren auf allen Tasten.

Für den offiziellen XKB-Treiber ist dieser Weg allerdings problematisch,
da man dazu ganz spezielle xkb_types braucht die von anderen Projekten
kaum wiederzuverwerten sind.  In dieser Hinsicht ist ein neo_griechisch
wie es dir vorschwebt der bessere Weg, auch wenn man dazu mehr knappe
Ressourcen (in diesem Falle XKB-groups) verbraucht.

Andreas



Re: [Neo] Neo und Kyrillisch

2009-09-17 Diskussionsfäden wettstein509
 ich habe einfach mal eine symbols/de-kyr und cyrillic.module ins SVN geladen, 
 wenn es sich mal jemand anschauen will.

Was ist mit T1?  Du hast da ein Ь im Bildchen, aber in de-kyr nichts
Spezielles.

Ich habe deinen Vorschlag als siebente Ebene in den monolithischen
Treiber aufgenommen (eine neue Ebene reicht, die Großbuchstaben kann man
aus den Kleinbuchstaben generieren).  Mit CapsLock+Mod4-Lock kann man
die Kyrillisch-Ebene fest einstellen.  Ich weiß nicht ob das Ganze
praktisch nutzt, technisch ist es aber interessant…

Wen es interessiert findet hier ein Skript, das einen monolithischen
Treiber generiert bzw. einen fertigen Treiber (der für Linux mit evdev
aber noch angepasst werden muss, siehe Kommentare):

  http://wettstae.home.solnet.ch/neo.sh.gz
  http://wettstae.home.solnet.ch/neo_ch_de_us.xkb.gz

Andreas






Re: [Neo] Silbentastatur und Kurzschrift

2009-09-16 Diskussionsfäden wettstein509
  Ein Mittelweg wäre, ein oder zwei halbwegs gute Positionen für spezielle 
  tote Tasten zu opfern, und diese tote Tasten als Präfix für wichtige Wörter 
  oder Silben zu verwenden.
 
 Das wäre dann im Prinzip schon ein zweites vollwertiges Compose … auch eine
 interessante Idee.

Zumindest unter X würde man den normalen Compose/Tote-Tasten-Mechanismus
verwenden.  Speziell wäre an den neuen toten Tasten nur, dass sie sonst
noch nicht verwendet werden, daher keine Konflikte mit Bestehendem
auftreten, und damit kurze Tippsequenzen möglich werden.  Wenn man auf
(kurze) Silben statt (längere) Wörter abzielt ist das besonders wichtig.

Andreas






Re: [Neo] Silbentastatur und Kurzschrift

2009-09-14 Diskussionsfäden wettstein509
 Ich bin mir auch nicht sicher, ob man dieses Problem dadurch aus der Welt
 schaffen könnte, auf ♫ zu verzichten und einfach alle Buchstaben zu töten
 (analog zu meinem immer noch heißgeliebten ßß→ſs Fix).

Ein Mittelweg wäre, ein oder zwei halbwegs gute Positionen für spezielle
tote Tasten zu opfern, und diese tote Tasten als Präfix für wichtige
Wörter oder Silben zu verwenden.  Vielleicht könnte man auch sehr
seltene Buchstaben auf diesem Weg erzeugen (und deren Platz für
Wichtigeres verwenden, etwa für die ein oder zwei speziellen toten
Tasten).

Andreas



Re: [Neo] OSD Neo2

2009-09-02 Diskussionsfäden wettstein509
 das ging ja fix mit der Änderung.  Ich habe mir die neue Datei von
 http://neo-layout.org/neo_de.xmodmap heruntergeladen, allerdings stimmen die
 Modifier jetzt eher noch weniger als vorher... ;)
 
   [Xmodmap]
 
   Neo2X11
   ===
   SHIFT   shift
   CAPS_LOCK   shift_lock
   MOD3(nicht gemeldet)
   MOD4mod3 + mod5
   MOD4_LOCK   mod3_lock + mod5_lock (und das auch nur gelegentlich)
 
 Die Buchstaben, die letztendlich beim Tippen herauskommen, stimmen übrigens 
 mit
 den erwarteten überein.

Du siehst von Neo-MOD3 deshalb nichts, weil xmodmap zum Erreichen der
Ebenen 3 und 6 nicht zwischen «levels» sonder zwischen «groups»
umschaltet, und dabei sind keine Modifier beteiligt.  Zur Illustration
ist hier die XKB-Sicht auf das, was xmodmap für i produziert:

key AC02 {
type[group1]= FOUR_LEVEL_ALPHABETIC,
symbols[Group1]= [   i,   I,Left,   
 Left ],
symbols[Group2]= [   slash,  Greek_iota ],
symbols[Group3]= [integral ]
};

Andreas



Re: [Neo] Belegung der toten Tasten

2009-08-28 Diskussionsfäden wettstein509
 Was mir vielleicht ein bisschen zu viel des Guten ist, ist der E6-Lock, 
 ansonsten finde ich den Tausch von E5/6 und die Einführung von E8 gut 
 (was kommt dann auf die griechischen Buchstaben auf E5? Die wären dann ja 
 doppelt. Fragen über Fragen …).

Als Barbar bin ich mir nicht sicher: Braucht man noch andere griechische
Großbuchstaben auer denen, zu denen es auf Ebene 5 Kleinbuchstaben
gibt?  Falls nicht könnte man die Großbuchstaben auch per CapsLock aus
den Kleinbuchstaben erzeugen.  Im Moment legt die Referenz nicht genau
fest ob CapsLock auf griechische Buchstaben wirken soll, daher «dürfen»
Implementierungen das.

Der XKB-Treiber sieht griechische Buchstaben als mathematisches Symbole
an und treibt einigen Aufwand um zu verhindern, dass sie bei aktivem
CapsLock in Großbuchstaben umgewandelt werden.  Das kann man aber
ändern.  Um die Großbuchstaben bequem erreichbar zu machen, brächte man
noch ein Ebene 5-Lock und ein nichtlockendes CapsLock auf Ebene 5 von
Shift.  Dergleichen sollte man wohl Privatimplementierungen von
Enthusiasten überlassen.

Und Level8 wäre noch frei für Kyrillisch…

Andreas




Re: [Neo] Abstraktionsgrad der Referenz (was: Re: KP_-Varianten: Referenz vs. xkbmap und xmodmap)

2009-08-18 Diskussionsfäden wettstein509
 Bitte beschreibe genau unter welchen Umständen das passiert – vielleicht 
 haben 
 wir noch immer diese Keysyms noch nicht ganz richtig verstanden.

Mit OpenOffice und schweizerdeutschen Spracheinstellungen, Details siehe
unten.  Nichts Neues.  Ich würde nicht erwarten, dass man die keysyms
verstehen kann; unter X macht halt traditionell jedes Programm was dem
Programmierer gerade gepasst hat.

 Nur damit ich dein Problem endlich verstehe: Lade bitte mal die Neo-Xmodmap 
 und sag mir, was bei dir die Taste neben der 0 auf dem Keypad

Da ich hier ein NetBSD ohne OpenOffice habe, habe ich folgendes mit
einer Ubuntu 9.04-LiveCD und der aktuellen xmodmap ausprobiert:

  • in der Bash (X-Konsole)
  • mit Shift in der Bash
  • mit Mod3 in der Basch

Komma, Punkt, Komma (bash in xterm, unabhängig von LC_ALL)

  • in deinem OpenOffice (Schweiz)
  • mit Shift in deinem OpenOffice
  • mit Mod3 in deinem OpenOffice

Punkt, Punkt, Komma (In OpenOffice 3.0, mit German(Switzerland) unter
Tools  Options  Language Settings  Languages eingestellt, Häkchen
hinter «Decimal separator key» gesetzt).

 Ich verstehe, warum du dieses Argument anführst. Aber: KP_Sepataor löst den 
 gehaltenen Klick!

Nicht wirklich.  Die Details hängen von der Anwendung ab.  In Emacs wird
mit KP_Separator die Hervorhebung des markierten Bereichs abgeschaltet;
in xterm passiert das nicht, dafür wird das Wort unter dem Mauszeiger
komplett mitselektiert.  Beides ist nicht korrekt.  Das Schlimmste
(unter Ubuntu wie unter NetBSD) ist, dass abschließend das Setzen des
gehaltenen Klick nicht mehr richtig funktioniert.  (Probier zwei
Sequenzen von KP_0, Maus bewegen, KP_Separator auszuführen; beim zweiten
Mal funktioniert KP_0 nicht mehr).

Andreas



Re: [Neo] KP_-Varianten: Referenz vs. xkbmap und xmodmap

2009-08-12 Diskussionsfäden wettstein509
Zu Beginn will ich einen erfreulichen Umstand anmerken der denen, die diese
Diskussion in «epischer Breite» mitgemacht haben, bekannt sein sollte,
mir aber neu war:

Unser Sorgenkind OpenOffice hat unter ToolsOptionsLanguage Settings
Languages ein Kästchen «Decimal separator key».  Entfernt man dort das
Häckchen, ergibt KP_Seperator ein Komma, KP_Decimal einen Punkt.
Getestet mit OpenOffice 3.0 von der Ubuntu 9.04 LiveCD, mit deutschem
Locale und monolithischem Treiber.  Unser (einziges) Sorgenkind ist also
gar keines.

Und jetzt zu den strittigen Dingen.

 Wenn es nach mir ginge, würde ich dem period und komma auf dem echten,
 KP_Decimal und KP_Seperator auf dem Ebene 4-Ziffernblock verwenden.
 

 Das ist in jedem Fall ein schlechter Vorschlag. Erstens verliert man dadurch 
 Funktionalität auf dem Keypad. Zweitens ergeben Separator und Decimal in 
 OpenOffice (und vermutlich auch in anderen Programmen) das gleiche – heißt: 
 es gibt auf der Ebene 4 in solchen Programmen keinen Punkt mehr.

Ich bin mittlerweile der Ansicht, dass der Vorschlag tatsächlich
schlecht ist, aber aus anderen Gründen als denen, die du nennst.  Er hat
nämlich dieselbe Schwäche wie die Referenz: Er diktiert eine
Implementierung, statt sich darauf zu beschränken, das gewünschte
Verhalten der Neo-Belegung zu spezifizieren.  Systemspezifischer Kram
wie X-Keysyms haben in einer allgemeinen Referenz nichts verloren.  Und
Hacks wie der KP_Separator/comma-Hack, die ein nicht existierendes
Problem mit einer einzigen Anwendung auf einer bestimmten Plattform
umgehen (aber nur wenn das Locale zufällig passt) schon garnicht.

Im Moment ist das eine akademische Kritik an der Referenz.  Praktisch
relevant wäre sie gewesen, wenn OpenOffice tatsächlich ein «Sorgenkind»
gewesen wäre.  Dann hätten die Implementierungvorgaben eine konforme
Implementierung verhindert, die das Problem auch unter einem
schweizerdeutschen Locale umgeht, obwohl es technisch kein Hindernis
gibt (Stichwort: XkbOptions).

Da ein solches Sorgenkind noch auftauchen kann wäre es sinnvoll, die
Referenz von implementierungspezifischem Ballast zu befreien.

Andreas



Re: [Neo] Neo und Kyrillisch

2009-08-11 Diskussionsfäden wettstein509
 Unter Linux z.B. könnte man den Kyrillisch-Modus entweder als neue
 (intern 9. und 10.) Ebenen einführen oder als eigene »Gruppe«. Für die
 Ebenen bräuchte man einen neuen X-Modifier – Mod2 (was momentan
 Mod4-Lock ist, den man dann anders implementieren müsste und nicht
 mehr per Mod4+Mod4 deaktivieren könnte) oder Mod4, das aber für die
 Windows-Tasten steht und nicht angetastet werden sollte, da viele
 Nutzer die für eigene Zweck einsetzen.

Es gäbe auch eine Möglichkeit, ohne eine zusätzliche Gruppe und ohne
zusätzlichen X-Modifier auszukommen: Neo spezifiziert nämlich nicht, wie
die Locks miteinander kombinieren.  Man könnte also mit
CapsLock+Mod4Lock in einen Modus wechseln, der neue Ebenen bereitstellt.

 Eine eigene Gruppe ist einfacher, aber unter X sind nur höchstens vier
 Gruppen möglich, und manche Leute nutzen die auch (z.B. Andreas in
 seinem monolithischen xkb-Treiber).

In einem modularen Treiber liegen die Dinge anders als in einem
monolithischen: Dort kann der Anwender die gewünschten Gruppen wählen,
der Entwickler muss nicht alles entscheiden und fest einbauen.

Andreas





Re: [Neo] KP_-Varianten: Referenz vs. xkbmap und xmodmap

2009-08-11 Diskussionsfäden wettstein509
 Dass der Schreiber kein Deutscher ist, ist jedoch nicht zu erwarten. 

Was ist mit Schweizern, Liechtensteinern, Österreichern und
deutschprachigen Belgiern?

Keine Sorge, es geht mir nicht Wortklauberei, die Formulierung ist aber
einfach zu geeignet, um sie nicht als Aufhänger für Folgendes zu
gebrauchen: Einerseits gibt es auf Schweizer Tastaturen – das war mir
bislang garnicht klar – KP_Decimal, nicht aber KP_Seperator.  Insofern
ist die in diesem Thread geäußerte Behauptung, auf «QWERTZ» gäbe es nur
Letzteres, falsch.  Andererseits erzeugt OpenOffice mit einem
de_CH-Locale aus KP_Seperator einen Punkt, wodurch der Ebene 4-
Zifferblock nur eingeschränkt funktioniert.

Die Verbannung von KP_Decimal aus Neo könnte also Folgen für potenzielle
Benutzer haben, und die OpenOffice-Probleme sind trotzdem nicht behoben.
Vorrausgesetzt, man betrachtet Neo als Belegung für Deutsch, und nicht
als Belegung für Deutschland.

Wenn es nach mir ginge, würde ich dem period und komma auf dem echten,
KP_Decimal und KP_Seperator auf dem Ebene 4-Ziffernblock verwenden.  Bei
letzterem liegen die Ebene 1-Alternativen nämlich bequem erreichbar,
zudem bleibt dann auch auf Tastaturen ohne echten Ziffernblock jede
keysym verfügbar.

Andreas



Re: [Neo] xkbmap seltsam?

2009-08-08 Diskussionsfäden wettstein509
 Aha, gut zu wissen. Ich signalisiere hiermit Interesse. Wo finde ich
 dein .xkb? Im SVN gerade war ich mit Blindheit geschlagen.

Der monolithische Treiber ist ein Privatprojekt und nicht unter SVN.  Du
findest ihn hier:

  http://wettstae.home.solnet.ch/neo_ch_de_us.xkb.gz

Andreas





Re: [Neo] xkbmap seltsam?

2009-08-07 Diskussionsfäden wettstein509
 3. Ich fände es eigentlich besser, wenn statt der Typen
 EIGHT_LEVEL_NEO_LOCKS_QUARTERALPHABETIC und EIGHT_LEVEL_NEO_LOCKS
 andere, besser an Neo angepasste Typen definiert würden (da wir sie
 ohnehin extra einführen müssen).

Je Neo-spezifischer die Typen sind, desto weniger sind sie für andere
Layouts wiederverwendbar.  Wenn man eine Aufnahme ins offizielle
xkeyboard-config anstrebt ist das durchaus ein Thema.

 Nur sechs Ebenen (wie in Neo)

Die tote Taste 1 hat sieben Ebenen.

 Das würde das Anpassen eines eigenen Neo über eine .Xmodmap (für Leute
 ohne Rootrechte oder wenn sie nicht im xkb rumschreiben möchten)
 einfacher und logischer machen.

Man braucht keine root-Rechte um den offiziellen xkb-Treiber zu
verwenden.  Zum (nichttrivalen) Anpassen kann man mit xkbcomp ein
.xkb-File erzeugen und das dann nach Gusto anpassen.  Für einfache
Anpassungen reichten vielleicht schon die angebotenen Optionen.

In dem Zusammenhang muss ich natürlich wieder meinen monolithischen
Treiber ins Gespräch bringen. Dort ist die komplette Belegung in einem
.xkb-File, alle Modifikatoren sind reell (Neo-Mod3=X-Mod3,
Neo-Mod4=X-Mod4) und die Levels sind wie die Ebenen nummeriert.  Zum
rumexperimentieren ist das meiner Meinung nach die beste Option.

 4. Wozu wird in symbols/level5 der X-Mod2 belegt?

Damit Mod4-Lock durch Mod4+Mod4, aber nicht durch ein einfaches Mod4
gelöst wird.  Dazu der Zustand «Mod4 gelockt» sich vom Zustand «Mod4
gedrückt» unterscheiden.  Wenn du eine Idee hast wie man das ohne
einen zusätzlichen reellen X-Modifikator hinbekommt wäre das natürlich
prima.

Andreas



  1   2   >