No-Keys for Windows

No-Keys is a program designed to allow a person to input text into any Windows application without using the keyboard. It allows a mouse, trackball, or similar device to input text to Windows applications such as Write or Terminal. It is designed for people with disabilities who cannot use a keyboard because they have limited motion of their arms, but can still make small motions with their hands or fingers. In the scan mode, it can even be used by people who can only move their chin or foot, or otherwise press a mouse button. The Hover mode can be used when the person cannot press a button.

No-Keys is also useful on computers with touch screens.

Shareware Notice

No-Keys is distributed as shareware. This means that you can try it for one month to see if it fits your needs. If it does, you are required to pay for it by sending the registration fee of $30.00 to

David Leithauser

Leithauser Research

3624 Royal Fern Circle

DeLand, FL 32724

If you do not pay the registration fee within 60 days of the time you start using it, No-Keys will stop functioning until you pay the registration fee. For further instructions, click on the Register button on the opening title page. This will show the Register page with further instructions, and a Print button that will print a form you can mail in to register No-Keys. When you pay for No-Keys, you will receive the unlock code, which you can then input in the Register window.

Volume discounts are available if you want multiple copies. Contact Leithauser Research at or (386) 738-0418 for details.

Running No-Keys under Windows XP/Vista

Note: When running under Vista, a few of the keys, such as Del, may not work. There is no known fix for this at this time.

Moving and resizing the No-Keys keyboard

You can move the No-Keys keyboard by putting the mouse pointer on the blue title bar, holding down the mouse key, and moving the mouse cursor. You can change the width of the keyboard by placing the mouse cursor on the left side of the keyboard (where it will turn into a double arrow), holding down the mouse key, and moving the mouse cursor horizontally. You can change the keyboard height by putting the mouse cursor on the bottom of the keyboard (where it will turn into a double arrow), holding down the mouse button, and moving the mouse cursor vertically.

Selecting the program to send keys to

To select what program you want to send keys to, just click on that program with your mouse. To send the keys to a particular part of that program, such as a particular text box, click on that text box with the mouse. This will cause this input box to have the focus, which means that this is where Windows would send any keys you typed on a real keyboard. This will be where No-Keys will send the keys you type in No-Keys, until you select another program to have the focus.

Typing with No-Keys

You type using No-Keys by clicking on the key on the No-Keys virtual (onscreen) keyboard that you want to type. That is, move the mouse cursor so that its tip is on the key and press the left mouse button briefly. No-Keys will send that key to the program that has the focus. No-Keys will briefly obtain the focus as you "type" on the virtual keyboard with the mouse, but No-Keys will always return the focus to the original program when you release the mouse button. Note: Due to timing problems, No-Keys may occasionally fail to send the key you type to the other program. If this happens, simply retype the key.


Pop-Up Option

No-Keys has a feature that causes it to retain the focus and always appear in front of any other applications that you have running. This is especially important when you are first loading programs, to make sure that No-Keys is always available (doesn't get hidden by the programs you load). It does have some drawbacks, however. It can hide parts of some programs that you need to see. This is not normally much of a problem. You can minimize No-Keys, and you can also resize it or move it.

If No-Keys is really getting in the way, you can turn off the Pop-Up feature of No-Keys once you have the Windows setup ready to go. To do this, first load the program you want to use. Make sure that the program is not running in the maximized mode, where it takes up the whole screen. Then reduce its size by grabbing its bottom and pushing up so that it the program and No-keys do not overlap. When you are finished doing this, you should have No-Keys and your other program on the screen with no overlap.

Once you have done this, you can safely turn off the No-Keys Pop-Up feature. Click on Options on the menu bar. You will see Pop-Up as one of the menu choices, and it will be checked. Click on Pop-Up to turn off the pop-up feature. You can turn Pop-up back on whenever you want to by clicking on Options and Pop-Up again.

If the user is unable to move the mouse at all, No-Keys provides a scanning option. When the scan option is turned on, one of the No-Keys keyboard keys will be depressed and will be labeled in red, rather than black. Which button is selected (depressed) will be constantly changing (scanning). Which button is selected will scan up and down the first column of characters in the window until you press either the left mouse button while the mouse cursor is on ANY key on the No-Keys keyboard. It will then scan horizontally across the row it was on when you pressed the mouse button until you press the left mouse button again. No-Keys then sends the character of the selected button to the other application. The selected key will then resume scanning vertically on the first column of the window, and you can repeat the process. There is a feature in No-Keys that will allow you to cause No-Keys to continue scanning horizontally after you have pressed the mouse button (instead of switching to vertical scan) if you hold the mouse button down for more than two seconds. This is useful if you want to type many keys from the same row. Activating this feature is explained below.

A person who has no use of their hands at all can use the scanning option. The mouse can be placed where the person can press the mouse button with their chin or foot.

To use the scan option, click on Options on the No-Keys menu bar. Then click on Scan. A box will appear asking you for the desired delay time, as well as other options. This is the amount of time the frame spends on each key. The allowed range is .25 seconds to 5 seconds. I recommend about .75 to 1 second. A delay shorter than this makes it hard for you to press the mouse button or enter key while the frame is around the proper key. Below .5 seconds, the frame is moving so fast that No-Keys sometimes does not always register the mouse button press at all.

There are several ways you can input the desired delay type. You can type the amount into the text box, using either the No-Keys keyboard or your actual keyboard. A better way is to move the vertical scroll bar on the form. You can click on the arrows at the top and bottom of the scroll bar, click on the scroll bar above or below the scroll bar button, or drag the scroll bar button with the mouse cursor. The value in the text box will change as you change the position of the button in the scroll bar.

There is an option to limit the number of times the program will scan horizontally. If the limit is zero, the program will continue to scan horizontally until you click, selecting a character. This can cause problems because sometimes people accidentally click while the program is scanning vertically, causing it to switch to horizontal scanning. Once this happens, it would be necessary to select a character to stop it from horizontally scanning if there were no limit. If you select a number other than 0, the program will automatically revert to vertical scanning without you selecting a character once the program has made that number of horizontal scans of the keyboard. This provides a way of causing the program to back out of horizontal scanning without selecting a character.

There is also an option to configure No-Keys to continue scanning horizontally after you press the mouse button if you hold down the mouse button for more than two seconds. There is a check box in the scan setup screen that turns this feature on. If you want this feature turned on, click on the check box to put a check in the box, thus turning on this feature.

Once you have selected all the desired values, you activate the scan by pressing the OK button. You can turn off the scan by clicking on Options and Scan again.

To use the mouse button to select a key when the scan is active, the mouse cursor must be somewhere on the No-Keys keyboard, below the menu bar. It does not matter which key it is on, or even if it is between keys. Clicking the left mouse button will always select the key that the frame is around if the scan is turned on, regardless of which keyboard key the mouse cursor is on. If the person using the mouse button sometimes accidentally moves the mouse cursor off the No-Keys keyboard, you may want to disable the mouse by removing the ball from the mouse.

No-Keys saves the Pop-Up, Scan, Continue Horizontal Scan, and Scan Time options between runs. That is, it will come up with whatever setting you had for these options when you exited No-Keys. I recommend setting Pop-Up on before exiting the program to make it easier to find when you first run it.

Hover option

This option allows you to cause No-Keys to activate a button as if you had clicked on it just by leaving the mouse cursor over the key (hovering over the key) for a preset period of time. This has several applications. You can use it in cases where the user is unable to click on a mouse button. You can also use it in cases where the program you are sending keys to does not work properly if you click on another program. This is discussed below in the Resend and Macro sections. In some cases where programs do not respond well if they lose the focus, using the Hover function to send keys without actually clicking on them can solve the problem.

To activate this option, select Hover under the Options menu. (A check mark appears beside the word "Hover" if it is currently active.) A window will appear that lets select the settings for the Hover option. You can click on the "Hover trigger off" radio button to turn off the Hover function so that hovering over a button does not trigger it. To turn on the Hover function, select the "Hover trigger on" button. A text box will become visible. Input the number of seconds you want No-Keys to wait before triggering a button when you hover the mouse cursor over it. You can type this number on the keyboard, on the No-Keys keyboard, or you can use the scroll arrows next to the text box to set the time in .1 second increments. Any time from .1 seconds to 30 seconds is valid. Setting it to 0 has the same effect as turning off the Hover function.

Once the Hover option is active, a button (letter, number, character, etc.) will click if you hold the mouse cursor over than button for the selected period of time. The mouse may move around over the button during this period of time, as long as it does not go off the button or to the very edge of the button. The time period begins the moment the mouse cursor is over the button. A button will only trigger once this way. That is, holding the mouse cursor over the button will not cause it to autorepeat. If you want to type the same button twice, you must move the mouse off that button and then back on again.

Note: Do not use the Hover and Scan functions at the same time. The results will be erratic.

Font Magnification

If you are having trouble seeing the letters on the keys, you can increase their size. The available magnifications are 1, 1.2, 1.4, and 1.6. Just move the mouse cursor to Font Magnification under the Options menu. A menu will be displayed to the right listing the available magnifications. The one that is currently selected will be checked. Just click on the magnification you want with the mouse. The keyboard will immediately change.

Keyboard layout

There are four different preprogrammed keyboard configurations available with No-Keys version 5.0 (and above), plus a custom keyboard of your own creation. You can select which configuration you want by selecting one under the options menu. To select the keyboard configuration you want, click on the Options menu at the top of the main No-Keys screen, then the keyboard option, and then click on the configuration you want. The one that is currently active will have a check mark beside it.

The four set layouts are Full Keyboard, Letter Keyboard, Numbers Keyboard, and QWERTY keyboard. These are explained below, along with instructions for creating your own keyboard layout.

1) Full Keyboard

This is the default configuration, the one No-Keys comes set to when you first install it. This configuration gives you the most keys.

The top row of keys on the No-Keys keyboard contains all the capital letters. The second row contains all the lower case letters. The third row contains numbers and related symbols. It has the number keys from 0 to 9, followed by the point (period) key. It then has the math operators " + - * / \ ^ = > <". This is followed by the left and right parenthesis symbols "(" and ")". Then it has the percent and dollar sign and the pound (#) and at (@) symbols.

The fourth row has a collection of miscellaneous symbols and control keys. The first key on the four row is the space bar (not really much of a bar, since it is the same size as the other keys). This is followed by the quotation mark and the left hand single quote mark (the symbol that appears at the bottom of the key to the left of the number on the top row of most real keyboards). The next key is the apostrophe, followed by the exclamation point, question mark, colon, and semicolon. Then comes the left and right square brackets followed by the left and right curved brackets. The next key is the pipe symbol, which looks like a vertical bar. The next symbol is the underscore (underline) symbol. This is hard to see on the No-Keys keyboard, and unless you look carefully it looks like that key is blank. The next key is the & symbol. The last normal sized key is the comma.

After these normal keys, the bottom row has a few control keys. These are Enter, BkSp (Backspace), Tab, Del, and Esc. To help you study the keyboard in case you have trouble seeing it on the screen, here is a map of the keys.


a b c d e f g h i j k l m n o p q r s t u v w x y z

0 1 2 3 4 5 6 7 8 9 . + - * / \ ^ = > < ( ) %$ # @

" ` ' ! ? : ; [ ] { } | _ & , Enter BkSp Tab Del Esc

There are some other keys that you can type using No-Keys. The top menu bar contains a selection that is normally labeled "Upper ANSI". Clicking on this causes all of the keys on the keyboard except the control keys to switch to upper ANSI characters, which mostly consists of non-English letters and a few mathematical symbols. When these are displayed instead of the standard English letters, the menu item on the to menu bar changes from "Upper ANSI" to Lower ANSI". Clicking on this will restore the keys to their normal, English characters. You can also click on the KeyType selection on the No-Keys menu bar. When you click on this, the top two rows of keys (the letter keys) disappear and are replaced by some seldom used keys. The first row becomes the F-keys. The first four keys of the second row become the cursor keys (Up, Down, Right, and Left). The next four are the Home, End, PgUp, and PgDn keys. The last two keys on the new second row are the Ins and Break keys. All these keys are seldom needed when you are using No-Keys in Windows, so they are kept hidden until you click on the KeyType selection on the menu bar. When you click on KeyType again, the top two rows go back to being the letter keys.

The No-Keys menu bar also has the words Shift, Ctrl, and Alt. If you click on one of these, an asterisk will appear next to that word. The next key you click on will be combined with the indicated key. For example, to send the Ctrl-B combination to a program, click on Ctrl on the menu bar and then click on the B key (either capital or lower case). To send Alt-F4 to a program, you would click on KeyType to show the F-keys, click on Alt on the menu bar, then click on the F4 key.

2) Letters Keyboard

This configuration gives you far fewer keys. It displays only the letters in lower case, a space key, Enter, and BkSp (Backspace). You can still generate the upper case letters by clicking on Shift at the top of the screen before clicking on the letter.

The Letters Keyboard configuration has several uses. When using the Scan mode (explained below), it can "type" much faster because it does not have as many possible buttons to go through. This is particularly useful for people who are feeding the output of No-Keys to a text to speech program in order to communicate. The reduced number of keys also allows No-Keys to take up less room on the screen.

When in the Letters Keyboard mode, the Upper ANSI and KeyType menus (explained below) disappear. It is assumed that if you are using a reduced key set, you do not need the more exotic keys.

3) Numbers Keyboard

As the name implies, this configuration has only numbers and a few related keys. The additional keys are a space key, decimal point, minus sign, Enter, and BkSp (backspace). This configuration allows for the smallest possible size on the screen for No-Keys. It is most useful when using No-Keys to enter numbers into a program on a touch screen computer.

4) QWERTY Keyboard

This keyboard is designed to resemble the standard computer keyboard. A few keys are in slightly different positions to allow the others to fit properly. For example, the Esc key is on the upper right. The keys :"<>? which appear above the keys ;',./ respectively, can be found on the bottom row beside the space bar. They can also be accessed by using the shift function plus the key they would normally appear above on a computer keyboard. They are displayed at the bottom because the screen cannot display one letter above another on the screen buttons. Since no capital letters are displayed, you would type a capital letter using the shift function.

Like the Full Keyboard configuration described above, the QWERTY keyboard allows you to switch in some control keys with the KeyType option on the top menu bar. When you click on this, the top two rows of keys disappear and are replaced by some seldom used keys. The first row becomes the F-keys. The first four keys of the second row become the cursor keys (Up, Down, Right, and Left). The next four are the Home, End, PgUp, and PgDn keys. The last three keys on the new second row are the Ins, Break, and Del keys. All these keys are seldom needed when you are using No-Keys in Windows, so they are kept hidden until you click on the KeyType selection on the menu bar. When you click on KeyType again, the top two rows go back to being the normal keys.

5) Creating a Custom Configuration

To set your own custom configuration, select Options/Keyboard/Design Custom. A window will appear that allows you to create the custom configuration. The main No-Keys keyboard window remains visible, and you will use this to select keys to assign characters to.

The first step in creating a custom keyboard is to set the number of horizontal rows and vertical columns you want on the keyboard. In the custom keyboard, you do not have the Upper Ansi and Key Type options, so all the keys you want must appear on the one keyboard. Type the number of rows and columns you want in the input boxes and then click on the Arrange button. The keyboard will reconfigure itself. The keys that were already on the keyboard will remain. If the configuration you have set has fewer keys than the previous configuration, some keys will be deleted. If it has more keys than the previous configuration, the additional keys will be set to space keys until you assign another character to them. Note that if you do not have enough key values (characters) to fill the number of keys created by the number of rows and columns you have set, the left over keys will remain as space keys.

After you have selected the number of rows and columns for your keyboard, you can assign characters to the keys. This is very simple. Just click on the key on the keyboard you want to assign a character to. Then scroll the list box of characters on the right side of the configuration window until you see the character you want, and click on that character on the list box. That character will be assigned to the key you selected. You can repeat this process to assign characters to all the keys on the keyboard. The character list contains every available character, plus combination characters like Alt+key, Ctr+key, and Sh+key (Shift key).

When you have the keyboard set up the way you want it, click on the Save button on the configuration window to save your keyboard configuration. The Configuration window will disappear. You are now ready to use your custom No-Keys. If you decide not to save the changes you have made, click on the Cancel button. The keyboard you had before you opened the Configuration window will reappear.

The configuration is saved in a file called customnk.dat, so No-Keys can display this configuration each time you run No-Keys. You can return to the custom configuration window any time you like to change the custom configuration.

Resend Function

Some parts of some programs have trouble inputting keys from No-Keys. The problem is that some programs have input boxes that automatically clear themselves when they either get or lose the keyboard focus. When you type with No-Keys, No-Keys briefly acquires the focus as you press the key and then returns it to the other program you are running. This means that as you type each key, the input box on the other program clears itself. A typical example of this problem is the URL input box on some Web browsers, such as Microsoft Internet Explorer.

You can use some programs that erase characters that you type on No-Keys by using the No-Keys Resend function. You activate this by clicking on "Resend" at the top of the No-Keys window. An asterisk will appear next to "Resend" to inform you that this function is active. When this function is active, No-Keys will resend all characters have sent since you activated the resend function each time you send a character. This effectively solves the problem for most programs that erase old characters each time you type a new one, since No-Keys is resending the old ones with the newest character. This works well with Microsoft Internet Explorer, for example.

The Resend function continues to operate until you do one of the following:

1) Send an ENTER key from No-Keys

2) Send a TAB key from No-Keys

3) Click on Resend at the top of the No-Keys windows again.

This is because sending an ENTER or TAB key will usually move you to a new box on the application you are using, so you logically want to start sending a new string. Once Resend is deactivated, the string it has been building is erased, so activating Resend again will start sending a new string.

Macro Function

Some programs may not work properly even with Resend. To solve this problem, No-Keys has a Macro feature that allows you to store an entire string of characters and send them all at once to another program.

To use this feature, click on Macro on the top menu bar. A form will appear with an input box. Type your message on the No-Keys keyboard in your usual manner. What you type will go to this Macro input box, instead of your other program. When you are finished, click on the Send button on the Macro form. The Macro box will disappear, and the entire string will be sent to your other program. (You can click on the Cancel button on the Macro form to abort the process.) Instead of clicking on the Send button on the Macro box, you also can click on the input box of the program you want the macro sent to. This will cause the Macro box to close and send the string in the Macro box text box to this program.

In some cases, any attempt to have No-Keys send keys to a particular part of a program can cause problems with the program. In that case, you can bypass having No-Keys send the keys at all by clicking on the Clipboard button on the Macro form. This will cause the contents of the Macro form text input box to be copied to the Windows clipboard. The Macro form will disappear. You can then right click on the text input box on the program where you want the text to go. A menu will usually appear that contains a Paste option. Use this Paste function of that program to paste the text from the clipboard to the program.

Note: In most cases where you would use the Macro feature, you want to include the ENTER key in your macro itself, so that when you click on the Ok button, the other program acts on the string you have sent it. Otherwise, you might still lose what you have sent the other program when you try to use No-Keys to send another character, such as the ENTER key. Typing the ENTER key on the No-Keys keyboard will not activate the Macro form Ok button. The ENTER key will simply be added to the macro string.

Loading and Unloading programs with No-Keys

You can use No-Keys to load an application into Windows. To do this, click on Files on the No-Keys menu bar. Then click on Load. You will see a standard file directory window. The file list box contains a list of EXE files in the current path. This will normally be your WINDOWS directory. In the unlikely event that you need to change directories, you can do so with the directory box. Just double click on the directory you want to move to or click on it once and then click on the OK button.

Once you are in the proper directory, scroll the file list up and down until you see the EXE file for the application you want to run. For example, if you want to run Write, scroll the file list until you see WRITE.EXE. Even if you do not know the EXE file name for the application you want to run, it is usually easy to figure it out. The EXE file usually has a file name that matches the program name, like TERMINAL.EXE for Terminal and NOTEPAD.EXE for Notepad. Once you see the file you want, either double click on the file name or click on it once and then click on OK.

Once you have selected the file you want to run, No-Keys will load it in the normal mode. No-Keys will regain the focus for itself once the application is displayed. Click on the program to set this program as the one for No-Keys to send the keystrokes to.

There are two other options in the Files menu. Unload will close the other application that No-Keys is connected to. That is, it will unload it from Windows memory. Once you have done this, you would need to go through the process of loading the application again. Unloading the program clears it from the screen, which is a good idea if you are finished with that application.

The final choice in the Files menu is Exit. This closes No-Keys down entirely (unloads it from Windows memory). You would use this only if you are finished with No-Keys.

Uninstalling No-Keys

If you decide you do not want No-Keys, you can remove it from your computer. Run Windows Control Panel and then run "Add or Remove Programs" (this is named "Programs and Features" in Vista). Select No-Keys from the list and uninstall No-Keys.

Bug reports and suggestions

Reports of problems or suggestions for improvement are welcome. Send such reports or suggestions to:

David Leithauser

Leithauser Research

3624 Royal Fern Circle

DeLand, FL 32724

You also can send email to In cases of emergency, you can call Leithauser Research at (386) 738-0418 between the hours of 10 AM and 6 PM ET.

If I feel that the improvement would be of interest to most users, I will make it for free and send you the improved version. If the improvement is unusual and suited only to your specific needs, I can give you a price quote for a customized version of No-Keys (see below).

Custom programming

The primary function of Leithauser Research is custom programming. If you would like a custom program of any type written, please contact me at the above address for Leithauser Research. Describe the program you would like written in as much detail as possible and I will give you a price estimate. Programs can be DOS or Windows.

Return to No-Keys download page
Go to Leithauser Research home page