Class BuildKeystrokes

java.lang.Object
  extended by 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

Constructor Summary
BuildKeystrokes()
           
 
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
 

Constructor Detail

BuildKeystrokes

public BuildKeystrokes()
Method Detail

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Throws:
java.io.IOException