Fundamentals > User Interface Basics > Customizing the User Interface > Environment > Working with Mapkey Macros > Defining or Editing Mapkeys
  
Defining or Editing Mapkeys
The following rules apply when you are creating mapkeys, editing mapkeys that you originally entered in the config.pro file or editing mapkeys that you created by using the Mapkeys dialog box (File > Options > Environment > Mapkeys Settings):
Precede each command with a crosshatch sign (#).
Use semicolons to separate commands or fields.
To use a function key as a mapkey, precede it with a dollar sign ($). For example, $F2.
If the first nonspace character in a field is not a crosshatch sign (#), the system interprets the rest of the field as keyboard input that you had entered in response to a prompt. However, if the current command does not request keyboard input, this data is ignored.
If there is no text in a field, the system interprets the field as a carriage return (<CR>).
The system ignores leading spaces.
The system treats a series of nonleading spaces as a single space, unless it is treating the field as an input field.
Entries are case insensitive.
Keyboard input is case sensitive.
There is no practical limit to the length of a mapkey. Use the backslash character (\) as a continuation character. For example, you could define the macro "aa" as follows:
mapkey $F2 @MAPKEY_LABELaa;\
mapkey(continued) ~ Activate `main_dlg_cur` `page_Model_control_btn` 1;\
mapkey(continued) ~ Command `ProCmdFtRevolve`;
Nesting Mapkeys
You can nest mapkeys so that one mapkey initiates another.