Entering
Chordons on a GKOS Keyboard
Detecting
Chord Chains
After learning the GKOS system well, it is still possible to improve
your typing skills with it by adopting a slightly modified, and faster,
way of pressing the keys: not releasing all keys between chords. A
single GKOS keyboard can support both methods at the same time.
Typing syllables instead of single letters
It is possible to type chords as a sequence without a complete release
of keys inbetween. If there are keys that belong to two (or more)
consecutive chords, they are kept depressed also while the chord
changes. It is this fact that makes the GKOS chord sequence a ’chordon’
(chord-on-chord, or a chord chain consisting of a series of chords).
Between chordons, all keys are released.
Chordon technique is specifically useful with GKOS for at least three
reasons: 1) The 6 nimblest fingers are used to enter chords, enabling
the regular forming of chordons which is necessary; 2) The fact that
chords for letters and numbers include only 3 keys maximum makes the
detection essentially easier; 3) The 6 fingers never have to leave the
GKOS 'home row' which is necessary for being able to type chords in a
row without gaps.
Typing a string of letters as a chordon is faster than typing the same
letters as separate chords because typing
becomes partly parallel (next chord
can be depressed before the previous one is released). The practical
limit of 300 characters/min (60 WPM),
typical for chording keyboards while using separate chords and
fully serial tapping can then be
exceeded by skilful typists. The typing speed upper limit then
only depends on the skill of the user and on the chord detection
algorithm.
Typing syllables (typically 2 to 4 letters) as chordons can be learned
quite easily after getting otherwise familiar with the GKOS system.
First, short common words like ’is’ and ’why’ can be typed as chordons.
And then, after being able to type syllables fluently as chordons,
even
whole longer words can be learned to enter this way. However, the
syllables are the key in learning the method and getting the higher
text entry speed.
There are letter sequencies that cannot be completely tied together,
e.g. ’no’ (C+E+F > A+B), because there are no common keys.
Overlapping of chords normally takes place, and must be allowed, if
chordon technique is applied by the user. By definition, a chordon may
also include chord transitions that just overlap but do not have common
keys.
One question still: how to type e.g. ’oo’? Answer 1: a repeat character
is used (A+B > A+C) if the national character set can provide it as
a national character. Answer 2: If there is no spare GKOS symbol
(including 1 to 3 keys) in the national character set, any 2-key
punctuation character (.,-’?!) within a chordon can serve as such. As a
consequence, real punctuation characters must always be separate
chords. Answer 3 (recommended): for a compatible approach, cut the
chordon between
double letters (go <keys up> od).
If punctuation characters are not allowed within a chordon (to minimise
errors), they can serve as symbols to start word shortcuts instead. For
example, typing -a or 'i as a chordon can provide a
whole word like answer or interesting. See the Table of GKOS Shortcut Words.
The Polling Procedure
The GKOS keyboard polling can be implemented so that both conventional
text entry with single chords as well as the chordon technique are
possible at the same time.
How to detect individual chords within a chordon? For every single key
release a procedure is started to check back in order to detect the
chord just typed and also one or two earlier chords that did not end in
a key release.
If we assume that only letters can be combined to form a syllable
(combined chords), the detection becomes simpler. As there are never
more than 3 keys in a GKOS character (letters and numbers at least), it
is required to look back only 3 steps maximum to find the previous key
release or ’all keys up’ condition. For example ’bop’ is one such rare
case (B > B+A > B+A+D > at least one key is released next).
The check-back procedure must be clever enough to ignore a key release
that is too close after the one that started the procedure because
these two (and sometimes even more) key releases may belong to the tail
of a single character.
Parameters
For each chordon, a chord length C must be estimated first. The
value
must be available when the first key release takes place. This
parameter will be the basis for the analysis of the whole chord
sequence. It should be noted that practically no fixed timing values
can be used because typing speeds will vary a lot. The overall form and
structure of the chordon will tell what chords are included, not the
absolute lengths of key depressions.
When a key release occurs, the latest chord is checked first. Those key
depressions that have been valid (before the release) for at least
period P (relative to C, range > ca. 30...100 ms) are
taken as parts of the chord and C is subtracted from each key
depression duration of that chord. The remaining key depression
durations of the same chord are then checked. A second
(previous) chord is then determined by the combination of key
depression periods of at least R (relative to C,
range ca. 75...95% of C). The latter procedure may be repeated
if 2 chords check-back is used (one chord check-back is enough for most
cases). There is a guard time G (relative to C, range ca.
30...200 ms) after the key release, when new
key releases are completely disregarded.
The characters accepted within a chordon are limited to those
within the GKOS reference number range 1 to 30 (from A to the last
national character or the corresponding symbols 1, 2, 3 to }) and
space.
Consequently, characters like PageUp Enter or SHIFT are discarded
unless preceded by
'all keys up' condition.
Seppo Tiainen, 21 August 2003
Correcions 22 September 2003. GKOS
reference number range limitation and guard time added also here
26.10.2003. Clarification to parameters, word shorcuts, 13 November
2003. First chapter (introduction under 'Detecting Chord Chains) added
4 Feb 2004. Link to shortcut table added 7 February 2005.