Class BuildKeystrokes
java.lang.Object
BuildKeystrokes
public class BuildKeystrokes
- extends java.lang.Object
A program to build a keystrokes-appended version of a
word-frequency, digram-frequency, or letter-frequency file.
Output is written to stdout. Use this program to create the various
keystroke versions of the word-, digram-, and letter-frequency files
for subsequent processing by KSPCWords
, KSPCDigrams
,
or KSPCLetters
. For example, to generate the multitap
KSPC statistics for RIM's SureType keyboard, the following commands
may be used:
PROMPT>java BuildKeystrokes d1-wordfreq.txt -wf -mtst > temp.txt
PROMPT>java KSPCWords temp.txt
KSPC26 = 1.4952118809351231 KSPC27 = 1.4039626335925184
For the "basic encoding" modes, additional processing is needed if T9-like entry
is of interest. For example, to generate the KSPC statistics for
RIM's SureType keyboard for T9-like entry,
the following commands could be used used:
PROMPT>java BuildKeystrokes d1-wordfreq.txt -wf -st > temp.txt
PROMPT>java T9 temp.txt -k > temp1.txt
PROMPT>java KSPCWords temp1.txt
KSPC26 = 1.0023919872082925 KSPC27 = 1.0019512323701862
Usage:
PROMPT>java BuildKeystrokes file -ss -kk
where file = a word-freq, digram-freq, or letter-freq file
-ss = source file format (see below)
-kk = keystroke format (see below)
Source file formats:
-wf = word frequency
-df = digram frequency
-lf = letter frequency
Keystroke formats:
-mt6 = multitap (6 keys)
-mt4 = multitap (4 keys)
-mt2 = multitap (2 keys)
-mt1 = multitap (1 key!)
-mttmk2 = multitap TouchMeKey4 (Tanaka-Ishii et al., 2002)
-mtst = multiap on RIM SureType
-mtstm = multiap on RIM SureType (modified 2nd row: A SD FG HJ KL)
-mteq3 = multitap on Eatoni EQ3
-mteq6 = multitap on Eatoni EQ6
-mthl = multitap on Hwang and Lee (2005) Qwerty-like layout
-mtle = multitap on LetterEase (Ryu & Cruz, 2005)
-mtflpk = multitap on Fewer Letters per Key (FLpK) (Ryu & Cruz, 2005)
-mtlt = multitap on LessTap (Pavlovych & Stuerzlinger, 2003)
-mtstick = multitap on the Stick (Green et al., 2004)
-mtacd = multitap on Alphabetically-constrained design (Gong & Tarasewich, 2005)
-k6 = letters on 6 keys (basic encoding)
-k4 = letters on 4 keys (basic encoding)
-k2 = letters on 2 keys (basic encoding)
-k1 = letters on 1 key! (basic encoding)
-tmk4 = TouchMeKey4 (Tanaka-Ishii et al., 2002) (basic encoding)
-st = SureType (basic encoding)
-stM = SureType modified (basic encoding with modified 2nd row: A SD FG HJ KL)
-eq3 = Eatoni EQ3 (basic encoding)
-eq6 = Eatoni EQ6 (basic encoding)
-hl = Hwang and Lee (2005) Qwerty-like (basic encoding)
-le = LetterEase (Ryu and Cruz, 2005) (basic encoding)
-flpk = Fewer Letters per Key (FLpK) (Ryu & Cruz, 2005) (basic encoding)
-lt = LessTap (Pavlovych & Stuerzlinger, 2003) (basic encoding)
-stick = Stick (Green et al., 2004) (basic encoding)
-acd = Alphabetically-Constrainded Design (Gong & Tarasewich, 2005) (basic encoding)
-akko = AKKO (Harbusch & Kuhn, 2003)
-pk = phone keypad (basic encoding)
-mt = multitap on phone keypad
-t9 = T9 (not supported, use T9.java)
-lw = LetterWise (not supported, use Eatoni exe's)
-me = MessageEase
-qw = Qwerty
-pg = pager
-d1 = date stamp method #1
-d2 = date stamp method #2
-d3 = date stamp method #3
-d4 = date stamp method #4
-d7 = date stamp method #7
-tt = two thumb method
-twc = TiltWriter custom (Android)
Here is an example invocation:
PROMPT>java BuildKeystrokes d1-wordfreq.txt -wf -mt
the 5776384 84433S
of 2789403 666333S
and 2421302 2663S
.
. (etc.)
.
on 590305 666N66S
.
. (etc.)
.
- Author:
- Scott MacKenzie, 2002-2011
- See Also:
- source code
Method Summary |
static void |
main(java.lang.String[] args)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BuildKeystrokes
public BuildKeystrokes()
main
public static void main(java.lang.String[] args)
throws java.io.IOException
- Throws:
java.io.IOException