[Neo] Chording für entspannteres Tippen

2011-07-30 Diskussionsfäden Arne Babenhauserheide
Ich habe gestern endlich chording für entspannteres Tippen entdeckt. 

Emacs¹ steht schon lange in dem Ruf, die kleinen Finger zu ruinieren, weil man 
sehr oft Strg braucht, und abgesehen von vim-inspirierten Lösungen wie control 
lock mode²  (oder gleich viper) gibt es auch die Möglichkeit, über chording³ 
zwei gleichzeitig gedrückte Tasten zum Aufrufen von Befehlen zu benutzen - oder 
auch, um direkt Textschnipsel auszugeben. 

¹: http://gnu.org/software/emacs
²: http://www.emacswiki.org/emacs/ControlLock
³: http://www.emacswiki.org/emacs/KeyChord

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

Ich nutze jetzt zum Beispiel cy zum Einfügen, bf, um den Buffer zu wechseln und 
xo, um zwischen Fenstern zu wechseln. Praktisch wird jede Taste zu einem 
potentiellen Modifier.

Deswegen habe ich mir die ngramm-Daten des Optimierers genommen, um gute 
Kandidaten für chords zu finden. Ich dachte, die Ergebnisse könnten euch 
intereressieren. 

Je nach Tastatur dürften die gut oder schlecht zu tippen sein. Sie sind danach 
kategorisiert, wie gut sie sich in meinem aktuellen layout tippen lassen 
(cry⁴). Jedes dieser Bigramme kommt im Durchschnitt höchstens einmal auf 20 
Seiten Text vor. Sie sollten sich also als chords eignen, wenn sie gut zu 
tippen sind.

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

(ab hier sind sie doppelt: ay und ya)

,a, ,b, ,c, ,i, ,m, ,o, ,u, ,x, ,y, ,z, ,ä, ,ü, .a, .b, .c, .i, .m, .o, .u, .x, 
.y, .z, .ä, .ü, a,, a., aj, aq, aß, b,, b., bd, bj, bk, bq, bv, bw, c,, c., cj, 
cß, db, dq, dx, dz, dä, dö, dü, fq, fv, fx, fö, gq, gx, gz, gä, gü, hx, i,, i., 
ij, ja, jb, jc, ji, jm, jo, jr, jt, jx, jy, jz, jä, jü, kb, kx, ky, kz, kä, kü, 
lx, lz, lö, lü, m,, m., mj, mq, mß, o,, o., oj, oq, ox, oä, pq, pä, pö, pü, qa, 
qb, qd, qf, qg, qm, qo, qp, qs, qw, qx, qy, qz, qä, qü, rj, rß, sq, sä, sö, tö, 
u,, u., ux, vb, vf, vg, vx, vz, vä, vö, vü, wb, wq, wx, wö, x,, x., xd, xf, xg, 
xh, xj, xk, xl, xo, xq, xu, xv, xw, xy, y,, y., yj, yk, yq, yx, yß, z,, z., zc, 
zd, zf, zg, zj, zk, zl, zq, zv, zz, ßa, ßc, ßm, ßr, ßy, ä,, ä., äd, äg, äj, äk, 
äo, äp, äq, äs, äv, öd, öf, öl, öp, ös, öt, öv, öw, ü,, ü., üd, üg, üj, ük, ül, 
üp, üq, üv

,,, ,q, ,ö, .w, .ö, bß, cz, cö, fj, gv, iä, jf, jg, jö, kd, kk, kq, nq, oü, q,, 
qö, tj, vw, w., wv, xß, xö, xü, yä, zx, zß, ßb, ßd, ßt, ßx, ßz, ßä, ßö, äa, äy, 
äß, ää, ö,, ö., öc, öj, öq, öx, öß, öö, üo, üx

,w, .q, aä, bb, bz, dk, dß, fß, gj, hh, iü, kv, lq, oö, pw, qk, ql, qn, qq, rx, 
sß, tß, vk, vv, w,, wp, xx, xz, zb, ßf, ßg, ßs, äi, äö, öo, öä, üi, üm, üä

kf, äx, äü, xr, pv, vp, mü, jj, fk, öi, q., gß, xä, p,, yü, iö, üy, p, ßß, v,, 
hq, qh, cx, xc, v, mx, öü, üa, jv, vj, aü, lj, üö, ßv, jl, xm, vß, jh, ßj, jß, 
öu, hj, zy, lß, ßh, nj, kj, yz, jk, ßl, jn, öy, yö, hß, uö, zä, ßn, nß, j,, jp, 
pj, äz, j, äb, bä, ß,, ßk, kß, jw, ß, wj, ßp, pß, v, v., k., k, ßw, wß

zü, k,, öb, bö, üz, üu, k, uü, f, f,, j., j, vq, bx, qv, zo, xb, oz, ß., öa, ß, 
aö, jq, qj, ßq, qß, kw, wk, zö, öz

⁴: cry:
bmuaz kdflvjß
criey ptsnh
xäüoö wg,.q

Liebe Grüße, 
Arne

PS: 
There is no System but GNU, and Linux is one of its kernels! C-SPC C-a M-w C-y 
C-y



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] Chording für entspannteres Tippen

2011-07-30 Diskussionsfäden heiterbisstuermig



Am 30.07.2011 16:30, schrieb Arne Babenhauserheide:

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


Auch wenn diese in normalen Texten nicht oft hintereinander vorkommen 
werden sie in bestimmten Situationen leider sehr häufig benötigt und 
würden dann das Arbeiten massiv einschränken, daher sollte so etwas mMn 
nur optional sein.


Beispiele:
cd = changedir auf der shell
cp = copieren auf der shell
yy = zeile kopieren in vim
wy = wort kopieren in vim
uu = 2 mal rückgängig in vim
…

Gruß
Chris




Re: [Neo] Chording für entspannteres Tippen

2011-07-30 Diskussionsfäden Arne Babenhauserheide
At Sat, 30 Jul 2011 17:23:05 +0200,
wettstein wrote:
 Ein Control-Lock lässt sich mit XKB leicht machen.  Das funktioniert
 dann für alle Programme, nicht nur für Emacs.

Das schon, aber leider nicht so weit integriert, dass es z.B. im Minibuffer 
selektiv deaktiviert ist. Und das macht einiges an Unterschied. 

Mein scroll-lock geht jetzt mit äü an und mit C-ü (also ü) aus. Das ist noch 
komfortabler als caps-lock bei vim :)

  ³: http://www.emacswiki.org/emacs/KeyChord
 
 Danke für den Link.  Chording ist eine interessante Sache.

Finde ich auch. Es wird außerdem in Stenomaschinen verwendet.

  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.  

Das mache ich auch, aber von Hand, weil dan layoutspezifisch ist. 

Außerdem habe ich chords für Wörter, die schlecht zu tippen sind: Bei cry z.B. 
„Layout“ :)
Und einen für gegen, um zu testen, ob das geschwindigkeit bringt.

 Insbesondere wird man kaum versehentlich Tasten
 gleichzeitig drücken, die eigentlich von selben Finger angeschlagen
 werden.  

Jupp. 

 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/

Ich leider nicht… 

  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…

Das chording sieht bei der gleichen Taste einen Doppelclick in 0.3s als chord 
an. Daher sollte man nur Tasten nehmen, die nicht doppelt kommen. Das ist auch 
der Grund, warum uu drin ist. Aber wehe, du Progrmmierst was, bei dem du 
ständig uuencode tippen musst :)

Mal als Referenz: Das hier sind meine bisherigen chords (nach 1 Tag 
Erfahrung): 

; words
(key-chord-define-global yu you )
(key-chord-define-global dh d.h. )
(key-chord-define-global zb z.B. )
(key-chord-define-global ys yes)
(key-chord-define-global gg gegen) 
(key-chord-define-global ay layout )


; buffer actions
(key-chord-define-global vg 'eval-region)
(key-chord-define-global vb 'eval-buffer)
(key-chord-define-global cy 'yank-pop)
(key-chord-define-global lm 'undo)
(key-chord-define-global cg \C-c\C-c)
(key-chord-define-global äü 'control-lock-toggle)

; frame actions
(key-chord-define-global xo 'other-window);(key-chord-define-global 
\xx\ \input\)\M-b\M-b\C-d\C-d)

; file actions
(key-chord-define-global bf 'ido-switch-buffer)
(key-chord-define-global cf 'ido-find-file)
(key-chord-define-global zs 'save-buffer)
(key-chord-define-global vc 'vc-next-action)

; key chord define
(key-chord-define-global kd 'key-chord-define-global)

Liebe Grüße, 
Arne



Re: [Neo] Chording für entspannteres Tippen

2011-07-30 Diskussionsfäden Arne Babenhauserheide
At Sat, 30 Jul 2011 18:04:24 +0200, heiterbisstuermig wrote:
 Am 30.07.2011 16:30, schrieb Arne Babenhauserheide:
  Wichtig dabei ist, dass die Tasten nict (oft) in normalen Texten 
  hintereinander vorkommen, damit die chords nicht ausversehen getriggert 
  werden.
 Auch wenn diese in normalen Texten nicht oft hintereinander vorkommen
 werden sie in bestimmten Situationen leider sehr häufig benötigt und
 würden dann das Arbeiten massiv einschränken, daher sollte so etwas
 mMn nur optional sein.
 
 Beispiele:
 cd = changedir auf der shell
 cp = copieren auf der shell
 yy = zeile kopieren in vim
 wy = wort kopieren in vim
 uu = 2 mal rückgängig in vim
 …

Klar, du musst sie auf das anpassen, was du selbst machst. Meine Liste soll nur 
eine Hilfe dazu sein. 

Im Zweifel braucht es nur einen Befehl, um einen Chord zu deaktivieren.

Liebe Grüße,
Arne

PS: Habe jetzt noch einen chord: lü → Liebe Grüße,
Arne
:)