Download SpeakTclEdit version 0.7
SpeakTclEdit Documentation
FILENAME:
speaktcledit
DESCRIPTION:
Linux Console Text Editor In Pure TCL with text to speech capabilities.
I became interested in this project after becoming frustrated while
trying to learn emacspeak. I am now in the process of writing an easy
to learn interface to computing for the blind and visually impaired.
(based on code from tcledit by Steve Redler IV and Adly Abdullah found at http://wiki.tcl.tk/16056)
REQUIREMENTS:
Linux or similar OS So far it has been tested on:
Mandriva 2007
Debian Sarge
Mepis 6.0
tcl/tclsh (of course)
A text to speech system like festival Or cepstral.
speaktcledit has been tested with both festival and cepstral tts systems
I see no reason it should not work with others with some minor changes.
If you cannot get it to work with your tts system, contact me and I might
be able to help you.
INSTALLING:
No problem here just extract the files and run the script.
AUTHOR:
Joe Kamphaus
Boise, Idaho US
Contact Me
CREDITS:
I would like to thank Steve Redler IV and Adly Abdullah for writing tcledit in pure tcl from which the code
for speaktcledit originated.
CHANGES:
01/09/2007: Added features for text to speech for accessibility for visually impaired.
FEATURES:
Speech:
* Read the file line by line.
* Read one word at a time.
* Read one character at a time.
* Editing mode: reads one character or one word at a time as you type.
* Reading mode: reads one line at a time as you scroll through the text with the arrow keys.
* Allow for using an rc file to setup some simple preferences $HOME/.speaktcleditrc
rc file syntax is pure tcl. An example is included in this archive.
General:
* Basic syntax hilighting. The hilighting is line based and can easily cope
with Tcl style # comments but because it is line based it can't cope with multiline C style /* comments */
* This is faster at pasting large blocks of text since it does it line by line rather than character by
character. It will also try to redraw only the current line if possible rather than the whole screen.
* Implements search, goto and save (without closing the file).
* Handles Home and End keys.
* Changed the tab to 4 characters (can be easily modified if you prefer 8 or other values).
* Auto resizes the editor to fit the terminal window.
* Implements a simple auto-indenting. When inserting a newline by pressing the Enter or Return key the
leading whitespace of the previous line is copied and automatically inserted.
* Converts spaces to tabs when pasting text.
* Implements key rate limiting for control characters and escape sequences. This is to improve responsiveness
especially on slow machines/connections so that you don't accidentally "over-delete" when you press the
delete key for too long.
* Implements undo and redo.
USAGE:
Speech commands use the alt-key sequences:
* Alt-l : Read one line.
* Alt-w : Read one word. If in edit mode will read one word at a time as you type.
* Alt-c : Read one character. If in edit mode will read one word at a time as you type.
* Alt-x : Turns off speech. Sets mode to on demand.
* Alt-e : Edit mode. Reads one word or one character at a time as you type.
* Alt-r : Read mode. Read the file line by line.
* Arrow keys : Moves the cursor around. Typing anything inserts text at the cursor.
* Backspace : Deletes the character before the cursor.
* Delete : Deletes the character behind the cursor.
* Home : Moves the cursor to the first non-whitespace character on the current line. Pressing it a second
time moves the cursor to the beginning of the line.
* End : Moves the cursor to the end of the line.
* Page Up and Page Down : Moves the cursor backwards and forwards one full page at a time.
Navigation commands use the Control-key sequence.
* Cntrol-a : Moves the cursor to the beginning of the line.
* Cntrol-c : Exits the program.
* Cntrol-d : Deletes the current line.
* Cntrol-e : Moves the cursor to the End of the line.
* Cntrol-f : Find/Search. The search pattern is regexp based so characters like ".", "(" and "[" needs to be escaped.
* F3 : Repeat the previous search.
* Cntrol-g : Goto line number.
* Cntrol-o : Page Up. Moves the cursor backwards one full page.
* Cntrol-p : Page Down. Moves the cursor forwards one full page.
* Cntrol-q : Quits/Exits the program. Ask to save the file if buffer is modified.
* Cntrol-s : Save the file.
* Cntrol-z : Undo the previous edit.
* Cntrol-y : Redo the last undo.
BUGS:
Plenty I am sure. Look for fixes and or contact me at www.joekamphaus.net
TODO:
Implement speech in varification questions such as: Ask to save the file if buffer is modified.
Implement sending file to line printer.
Cut, Copy and pasting between different instances of speaktcledit.
include above with other programs such as speakmail and speakcal as well.
COPYRIGHT:
Copyright (C) 2007 Joe Kamphaus
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
|