Classic Computer Magazine Archive ANTIC VOL. 3, NO. 11 / MARCH 1985

Assembly Language

KEYBOARD COMMANDER

One-key [control] [shift] commands

by PAUL DRIVER

One-handed operation of keyboard commands that normally require both hands. An aid to handicapped programmers and a useful convenience for anybody! The short BASIC program works on all Atari computers of any memory size. Versions for either cassette or disk are provided, as well as the assembly language source code.
  Antic Disk Subscribers ENTER "D:KEYCOMMD. LST" and follow the directions in the article.

Keyboard Commander uses Atari console keys to toggle simulated [SHIFT] and [CONTROL] key locks. I wrote it in response to the November, 1984 Antic I/O letter requesting help for disabled programmers who have trouble operating two-key commands such as cursor movements.
  As I was testing this program, I found that it is very convenient for ANY Atari user. Now I personally use Keyboard Commander just about any time I'm programming in BASIC, assembly language, or ACTION!

GETTING STARTED
CASSETTE USERS: Type in Listings 2 and 3 together. Check them with TYPO II and SAVE. When you RUN this program it will prompt you to place a blank cassette into your recorder (make certain it is wound past the leader) and press [RETURN]. When you have done so the program will write a bootable file onto the cassette.
  To use the cassette: Rewind the cassette to the same point where you started recording the information, and power up the computer while pressing down [START]. When you hear the buzzer, press [RETURN].
  DISK USERS: Type in Listings 1 and 3 together. Check them with TYPO II and SAVE a backup. When you RUN the program you will be asked to insert a disk. Press [RETURN] and an AUTORUN.SYS file will be written to disk. (NOTE: Any existing AUTORUNSYS file will be overwritten by this file.) Now when you boot that disk, the program will be installed.
  Listing 4 contains the assembly language source code for Keyboard Commander. You will notice that the program uses Page Six. If you are an assembly language programmer you may wish to type in this listing and change the origin to avoid using Page Six

LOCKING THE KEYS
The [OPTION] key now toggles the [CONTROL] lock. The [SELECT] key toggles the [SHIFT] lock. Pressing [OPTION] while the [SHIFT] lock is toggled on allows ACTION! programmers to call up the special editor functions.
  The screen border changes color to aid you in keeping track of the current locking mode:

RED   SHIFT LOCK    (SELECT)
BLUE  CONTROL       (OPTION)
      LOCK
GREEN BOTH LOCKS

  It is very important that you keep track of active modes by watching the border color. If you are in [SHIFT] or [CONTROL] lock and press the [<] key, the screen will be cleared.

HOW IT WORKS
Keyboard Commander is actually a machine language routine that executes during every vertical blank period-60 times per second. Keyboard Commander monitors the console keys and toggles the value in LOCK for the border color. Then it substitutes a new keyboard interrupt routine which ANDs the value in LOCK with the value received from the keyboard hardware.

Paul Driver is an animation technician at Disney World in Florida. He grew up in the San Francisco Bay Area and got his Atari 800 at Christmas, 1979.

Program Listings:
1. KEYCOMMD.BAS Download

2. KEYCOMMC.BAS Download

3. KEYDATA.LST Download / View

4. KEYCOMM.ASM Download / View