Options and Utilities 

User-Defined CTLS


User-defined CTLS are used to associate a program or an event with a specific function key value or negative CTL definition. When the user presses the corresponding key, NOMADS executes the logic or program you associated with the event.

User CTLS can be local to a panel or global across all libraries. See Assigning Global CTLS. To define user CTL values that are local to the current panel, the User Defined CTL Values utility is used.

Invoke the User Defined CTL Values utility from the NOMADS Panel Designer by selecting Utilities > User CTLS from the menu bar or the Ctls option on the tool bar.

The following window is displayed:

(The use of a grid for entering CTL values was added in PxPlus 2021.)

This window consists of the following:

CTL Value

Numeric CTL value to be assigned. Click the drop-down arrow for a list of commonly used CTL values (10=F10, -1010=Home, etc.) and any other values defined for the current panel. A new value not on the list can also be entered.


Displays the CTL value description, if available.


Click the drop-down arrow for a list of available processes:


Invoke another panel passing optional arguments.


Perform a program.


Call a program.


Execute a series of statements separated by semi-colons.


Terminate panel.


Logic to be executed.


Button used to delete one or more selected CTL values from the grid. To select multiple CTL values, use Shift-Click (consecutive selections) or Ctrl-Click (random selections). Prior to deleting, a message will display.

(The Delete button was added in PxPlus 2021.)


Saves any changes and closes the User Defined CTL Values utility.


Closes the User Defined CTL Values utility without saving any changes.

Assigning Global CTLS

To define global CTLS (applicable to all libraries), load the reserved variable %NOMADS_FKEY_HANDLER$ with a user-defined program name. Your program will be processed by *winproc at run time.


0010 !Program: FKEYS
0020 IF CTL=3 MSGBOX "The F3 key was pressed"
0030 EXIT

Local CTLS are executed before global ones.

Negative CTLS

PxPlus normally handles all negative CTL values internally:


Values -1 to -999

Used by the input handler to save current instructions, internally call *control


Values -1000 to -1999

Used for input editing control keys and mouse interaction


Values -2000 to -2255

Used for composite character generation


Value -2255 and values below that

Reserved for future expansion

See Negative CTL Definitions for a list of negative control values.

Example 1:


CTL Value:

-1014=Page Down



Execute MSGBOX "Test","F.Y.I"



When the user presses the Page Down key, the message box is triggered.

Example 2:


CTL Value:




Perform "cstmtc;init_stuff"



When the user presses the F6 key, NOMADS performs the cstmtc program logic, starting at the init_stuff entry label.