[Help Contents]
[MicroSpell Home Page]

[Help Contents]

Note: If you are reading this topic because you want to learn how to check text in another window (such as WordPad), you might find it easier to read this overview first, and then come back here if you have problems or need more information.

What is Hotkey Spell Checking?

The hotkey spell checking function enables you to invoke MicroSpell while you are working in another application. If the window which holds the text that you'd like to check is one for which MicroSpell has a predefined copy script, the speller will automatically copy the text, spell check it, and return it to the source window after you've corrected it. The hotkey spell check function simply plays back (to the other application) the keystrokes you would type to select the text and copy it to the Clipboard ("copy" script). Then, after checking the text, it plays back the keystrokes that you would type to select text and replace it with the Clipboard contents ("paste" script).

Some of the predefined scripts supplied with MicroSpell require that you select the text you want to check; others, such as the script for the edit control, select everything for you. Try a hotkey spell check without a selection first; if the speller says it has "given up waiting for the text to appear," try it with a selection. You can redefine any or all of the scripts to require, or not require, an initial selection.

If you use the hotkey spell checking function often, consider using the tray icon feature if you don't already use it. Alternatively, you can place a shortcut directly on the Windows "Start" menu.

Buttons and Controls

Here are descriptions of each of the Hotkey dialog controls.
Current Hotkey
This edit box shows the current hotkey setting. Press this key (or keys) while in another application to start a hotkey spell check.
Change button
This button enables you to change the current hotkey setting. See Q2 below for more discussion.
"Define Script" Instructions
This box shows instructions for defining or redefining a hotkey text copy script. See How to Define Hotkey Text Copy Scripts for a New Window for more information.
Record Indicator
When you begin recording a hotkey copy script, this window turns red and displays the name of the file where the script will be stored.
Playback Speed
This control sets the speed at which your hotkey text copy scripts are played back when you perform a hotkey spell check. (The speed at which you define the script does not affect how fast it is played back.) The slower settings are useful only for watching your scripts run in "slow motion" for debugging.
Script should control 'refuse rich text' setting checkbox
Enable this checkbox if you want to save the current setting which determines whether the speller refuses rich text (see Options | Change Current Mode for the control used to set this) in your script. If you do, the current value will be (temporarily) set whenever you run the script. Generally, you can leave this checkbox unchecked. However, if you are hotkey checking a source such as a browser window where it does not make sense to return corrected text, you should probably enable this checkbox and also set the speller to refuse rich text before you define a script. On the other hand, if a hotkey spell check loses formatting information, you can force the speller to always accept rich text in that situation. For example, if you were hotkey checking from WordPad and refusing rich text, you would likely lose font, boldface, underlining, etc. information when you returned the text to the document. (The script we have provided for WordPad always accepts rich text so you should not have this problem with WordPad.)
Close button
This button closes the Hotkey dialog.

How to Use Hotkey Spell Checking

  1. MicroSpell must be running, but not busy checking another document, for this function to work. (It is OK for it to be minimized on the taskbar)
  2. A text copy hotkey must be defined (<Ctrl-F12> is the default), and the hotkey spell checking function must be enabled (make sure there is a check mark next to Enable Hotkey Spell Checking on the Spell menu). You can check or redefine the current hotkey using the Spell|Change Hotkey Spell Check Settings/Define Scripts command from the main edit window.
  3. Make sure the window whose text you want to check is activated (by clicking on it, if necessary).
  4. Press the hotkey and the speller should automatically copy and spell check the text. If this does not work, you should see a message box that explains why. If you hear a sound but do not see a message box, the most likely reason is that MicroSpell is currently checking another document. Note that most of the predefined scripts will automatically select all of the text before copying it. However, a few just copy the current selection; if you're having problems, try selecting some text before pressing the hotkey. Also see the Hotkey Mini-FAQ, Q5.
  5. When you have finished correcting the text, you can have the speller return it to the original window by pressing the Done - Close and Xfer Text (F4) Inbox button. (This happens automatically if you are using the Spell Check dialog.) If the Inbox or Spell Check dialog is not open, you can transfer the text using the File|Xfer Hotkey Copied Text Back to Source command on the main edit window or the button on the Return Hotkey Copied Text dialog.

How to Redefine the Hotkey

  1. Give the Spell|Change Hotkey Spell Check Settings/Define Scripts command. If this menu command is inactive, give the Spell|Enable Hotkey Spell Checking command to activate it. If both of these commands are inactive refer to the Hotkey Mini-FAQ below (Q1).
  2. Press the Change button to active the hotkey edit box. (The Change button becomes the Save button.)
  3. Type the new hotkey. For advice on selecting a hotkey, see the Mini-FAQ below (Q2).
  4. Press the Save button, then press the Close button.

How to Define Hotkey Text Copy Scripts for a New Window

If MicroSpell does not have a predefined script for the window whose text you would like to check, it will display a dialog that will let you try using default scripts. If the default scripts work, you can specify that they always be used for checking text in that window. If the default scripts don't work, you can probably define your own scripts.

The first thing you need to decide is whether you should define new scripts for a particular window. See Modes and Text Formats for the reasons we did not define scripts for Microsoft Word. Also, decide whether you can define scripts for the new window. Because scripts are based entirely on keystrokes, you must be able to select, copy, and paste text without using the mouse. Refer to the Hotkey Mini-FAQ (Q3 and Q6) for additional discussion. To define new scripts, do this:

  1. Give the Spell|Change Hotkey Spell Check Settings/Define Scripts command. If this menu command is inactive, give the Spell|Enable Hotkey Spell Checking command to activate it. If both of these commands are inactive refer to the Hotkey Mini-FAQ below (Q1).
  2. In some cases you might want to enable the Script should control 'refuse rich text' setting checkbox. See above for more information.
  3. Follow the instructions in the "How To" box. We elaborate on them here.

When you follow the "How To" instructions, you'll be defining two separate scripts, one after the other: the first to copy text from its original window to the Clipboard, and the second to paste text from the Clipboard to the original window. You'll see a dialog confirming that you've successfully created a copy script and prompting you to create a paste script. Note that MicroSpell takes responsibility for moving text from the clipboard to the speller and for returning corrected text to the Clipboard—you should not give commands to move text between the Clipboard and the speller. In defining both scripts, the same basic pattern applies:

  1. Activate the window containing your text by clicking on it.
  2. Press <F12> (not the hotkey unless it happens to be the same) to begin recording.
  3. Type the keystrokes required to select the text (optional, see below) and copy it to the Clipboard for the first script (i.e., the "copy" script), or the keystrokes required to paste the clipboard text over the selected text for the second script (i.e., the "paste" script). If you are having trouble figuring out what to type, see Q6 below.
  4. Press <F12> to end recording. Don't worry about the speed at which you type commands; playback speed is determined by the "Playback" slider control on the record dialog.

Example: to record scripts for WordPad, we issued the MicroSpell Spell | Change Hotkey Spell Check Settings/Define Scripts command, then switched to WordPad and typed the following:

<F12> <Ctrl>+A <Ctrl>+C <F12>

(i.e., select and copy text from WordPad to Clipboard)

We clicked OK on the MicroSpell dialog, clicked on WordPad, and typed:

<F12> <Ctrl>+A <Ctrl>+V <F12>

(i.e., select and replace WordPad text using text from Clipboard)

If you make a mistake while recording either script, press the Cancel button. This will erase both scripts and you'll have to start over from the beginning. If you record scripts for a window which already has scripts defined, the new ones will replace the old. You are not required to define both scripts: if you define the first script and press Close instead of defining the second script, MicroSpell will copy text from the source window but will not return corrected text there. If instead, you want MicroSpell to bring the source window to the foreground without returning corrected text, you'll have to define the second script and it must not be empty—add a "do-nothing" keystroke such as "Shift."

When moving text to the Clipboard, you have the option of cutting or copying the text. Copying the text is probably safer because a copy of the text remains in the original window until you replace it with the corrected version (see the Hotkey Mini-FAQ, Q4 for more information). However, if you decide to define scripts that copy, spell check, and replace a region of text preselected by the user (instead of grabbing all of the text), you might have to use "cut" instead of "copy." This is because in many cases, copying the selected text removes the selection. When this happens, there is no way for the speller to replace just the original selected text so you'll be left with two versions of the text after the speller returns the corrected text unless you remove the original by cutting.

Hotkey Mini-FAQ

Q1. Why are all of the hotkey-related menu commands disabled?

A1. Most likely another instance of MicroSpell is running and hotkey text copy is enabled there. MicroSpell allows you to run multiple instances, but only one of them at a time can install the system hook that is required for hotkey spell checking to work. You'll have to disable hotkey spell checking in the instance in which it is enabled before you can enable it elsewhere; however, there's seldom any reason to prefer one instance over another for hotkey spell checking.

Q2. Can I redefine the hotkey to be anything I want?

A2. MicroSpell will allow you to set the hotkey to be just about anything you want. However, we recommend that you not use keys modified with "Alt-" if you have a convenient alternative. If you ignore this recommendation, your text window will sometimes receive "key down" messages for the "Alt" key without the corresponding "key up" message (or vice versa). This might not cause any problems, but we cannot state unequivocally that it won't. (Using an "Alt-" modifier, we've occasionally had text fail to copy while working with Notepad.)

You can use the same function key for the speller's hotkey as one that you use infrequently in another application. When you press this key in the other application the speller will intercept it, but will give you the option of passing the key through to the other application the next time you type it, assuming you have not defined a copy script for that window. So you'll have to type the function key twice and respond to the speller's prompt, but at least you can use it in another context without disabling it in MicroSpell.

Q3. Does the hotkey spell checking function work for any window?

A3. No. It works for many windows, but not all. The most obvious example is a window which has no keyboard support for cutting-and-pasting. Here's a less obvious possibility. When you define a copy script, the speller uses the window's "class name" to create the name of the file in which the script is stored. Later, when you ask for a hotkey transfer from a window of the same class, the speller knows which script file to use. The problem occurs because many windows can have the same class name. Fortunately, this usually means they are related and the same script will work for all. However, it is conceivable that you will encounter two different windows that have the same class name but which require incompatible scripts. In this case, you'll have to choose which one you want the script to work with.

Another way things can fail is if the same window has a different class name whenever you run a new instance of the program that creates it. In this case, the useful lifetime of your script would be the life of the text window or the program that created it. Finally, keep in mind that although you can create scripts for some windows, it might not be a good idea to do so if this leads to the loss of formatting information (see Modes and Text Formats).

Q4. Can I lose my text using hotkey spell checking?

A4. This is unlikely, especially if you save a copy to disk before a hotkey spell check. In most instances, there are always multiple copies of your text available: in the original window, on the Clipboard, in the speller's buffer. As a further safeguard, MicroSpell automatically saves a copy of your text to disk as soon as it obtains it from the Clipboard. This copy is stored in a file named Last-Hotkey-Copy.TXT. If you ever have problems, you can retrieve the last text you copied from this file. This file should be on the speller's list of recently used files at the bottom of the File menu. If you need to open it some other way, you'll find it in the "\DATA\" directory which is a subdirectory of MicroSpell's installation directory (by default C:\Program Files\MicroSpell\DATA). Also, remember that most edit windows have an undo command: you should probably try this first if you ever have any problems. Otherwise, try pasting from the Clipboard. If neither of these work, and the text is not in MicroSpell's main edit window, look in the Last-Hotkey-Copy.TXT file.

Q5. Why doesn't anything happen when I press the hotkey?

A5. Assuming that MicroSpell is running and hotkey spell checking is enabled, then the most likely reason is that the speller is busy with another task. If you ask for a hotkey transfer during a spell check or while the Inbox or one of several other dialogs is open, you'll receive a warning message.

Another possibility is that there were no misspellings and you have disabled both the "No Misspellings" self-closing dialog and the confirmation sound. Check the Options|General Preferences|Miscellaneous dialog and enable one or both of these indicators, if necessary.

Another possibility is that MicroSpell is no longer receiving keystrokes. This could be caused, for example, by another program that "takes over" the keyboard and does not forward the data. Try exiting and restarting MicroSpell or disabling and re-enabling hotkey spell checking from the Spell menu on the main window.

Q6. I can't figure out which keys to press to copy (paste) text. Any suggestions?

Usually, the first thing you want to do is select all of the text. The standard way is "Ctrl+A" so try that first. If that fails, try "Ctrl+Home" to move to the beginning of the text, followed by "Shift+Ctrl+End" to move to the end while selecting text. If neither of these work, perhaps there is a context menu that has a Select All command (check by right-clicking). Since you can't right-click in a script, you need to find a keyboard shortcut to launch the menu. The standard way is "Shift+F10", but we had to use "Shift+Ctrl+F10" in edit boxes on web pages displayed by Netscape. Once you can launch the context menu, you can usually press the letter key that serves as the shortcut for the desired command, or even use the up/down arrow keys to select a command. If you need to use one of the menus at the top of the main window of most programs, you can usually display the desired one by pressing "Alt" and holding it while you press the underlined letter in the name of the menu you want to display. Alternatively, you can try pressing and releasing "Alt", then using the left/right arrow keys plus "Enter" to show the desired menu.

For copying selected text, the usual shortcut is "Ctrl+C". For cutting selected text, the usual shortcut is "Ctrl+X". And for pasting text from the Clipboard, the usual shortcut is "Ctrl+V". For each of these actions, there is also likely to be a menu available with the requisite command. See the previous paragraph for ideas on how to display it.