Atari XL Benutzerhandbuch

Seite von 77
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.