K E Y S 1.0
~~~~~~~~~~~
1) General description
This library provides a way to assign programs or some other objects to
system keyboard. The key definitions in G/GX are stored in librarys from
161 to 166 each one defining one keyboard plane. So simply put what this
program does is building library from keyboard plane assignment definition
and looking after, that this library is installed with higher priority
than the system one...
In addition there are redefined PURGE and STO named Purge and Sto,
providing easier way of library management. ( You do not have to reset your
calculator after storing new library into port ).
2) Installing the library.
After downloading this library into your calculator, store it into port
you prefer ( althought ports > 1 are not tested it should work... ).
Try to store it so that it will not move in memory aftervards. ie. if you are
using RPL48 compilator then store it after the library 1234. Also note that
librarys in port 0 are displayed in right to left order and in any other port
in left to right order. If you do not listen to this advise then you should
turn the keyboard assignments off every time you are deleting something
from the port this library is stored ( look below how to do it ).
Then turn the calculator off and then on again ( or press ON-C ).
The library is installed.
To remove it go to HOME directory, turn the key assignments off, type
:port:1555
DUP
DETACH
PURGE
Where :port: means the port number you are using.
DO NOT remove this library if there are some keyboard definition librarys
installed. Always remove them first!
3) How to use it.
In the library menu. Under label KEYS you find 6 programs whitch are:
GTKEY
MKKEY
Tkeys
Purge
Sto
INITkeys
Lets start from the right to left:
INITkeys - builds two librarys whitch redefine PURGE and STO key
definitions. This is probably the best program to run at first. It leaves those
librarys on the stack, so what you have to do is to insert port number and
then press Sto from the menu for each one. The definitions will take effect
immediately. So from now on storing any library into port will instantly attatch
and run its config code.
Sto - Replacement for the system STO. The only difference is in the way
it stores the librarys into port. They will be attached at once. You will not
lose stack, PICT or any other data you might have losed by warmsatart.
Purge - Replacement for the system PURGE. It refreshes the key assignement
librarys after removing any object from any port. In all other ways it behaves
as system one...
Tkeys - Toggles the key assignments on/off. If user flag 5 is on then
the key assignments are on and vice-versa.
MKKEY - Builds key assignment library from key definition list and key
plane number.
Syntax ( { Key definitions ( 49 of them ) } %(0-5) -> Lib ).
I think you can use any object for key definition for whitch DoKeyOb does
not error. You may as well use system binary from 0 to 48 as definition, in
that case the system definition from the same system key plane is used. This
method is by all means better than storing the copy of the original key
definition.
It takes no memory for one and some applications ( for example equation writer
and Matrix writer ) are not using the definitions themselves but the addresses
of the definitions. So it is not good idea to redefine such keys as ON, <-,
and some others I have not discovered yet...
GTKEY - Retrieves system or redefined key definitions in form suitable
for MKKEY.
Syntax ( %(0-5) %(0 or not 0) -> { Key definitions ( 49 of them ) } %(0-5) )
The second real determines the way to represent the definition list. If it is
0 - the list with system binaries and redefined definitions is returned.
1 - the complete list of system definition is returned.
Thats` it. The bug reports and comments are welcome :)
AS for why to use it: At this moment I can think of protection of your
calculator by redefining the OFF key and assigning to it some password
protection program...
Disclaimers:
I could not build this package without using <-RPL-> 5.0 by Detlef Mueller &
Raymond Hellstern and StringWriter 4.4 by J.V. Avenard.
Also <-LIB-> 2.0 by Detlef Mueller, Raymond Hellstern, Rick Gravelle and
Mika Heiskanen and HP48 ROM decompilation vere heavily and shamelessly used...
And another thing: The source codes are also available on this site, so you are
welcome to use this package in your own applications or in every other way
you can think of only if you will take no profit from it...
(C) Robert Tiismus 1996
robert@physic.ut.ee