ProvideX V8.20 > Language Reference > 2. Directives
77
DEFCTL Directive
             Define/Redefine CTL Values
Formats
1. Define/Delete CTL Values: DEFCTL [WINDOW] eom$={ctl_val | *}
2. Redefine CTL Values: DEFCTL [WINDOW | WINDOW+] ctl_val={alternate | *}
Where:
*
Asterisk deletes previously defined CTL value (e.g., DEFCTL eom$=* ).
Alternate integer to set as the CTL value. Numeric expression.
alternate
CTL variable's value. Numeric expression, integer.
ctl_val
EOM (End-of-Message) character sequence. Hex string expression
eom$
(e.g., $0D$ for the Enter key).
WINDOW[+] Optional keyword,
WINDOW: CTL setting is for the current window only.
WINDOW+: DEFCTL cascades to apply to lower level windows.
Description
Use the DEFCTL directive to define additional CTL values; however, the replacement
only occurs if the original CTL code is rejected. Use the DEFCTL WINDOW format to
maintain the definition for the current window only. If WINDOW+ is used, the
definition will cascade to lower level windows.
Format 1: Define/Delete CTL Values
DEFCTL [WINDOW] eom$={ctl-val | *}
Use DEFCTL to define an additional CTL value to be returned for a given EOM
(End-of-Message) value or to delete one. The EOM string is the sequence of
characters received from the terminal to end the current input. The first character of
the string must be a non-printable character between $00$ and $1F$, or $7F$; e.g.,
0010 DEFCTL $09$=6 ! Set TAB key to return CTL=6
0020 DEFCTL $1B38$=7 !  Set HOME <esc>H to CTL=7
0030 DEFCTL $09$=* ! Delete control value setting defined @line 0010
The normal setting for the TAB key is to return CTL = -1015.
0010 DEFCTL $09$ = -1015
Positive CTL values will be returned to the program. Negative CTL values have
special significance to ProvideX. (Refer to the list of Negative CTL Definitions, at
the end of this document.