home *** CD-ROM | disk | FTP | other *** search
- To Whom It may Concern:
-
- I Charles J. Carter am putting SetKey, which was formerly a commercial
- product, into the public domain due to a lot of reasons. Some of which are
- the following:
-
- 1) Very small number of sales (mainly due to lack of advertising). ie < 50
- in over a year.
- 2) Since this utility works at the OS level it counts on the OS to work
- consistently. This software (OS) is not well documented and changes as
- the OS is upgraded and as the hardware is upgraded. I am NOT privy to
- these changes in a timely manner, if at all, making it impossible to keep
- the product current.
- 3) This utility SHOULD have been included with 1.2 and should be a part of
- the OS as is the icon editor, font editor, etc...
- 4) And lastly my desire to do games programs.
-
- One the plus side, since SetKey was released in FEB 87 there has only been
- one error found and that was caused by the console device not acting as
- advertised. SetKey V2.0 works around this problem.
-
- If anybody is interested all that is needed to upgrade this program for
- the A500 and A2000 is to add the extra keys for the keypad. I've been
- told if you can live without these keys the program works just fine.
-
- If you have any questions or comments email me on Plink. CJCarter ;8^)
-
- Warning: There is a bug in SetKey that will cause a guru if you have
- any fast ram (anything more than 512K) in your Amiga and select "Load a
- Keymap from the Disk" from the menu. You can edit the keymap that is
- currently in use when you start up SetKey, but if you want to load another
- keymap from disk to edit, turn off your fast ram first or you'll see the
- guru. This bug does not affect your later use of the altered keymap at all,
- it is just a bug with this one menu item. After exiting SetKey you can turn
- your fast ram back on.
-
- PROGRAM DISCLAIMER: The program is provided "AS IS" without warranty of any
- kind, either expressed or implied, including, but not limited to, the
- implied warranties of merchantability and fitness for a particular purpose.
- The entire risk as to the results and performance of the program is assumed
- by you. Should the program prove defective, you assume the entire cost of all
- necessary servicing, repair or correction.
-
-
-
- SetKey
-
- The new command SetMap (V1.2) allows the use of different keyboards or the
- total reconfiguration of a keyboard! Alas, the only keymaps available are
- for foreign keyboards or the Dvorak keyboard. Wouldn't it be nice if you
- could reconfigure a keyboard to suit you needs? SetKey allows you to do just
- that and a whole lot more. SetKey is a keymap editor that allows up to eight
- strings to be assigned to most keys on the keyboard. Also characters can be
- entered in HEX so that maximum flexibility is maintained. The SetKey keymap
- editor is easy to use, easy to learn and best of all compatible with SetMap.
-
- SetKey can be used from WorkBench or the CLI. If SetKey is run from the
- CLI, a keymap that is stored in DEVS:keymaps/ can be used as an argument. If
- no keymap is specified then the current default keymap is used. When SetKey
- is run, it presents the user with a diagram of the keyboard with all the keys
- ready to be edited. Using SetKey starts with selecting a qualifier, if any,
- then a key to edit.
-
- For anyone unfamiliar with the concept of qualifiers, there are three
- qualifiers on the Amiga keyboard, shift, alt, and control. Any time that you
- hold one of the qualifier keys and press another key, the code which is sent
- to the computer includes the qualifier. This code is then translated by
- looking up (in the keymap!) the code and qualifier, and the translated code
- is finally sent to the application as a character or a string of characters.
- Since there is no restriction placed on the characters in the keymap, keys
- may "map" to strings containing carriage returns or other control codes, so
- that a single keypress can be made to perform several commands. In addition,
- qualifiers may be combined (e.g. shift+alt or shift+alt+control) making a
- total of eight different strings for each key. SetKey supports the mapping
- of all eight combinations with either characters or strings. Now that we
- have explained what SetKey does, lets examine how it works.
-
- To get familiar with SetKey, run the program from either CLI or WorkBench.
- First press the letter "a". Notice the a key on the keyboard picture is
- highlighted, and a box appears at the bottom of the screen with quite a bit
- of information in it. At the top of this box are three fields, indicating
- the key selected, its internal code value in hexidecimal, and any qualifiers
- currently selected. Note that the current display shows "none" for the
- qualifiers, since we did not press any qualifier keys before we pressed the
- "a" key. To indicate a qualifier, simply press the desired qualifier(s)
- BEFORE selecting the key you intend to edit. This action will highlight the
- qualifier(s) you select, and when you subsequently press a key to edit, you
- will see the qualifiers in the third field of the first line in the box. In
- the center of the box is a long string gadget containing the letter "a".
- There is a short string gadget in the bottom left corner, used for entering
- characters in hex. There are two more gadgets in the box, the "Modify
- Keymap" gadget and the "Cancel" gadget. Use the mouse to point at the Cancel
- gadget and press the select mouse button. The box will disappear and the a
- key will return to normal on the display. Now lets actually map a string to
- the shifted f1 key and test it in the CLI.
-
- First press any shift key on the keyboard (you may point at the keys in
- the display and press the select button on the mouse if you prefer). All the
- shift keys on the keyboard should be highlighted. Now press the f1 key (or
- point and click). The box will reappear at the bottom of the display with 4
- characters in the long string gadget in the center of the box. The 4
- characters should be an escape character (which Intuition displays in string
- gadgets as a tall box shaped character) then "10~". We are going to replace
- this relatively useless string with one that actually does something. First
- click in the long string gadget to activate it. The cursor will be displayed
- inside the gadget. Delete all the characters in the box and then type "cd
- df0:" without the quotation marks. Now we would like to set up our new
- shifted f1 to perform the cd df0: without having to press return after we
- press shift f1. To do this, we need to include the "return" at the end of
- our string. But pressing return now causes the display to blink and include
- a return in the string with the cursor placed one character to the right
- ready for more input.
-
- The hex entry gadget allows you to type in a hex number, which is
- translated into a character and placed in the string at the current cursor
- position, replacing whatever was previously there. Start by getting the
- cursor to the end of the long string gadget. Now point at the hex gadget and
- press the select button. The value displayed to the right of the hex gadget
- should change to 00. This is the value in hex of the character at the end of
- the string in the long string gadget. Type whatever HEX value you want, if
- any, at the current cursor location and hit return. Then click back on the
- string input gadget to continue input. Notice that a tall box appears at the
- end of the long string gadget. SetKey has replaced the 00 with the HEX value
- you have entered. Now that we have finished modifying the key, let's store
- it in the temporary working keymap by clicking on the Modify Keymap gadget.
-
- You may repeat this process for other keys on the display until you have
- the keys "mapped" according to your own preferences. The new keymap may now
- be saved by pulling down the Main Control menu and selecting "Save a keymap
- to the disk". When you do this, another box will be displayed with a
- directory string gadget and a filename string gadget in it. The directory
- string gadget points to DEVS:keymaps by default. This is the directory that
- setmap will look in later when we activate our keymap, so it is best to put
- all of your new keymaps here. Type in "example" in the filename gadget and
- click on the Save gadget. If your DEVS:keymaps disk has room and isn't write
- protected, the file will be stored. To exit, you may either click on the
- closewindow gadget or use one of the exit options from the main menu. Now
- we're ready to activate the new keymap. From the CLI, enter "setmap
- example". Your keymap has now been activated. To see it work, hold shift
- and press f1. The CLI should do cd df0: for you. Try out any other keys you
- have mapped. That's all there is to it. You are free to make further
- modifications by using SetKey again, but be aware that setmap will not
- replace a keymap which has already been activated. If you make changes with
- SetKey and store under the same name, setmap will simply reactivate your
- first version of the keymap. The only way to activate a new version with the
- same name is to reboot the Amiga and then do setmap again.
-
-
- The CopyKeys keymap, using the ARROW keys, provides a convenient way to run
- the Copy, DiskCopy, and Format commands.
-
- USE ARROW KEYS AS FOLLOWS:
-
- ALT + Lft Arrow - Sets up ramdisc by placing the Copy,
- DiskCopy, and Format commands in ram:
-
- ALT + Up Arrow - Formats a disk in drive df1:
-
- ALT + Rt Arrow - Copies all files from df0: to previously
- formatted disk in Df1:
-
- ALT + Down Arrow - DiskCopy from d0: to df1:
-
- ALT/Shift + Lft Arrow - Used to delete all files in ramdisc.
-
-
-
-
- ----------------------------------------------------------------------
-
- The CopyKeys keymap, using the HELP key, provides a convienient way to
- utilize commands related to SetKey and the keymaps.
-
- USE THE HELP KEY AS FOLLOWS:
-
- Help - Reads this help file.
-
- Shift + Help - ShowKey command lists current keymap settings.
-
- ALT + Help - SetMap command allows user to change to another
- keymap.
-
- ALT/Shift + Help - Runs SetKey utility.
-
-
- The EdKeys keymap, using the ARROW keys, provides a convenient way to run Ed.
-
- USE KEYS AS FOLLOWS:
-
- SHIFT + Lft Arrow - Begin/End of line.
-
- SHIFT + Up Arrow - Up a Screen.
-
- SHIFT + Rt Arrow - Begin/End of line.
-
- SHIFT + Down Arrow - Down a Screen.
- ----------------------------------------------------------------------
-
- ALT + Lft Arrow - Word Forward.
-
- ALT + Up Arrow - Top of File.
-
- ALT + Rt Arrow - Word Backward.
-
- ALT + Down Arrow - Bottom of File.
- ----------------------------------------------------------------------
-
- The EdKeys keymap can also provide macro capability to standard Ed.
-
- Help - Open New Line.
-
- Enter - Autoindent (Macro for use with standard Ed).
-
- F1 - Quit.
-
- SHIFT + F1 - Save and Exit.
-
-
- This is just a start of all of the Possiblities of SetKey.
-
- SetKey.Notes
-
- See the file SetKey.Tutorial for a complete description of how to use SetKey.
-
- SetKey Main Control Menu options:
-
- Select View or Change mode:
- In "View" mode setkey simply displays the current mapping of any key
- which is selected. "Change" mode allows you to change the mapping of
- the keys.
-
- Load a keymap from the disk:
- Loads a keymap for editing.
-
- Save a keymap to the disk:
- Saves your current changes.
-
- End keymap editing:
- You may exit and execute setmap to set your work as the active keymap
- or exit without setting this map by choosing one of the suboptions.
-
- ----------------------------------------------------------------------------
-
- Showkey:
-
- Showkey is a very simple utility which examines all the keys in the
- current default keymap and prints a paginated listing of the keys which have
- non-escape strings mapped to them. This can be quite helpful if you have
- trouble remembering how you mapped the keyboard. This version will detect
- keymaps that have keys with strings that are too long (ie > 127).
-
- ----------------------------------------------------------------------------
-
- Tech Notes:
-
- Each string mapped to a key may contain up to 127 characters. The total
- for any key (all qualifiers) must be less than 256. This is not really a
- handicap in actual operation, it's just implicit in the way the C=A keymap
- structure is designed.
- Dead keys are NOT supported by SetKey. What ARE dead keys?? We had a
- hard time figuring it out too. Suffice to say, they are unnecessary, but if
- you really need them, there's always the usa keymap.
- Sometimes when you change back & forth between the hex gadget and the
- string gadget you'll notice the cursor will disappear. Intuition seems to
- toggle the cursor status whenever RefreshGadgets is called, causing the
- cursor to disappear. If you begin typing into the gadget, though, the cursor
- will reappear and remain until you deselect the gadget.
- Setmap runs down the keymap resource list (in RAM) to see if a copy of the
- keymap you have requested is already loaded. If it finds a match, it simply
- sets it as the current keymap for the task which called it. This is good and
- bad. It's good in that it saves time if he can find it in RAM. It's bad
- because there is no way to replace a keymap once it has been added to the
- resource list (at least not safely, because deleting it from the resource
- list without knowing whether or not it is being used at present by another
- task could be disastrous). But that's the way it works.
- Needless to say by now, SetKey ONLY works with V1.2 of AmigaDos!
-
- The ZorkKeys keymap is setup to make playing adventure games easy and fun.
-
- /********** Current Key Assignments **********/
- Key : Qual : String : Comment
- -----------------------------------------------
- keypad 0 : none : d<CR> : Down
- keypad 1 : none : sw<CR> : SouthWest
- keypad 2 : none : s<CR> : South
- keypad 3 : none : se<CR> : SouthEast
- keypad 4 : none : w<CR> : West
- keypad 5 : none : u<CR> : Up
- keypad 6 : none : e<CR> : East
- keypad 7 : none : nw<CR> : NorthWest
- keypad 8 : none : n<CR> : North
- keypad 9 : none : ne<CR> : NorthEast
-
- up arrow : none : n<CR> : North
- down arrow : none : s<CR> : South
- rt arrow : none : e<CR> : East
- lft arrow : none : w<CR> : West
-
-
- f1 : none : again<CR>: Repeat last command
- f2 : none : wait<CR> : Wait
- f3 : none : save<CR> : Save
- f4 : none : restore<CR> Restore
-
- This keymap can be tailored to your current game with SetKey.
-