Remapping commands using macros, Remapping commands using macros -59, The last word 3.0 reference manual – Atari XL User Manual

Page 59

Advertising
background image

The Last Word 3.0 Reference Manual

8-59

By working out where in the table the key combination you want to redefine resides,
you can totally remap the keyboard. For example, you could have the following line in
LW.SYS:

KEY 10,97


This will redefine the <P> key so that when you press it, the lowercase letter “a” will
be produced. Note that this means that pressing <P> will produce the letter “a”
everywhere in the program. The most useful application for this would be to produce
things like DVORAK keyboard layouts.

You could use this tool to redefine the commands in LW, too. As another example,
perhaps we want to put the “Cut” command on <Ctrl+X>, as it is in all Microsoft
Windows applications. First, we work out where <Ctrl+X> is in the keyboard table. “X”
is character 22 in the table, and the control characters are in the third block of 64
bytes, so we add 128 (to skip the first two blocks) to 22 and we get 150. LW’s “Cut”
command is called with ATASCII code 3 (Ctrl+C), so this is the code we want <Ctrl+X>
to produce. So we write:

KEY 150,3


This statement in LW.SYS will redefine <Ctrl+X> so that it produces the <Ctrl+C>
character. Not only does this mean that <Ctrl+X> will now be a “Cut” command, but it
also means that <Ctrl+Esc>,<Ctrl+X> will now (perhaps confusingly) put the <Ctrl+C>
character into your document. One advantage of this method is that it won’t upset
macros in any way: <Ctrl+C> in a macro will still call LW’s “Cut Block” routine.

Something to consider when redefining the keyboard in this way is that for every key
you redefine, you need to redefine its “complement”, otherwise you will have two
keys producing the same code. For example, if you’ve redefined <Ctrl+X> to call the
cut command (which was on <Ctrl+C>), you need to redefine another key to produce
the ATASCII code 24 (Ctrl+X) in order to operate the “Exit to DOS” command. It’s wise
to plan things out beforehand, otherwise it can become confusing. However, it’s
perfectly possible to remap the keyboard so that many of the keyboard commands
follow the mnemonics of those in Microsoft Windows applications, and such a
keyboard file (WINKEYS.SYS) is supplied on the distribution disk as an example.

Note that the 1200XL’s function keys are fully supported by LW, and you can assign
the commands of your choice to the twelve possible key combinations.

8.6.2 REMAPPING COMMANDS USING MACROS

The second way of redefining the keyboard takes advantage of LW’s macro capability
and has the advantage that each key will still produce the expected character. Using
macros, however, it’s possible to translate a command keystroke into a different one
before it gets processed by the program.

Advertising