1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227
|
Typist v2.2 Typing Tutor
------------------------
Introduction
------------
This program came from a desire to learn 'proper' typing, and not the
awkward keyboard prodding I've been doing for the past 10 years or
more. Since I usually run Linux rather than Windows or DOS, I looked
around for a tutor program, and surprisingly, found nothing in the
usual places.
Eventually, I stumbled across Typist - a little gem of a program for
UNIX-like systems. The original worked great, but after a while I
started noticing odd things - some lessons seemed to go missing, and
the programs were apt to exhibit some strange behaviours. After
fixing a few bugs it seemed that the time was right for something of a
rewrite.
The result is Typist v2.2. This has the same lessons in it (I'm by no
means qualified to alter anything in these, except perhaps the most
obvious speling erors), but contains a new C/Curses program. The
lesson file format is new too; the original files were converted
across.
Delivered tar files
-------------------
The package runs on three platforms:
o Linux
o SCO OpenServer 5.0
o SCO UnixWare 7
The following files form the core part of the distribution. Here, N.N
represents the release (for example, 2.2):
o typist-N.N.lessons.tar - this contains the basic lessons data
files that the programs work on (the typing lessons themselves).
These are required for either simply installng pre-built binaries,
or for use with any of the compiled sources.
o typist-N.N.src.tar - these are the source files, in C and C++, for
the binary programs and the man pages.
The following additional files may be present in a distribution:
o typist-N.N.*.bin.tar - where "*" is the platform, a set of pre-built
binaries, and the typist.1 man page. Posted versions of the program
will probably contain binaries for Linux only.
o typist-N.N.man.tar - the typist.1 man page converted into postscript
and 'cat' format, for use with systems not having *roff installed
or available.
Installing binaries
-------------------
To install the Linux binaries and man pages, as superuser
UN-tar the lessons archive and the Linux binary archive.
Copy the files typist and typist_bin to /usr/local/bin, and set
the modes of both to 755.
Create the directory /usr/local/lib/typist, and copy everything
from the lessons subdirectory into it. Link the file
/usr/local/lib/typist/typist.typ to combined.typ.
Gzip the files typist.1, and copy the resulting .gz file to the
directory /usr/local/man/man1, and set the mode to 644.
In Makefile, there is a make 'install' option that will do all this
after the untar for you. There's an 'uninstall' option, too.
To install the SCO OpenServer and SCO UnixWare binaries and man pages,
as superuser
UN-tar the lessons, and the relevant binary archive, if you have it.
If you don't, stop here - you'll have to build from sources
first. Otherwise, unless you have a *roff you should probably
then go on to UN-tar the man pages archive.
Unless you create one, there isn't a /usr/local/bin directory
available by default for the typist wrapper and typist_bin
binary.
Either create one and copy typist and typist_bin there, or
put them elsewhere on your path.
Create the directory /usr/local/lib/typist, and copy everything
from the lessons subdirectory into it. Link the file
/usr/local/lib/typist/typist.typ to combined.typ.
Like the binary and wrapper, adding the man pages is a matter of
preference. The typist.1.cat man page will be easy enough to
integrate into the UnixWare 'traditional man pages', if they
are installed. On OpenServer, it is possible to put the
typist.1.cat page under /usr/man somewhere, or to add
an extra directory to the man search path. For both
systems, however, it's probably simpler to just print the
Postscript version.
Again, in Makefile there is an install target you can use to accomplish
much of this.
To run the program, either as superuser or an an unprivileged user, you
should point the TYPIST_PATH environment variable to /usr/local/lib/typist,
then run the program. See the typist man page for details about the
TYPIST_PATH environment variable.
If you don't want to, or can't, install the program onto the system
as superuser, you can still use it from your home directory. To do
this, simply copy your selected typist binary into some directory on
your path, and put the *.typ files somewhere; point TYPIST_PATH to that
somewhere, and link typist.typ to combined.typ. To go the extra mile,
you could, depending on your UNIX system, also copy the man page
somewhere and fiddle with MANPATH to get it to work with man. Again,
however, it may just be easier to print the Postscript version.
Building the source
-------------------
To build the programs from the source code, first UN-tar the file
typist-N.N.src.tar. Edit the Makefile to enable the section for one
of the supported platforms.
Remember that you need the lessons as well as the source code, so UN-tar
the file typist-N.N.lessons.tar, if you haven't done so already.
Then, run make on one or more of the following targets:
o typist_bin - this builds the C version of the program, and should
work pretty much everywhere.
o manpages - on Linux this formats the man page into 'cat' and post-
script formats, for printing or for use with platforms not offering
*roff facilities.
o install - install the binaries, and man pages if appropriate.
o demo - gives a brief demonstration of the features of typist.
o uninstall - get the package off the system.
So for example, on Linux with gcc installed, run
make typist_bin install
As well as the C source for typist, and the lessons, the source code
tar file also contains a number of additional items. None of these is
required for the build; they are provided for information only:
o orig/
This subdirectory contains a verbatim copy of the original
typist program and lessons.
o typv1tov2
This is an awk script that takes a lesson file in the format
of the original program, and converts it into a format
suitable for version 2. As part of the conversion, a rudi-
mentary lesson menu is added.
o typcombine
This is an awk script that will combine a number of lesson
files into a single file. Again, a simple menu is added.
o mklessons
This is a small shell script that does the conversion of all
the lessons from the orig/ directory into a lessons/ directory.
The lessons are pre-converted in the lessons/ directory in the
tar files, so there should be no real need to run this script.
o patch/
This subdirectory contains files that show the manual changes
made to the lessons. The files are the output from diff,
comparing the files after conversion by typv1tov2 with the
manually corrected ones. These files are used by mklessons.
It should be easy to port typist to another UNIX flavour, provided you
have (n)curses, a C compiler, and a bit of spare time. It'll probably
compile and run under earlier releases of SCO UNIX and UnixWare too; I
haven't tried it though.
Notes
-----
SCO OpenServer and SCO UnixWare systems don't contain nroff/groff by
default. The man pages will therefore have to be handled manually.
Cat and postscript versions are available.
Version Changes
---------------
Version 2.1a:
- Whole package GPLified. Otherwise, no changes. None.
Nothing at all. Really.
Version 2.2:
- Removed the C++ version of the program. Apart from my elderly
slackware system, this would not really compile anywhere else,
and was causing more problems than it was worth.
- Added the "one-time" 'O' drill command.
- Added the function key to label binding 'K' command, to allow
better menus to be built.
- Tidied the C program for better error handling. It's still a
bit messy, though.
- Optimised T/D/O/P commands to avoid "Press return to continue"
where they are directly followed by a Q command.
- Updated typv1tov2 and typcombine to use these new features,
and output improved menus that use the function keys for direct
access to lessons, and repeat-this-exercise queries.
- The typist binary is now statically linked for Linux, to try
to enhance its portability as a binary. The build system is
now RedHat 5.2, and the program is now an incredible 700kB
as a static binary.
- All of these enhancements got finished up after I had completed
the Java version, 'Jtypist'. If you can, I'd heartily recommend
that you use the Java one instead of this package. It has a
far better interface, and lots of extra features that Typist 2.2
doesn't have. You should be able to obtain a copy of it from
the same place that you picked up this package from.
Version 2.2a:
- Added word processing like behaviour to the exercises, so that
multiple spaces combine into one, return moves to the next
paragraph, space is accepted at the end of a line, and hyphens
at a line's end are skipped.
- Fixed drills so that delete does not actually insert an error,
but is now just ignored.
- Corrected backspace key detection on RedHat Linux 5.2.
Version 2.2b:
- Fixed a bug in exercises, where the typing timer was not started
when the exercise begins with space characters and word processing
behaviour is enabled.
- Moved the binary to typist_bin, and created a typist shell script
wrapper to try to cope with TYPIST_PATH not set, and the variations
in the location of the terminfo database between RedHat 5.2 and
other platforms.
- Again, why not look at 'Jtypist'.
And that's it. Have fun!
Simon Baldwin, simonb@sco.com
|