Here's the tera term tutorial.

From: "Deborah Armstrong" <>
To: <>
Subject: [JAWS-Users] Using TeraTerm (a solution)
Date: Friday, December 05, 2008 3:09 AM

Since I just posted a long ranting request for help, I figured I better
balance that with a nice long solution-oriented write-up.

I saw this question on various screen access lists. People want to know
which terminal emulator works best with JAWS, or how to access some
Unix-Linux-BSD with JFW or simply how to use a terminal program in Windows
with screen access.

I feel particularly sorry for the blind student who is trying to take
some sort of Unix course, and not only has to figure out this new OS but
needs to figure out how to access it while simultaneously using the
Windows computers. Usually the access technology specialists don't have a
clue, or the information on the net is incomplete, outdated and/or

I run several Linux machines, and am fortunate enough to have access to many
old computers which need terminals to talk to them.  I have researched this
a lot, and have tried many telnet clients, hyperterminal, secure CRT, Kermit
for Windows and Putty. By far, my favorite application for accessing remote
computers with JAWS is TeraTerm.

First, grab yourself a copy of the latest UTF-8 TeraTerm Pro 4.60. Many
older  versions are floating around, but I guarantee that 4.60 works great
with JAWS. I've used versions 5-10 of  JFW with 4.x versions of TeraTerm.

The TeraTerm site is:


other urls you might encounter contain dated versions.

Install the program and say No to all the extra little tray applets.  They
don't do any harm but who wants resource hogs that aren't needed. If you get
one by mistake, standard techniques, like using msconfig can make it go
bye-bye.  If you do accept all the defaults, the install will add these
unwanted extras. They keep unnecessary windows open but will not adversely
affect your computer's accessibility.
Next, if you have JAWS, a version later than 5,and you want TeraTerm to
automatically speak while text scrolls (like a console window) create this

Include "HJConst.jsh"

Void Function SayNonHighlightedText (handle hwnd, string buffer)


string TheClass

let TheClass=GetWindowClass(hWnd)

If GetScreenEcho () > ECHO_NONE && TheClass == "VTWin32" Then




this script should be specific to TeraTerm, it should be called
"ttermpro.jss" and you should *NOT* put this code in the default script.

If this is all Greek to you don't worry. You can skip this scripting step
and TeraTerm will still work fine with JFW. Without the script, you will
need to use your JAWS cursor or virtualize the window, or a Braille display
to read incoming data. At work I use Braille and the JAWS cursor; at home, I
use the script. Both techniques work, and I switch between them each day.

You will find several, far more elaborate TeraTerm scripts out there. You
don't need them. Many were for older versions of Tera Term, and older
versions of JAWS.

One old script disables my semicolon key, and another of these outdated
scripts makes my Braille display constantly jump around.

A script very similar to mine above was originally on  the blog of Saqib
Shaikh, which seems to be no longer on the net. I'd like to give him credit
for the idea, and I only plagiarize because
I can't find his blog to link you to it.

Anyway, this code is simply what gets executed in a Win32 console window
(what used to be called a DOS box)  when the user chooses to have
highlighted text spoken but actually wants to have new text read as it comes
onscreen. It's stolen from part of the JAWS default script.   But in the
default script, the code executes only for console windows, not for the
TeraTerm window.

The situation for a terminal user is similar to a DOS box user; they don't
actually want highlighted text, they want all new text, but not to hear old
read more than once. In other words, when the text scrolls, causing new text
to be written and old text to be rewritten as part of the scroll operation,
the JAWS user wants to only hear anything new, and not a repeat of the old

For DOS screen access, this was easy. These programs simply read video
memory when users were not working with scrolling applications. When they
were, the DOS screen reader filtered calls to the PC BIOS. The BIOS handled
the scrolling and the screen access program never saw the old text again. so
the user never heard old text repeated. In DOS, the screen reader watched
the text that was sent to the BIOS screen services, so it knew about
everything sent to the screen through the BIOS. Video memory only had to be
consulted if a program wrote directly to the screen. Because DOS terminal
programs usually had the BIOS handle their scrolling, they for the most part
worked great with screen access.

Anyway, with Windows, lots of behind-the-scenes magic goes in to building
the off-screen model: the screen reader's best guess about what's onscreen
now. I only half understand all that magic.

I do understand that often it's hard to tell the difference between old
text, that's simply scrolling and new text that's just arriving.

But this script does a great job in console windows and works fine in
TeraTerm most of the time. You do have to adjust some TeraTerm settings. You
disable the scroll buffer, verify that there are only 24 lines of text
onscreen, and set the cursor shape to horizontal line.

When TeraTerm first loads, you are invited to create a new connection by
filling in some fields. You could tab through these or scroll down a list of
available connections.  but instead, follow these steps:

1. Press ESC to make the connection window and list go away.

2. Press Alt-S to pull down the Setup Menu. Press W to open the Window
setting dialog.

3. Press Alt-O to move to the cursor shape dialog box.

4. Press down arrow twice to select Horizontal line. If the cursor shape is
vertical line or block, JAWS *WILL NOT*  track the cursor.

5. Press S to select the check box for the scroll buffer. By default it is
checked,  so press space to uncheck it. If the scroll buffer is active, the
Braille display will jump around, and focus won't always be accurately

6. Press Enter to activate OK. The setup screen disappears.

7. Press Alt-S to call up Setup again.

8. Press T for the Terminal settings dialog.
9.     Here you should tab through the fields making necessary changes. The
default terminal size is 90 columns by 35 rows. You want 80 columns by 24
rows.  Your host system should also be set to match -- more on that below.
Also ensure that the terminal ID is set to vt100. Press Enter to activate

10.  Press Alt-S again to activate settings. Then press S  to Save them.
Press Enter to accept the default of Teraterm.ini.

Here we get to what I like best about TeraTerm, this .ini file It is ASCII
text and very easy to edit. As you get more experience, you can create .ini
files for the different hosts you connect to.  Then you can create shortcuts
that launch Teraterm with that particular .ini file and automatically log
you in to that host. For example, Truffle, my Linux PC at work, is easy to
connect to with the command line:
   "C:\Program Files\teraterm\ttermpro.exe"

I created the truffle.ini file myself. The -f parameter to use a different
settings .ini was buried in the TeraTerm documentation.

My thanks to Darrell of the blind access journal for the original steps.
I've expanded them slightly as my experience grew.

Darrell's blog and the JFWLite tips and tricks page also suggests you
download some scripts that didn't work for me. They were the ones that
disabled my semicolon key! I'm pretty sure they used to work
and that something's changed with JAWS that makes them unnecessary.    Or
maybe TeraTerm changed, or the author of the scripts never needed his
semicolon! Anyway, those scripts went in to my bit bucket!

There will be times you won't want everything read aloud. For example, this
happens when using most editors. You can just use Insert-S to set JAWS for
no automatic speech, and go back to saying highlighted text when you want
scrolling text to be automatically read again.

And if you wish to permanently turn off automatic reading, simply rename or
move my script. Or don't use it at all.

In TeraTerm, JAWS properly tracks the cursor while editing in vi, emacs, Joe
and nano.  I don't know other editors so this is all I've used. I've
connected using ssh, telnet and directly to a computer with a serial port.
TeraTerm is a MDI application so I can connect to different computers in
different windows. I've happily used it with several Unix variants,
including all flavors of BSD and ultrix. I've used it fine with a VAX, but
if you have problems, remember for Vaxen you need to change your delete key
to do a backspace.

To copy and paste, it's easies to use the virtual cursor -- press
Ctrl-Insert-W or define a keystroke to do it that's easier to press.  You
can then copy text from the virtual buffer.  I also use this technique to
reread information onscreen since I find it easier than using the JAWS
cursor. If I get to something I want to copy I can easily do so.

To paste in TeraTerm the keystroke is Alt-V. I find it trivial to copy and
paste between online documentation and the system I'm communicating with. I
also often copy and paste between systems.

There's one additional issue with TeraTerm. Occasionally something in
Ncurses causes TeraTerm to display euro and other garbled symbols, instead
of line drawing characters. It's a problem for sighted users just as much as
screen access users. I've reported it on the TeraTerm support forum, and you
can read that forum at:


Several sighted people have confirmed that indeed, this  is a problem. It
happens only when ncurses applications are running on the host, for example,
program that uses a cursor and highlighting and sometimes reverse video and
multiple pseudo-windows to simulate the look of a graphical application. The
Ubuntu/Debian aptitude is a good example. I encounter it most when using

When I do have to work with a ncurses app that's behaving badly with
Teraterm, I've used putty (another free terminal emulator and ssh client)
but JAWS does not correctly track the Putty cursor. JAWS always is off by
one character.

Another solution with TeraTerm is to fool with terminal types, possibly
setting it to VT320, and setting your host to Vt100. This is most definitely
not a JAWS bug, and it is just an annoyance to hear unwanted symbols being
read.  I have had success sometimes faking the terminal type, and working
around it by changing locales. If you are not the administrator of the host
system, for example you are a student, you can confidently show the
messed-up screen to sighted people, because the bug is as visible as it is

A couple more tips: if TeraTerm's screen updates are being missed by JAWS,
maximize the window, switch focus away from it and then back, and do
Insert-Escape to force the JFW screen-model  refresh.  Double-check that JFW
is tracking properly in Notepad, because sometimes it just needs to be
completely restarted.

Also,  if automatic reading gets really really screwed up, clear your screen
by first telling the host to clear its screen if possible, then in TeraTerm,
clearing the screen and the buffer with alt-E S for screen and alt-E b for
buffer. Both these commands are on that alt-E edit menu. And at most Unix
shell prompts you can type

to force the Unix to clear its screen.

And a few quick notes about host systems. By default, many use a terminal
type of xterm, which works great with the TeraTerm defaults but not with
JFW, especially if you want to use Braille. Even if you use speech, it's
often easier to work with a smaller screen, and certainly an xterm can
scroll whereas a Vt100 cannot. In Linux, the default terminal is named
Linux, and that causes visual and occasional JFW problems for the TeraTerm

On most Unix systems at a shell prompt type
export TERM=vt100

to fix the host. If you are a student, get your system administrator to
permanently change your login account so vt100 is always your terminal
tuype. If TeraTerm settings were properly adjusted and you log in to a
system and JFW cannot track the focus the problem more often than not is the
system, and not JAWS.

Be aware that many applications might use highlighting or reverse video
instead of a cursor which is harder for a screen access user to track. You
often have to figure out how the application can be made to use a real
cursor. For example with the web browser lynx type
   lynx -show_cursor

If you are a beginner, explain to your helper that your screen reader needs
a real cursor to track and have them comb through the application's
documentation. Unlike Windows, most applications on  systems accessed by
terminals have some way of using a real cursor. This is because some
terminals will not correctly display highlighting or reverse video. However
it's often hard to figure out where their configuration files live and what
variables to change. The only solution is to TRIM which stands for "Read the
Fine Manual!"

I hope this long post will help someone in the future. Feel free to copy and
share it with anyone. Feel free to contact me with further questions.

(Deborah Armstrong, formerly Norling)
debee AT jfcl DOT COM


----- Original Message ----- From: "aiden gardiner" <>
To: <>
Sent: Tuesday, January 13, 2009 8:15 PM
Subject: [JAWS-Users] PUTTY and SSH clients

Hi all,

Are there any tutorials on how to implement accessibility on PUTTY or any other SSH clients? I know somebody did a superb tutorial on terra term, but unfortunately I lost the email, and also, where can the PUTTY scripts be obtained?

Visit the JAWS Users List home page at:
Visit the Blind Computing home page at:
Address for the list archives:
To post to this group, send email to
To unsubscribe from this group, send an email to
For help from Mailman with your account Put the word help in the subject or body of a blank message to:
Use the following address in order to contact the management team
If you wish to join the Blind Computing list send a blank email to the following address:

Visit the JAWS Users List home page at:
Visit the Blind Computing home page at:
Address for the list archives:
To post to this group, send email to
To unsubscribe from this group, send an email to
For help from Mailman with your account Put the word help in the subject or 
body of a blank message to:
Use the following address in order to contact the management team
If you wish to join the Blind Computing list send a blank email to the 
following address:

Reply via email to