Application level definition files

Screen-labeled function key descriptors

Eight labels appear on the last line of the user's screen to indicate the functions currently assigned to the corresponding keyboard function keys <F1> through <F8>. The screen labels are analogous to a set of menu items that are always displayed and from which the user can make a selection at any time by pressing the corresponding function key. If a keyboard does not have function keys, the user can select the function by using one of the alternative keystroke sequences <CTRL-f> <1> through <CTRL-f> <8>.

NOTE: FMLI downloads alternative keystroke sequences into the function keys of some terminals at the user's request. For a discussion, see ``Keyboard and mouse support''.

FMLI provides two sets of screen labels for function keys. There are eight screen labels in each set. FMLI has preassigned functions to only the first set of eight for each frame type.

Default Screen-labeled Keys

<F1> help help help help
<F2> mark* choices prevpage    
<F3> enter save nextpage enter  
<F4> prev-frm prev-frm prev-frm    
<F5> next-frm next-frm next-frm    
<F6> cancel cancel cancel cancel cancel
<F7> cmd-menu cmd-menu cmd-menu    
<F8> chg-keys** chg-keys** chg-keys** chg-keys** chg-keys**
<F16> chg-keys** chg-keys** chg-keys** chg-keys** chg-keys**

Function key <F2> is assigned the mark command only in multi-select menus. In single-select menus <F2> has no default assigned.

Function keys <F8> and <F16> will default to chg-keys only if any of keys <F9> through <F15> are defined by the developer.

Function keys <F1> through <F7> in the first set can be disabled but not redefined. Function keys <F8> through <F16> may be defined. However, if you define <F8> or <F16>, the user loses the ability to alternate between the two sets of SLKs. If you want to define PREV-FRM, NEXT-FRM, PREVPAGE, or NEXTPAGE, on the second set of function keys, the labels must be spelled exactly as they are on the first set (case is irrelevant).

NOTE: When you redefine screen-labeled function keys in the initialization file, your definitions become the defaults. Screen-labeled function keys may also be defined in individual form, menu, and text frame definition files. When they are defined in frame definition files, those definitions override the defaults (either the FMLI-defined defaults, or the defaults you may have defined in the initialization file) while that frame is active.

You can define which set of screen-labeled function keys first appears when a frame is opened by defining the frame level descriptor altslks in menu, text, and form definition files. If altslks evaluates to TRUE, the screen labels for function keys 9 through 16 will be displayed when the frame is first opened.

The following is a list of the descriptors used to define screen-labeled function keys. The name and button descriptors must be included in each set of SLK descriptors, and name must be first.

NOTE: Keep in mind that the screen-labeled function keys must be the last things defined in the initialization file, or in any frame definition file.

The action descriptor defines the command to execute when the particular screen-labeled function key is selected.

The button descriptor specifies the screen-labeled function key you are defining or disabling. The value of button is an integer corresponding to the number of the function key (1 through 16) to which the screen label corresponds.

The interrupt descriptor defines whether an executable that is coded in the action descriptor can be interrupted by the user. If not coded, interrupt defaults to FALSE. If this descriptor evaluates to TRUE, then executables will be interruptible.

If the interrupt descriptor is defined for a SLK in the initialization file, that value is inherited by the SLK unless the SLK is redefined in a frame definition file. Redefining a SLK in a frame definition file completely overrides a definition of it you may have coded in the initialization file. For example, if you define interrupt for a particular SLK in the initialization file, but do not include interrupt in a redefinition of that SLK in a frame definition file, the SLK will inherit the value of the interrupt descriptor defined at the next higher inheritance level (from the frame descriptors if defined there, then from the general descriptors in the initialization file if defined there, then from the FMLI defaults).

The name descriptor defines the name that is displayed on the screen label. The value of name must be 8 or fewer characters. Defining name as a null string (name="") will disable the function key.

The oninterrupt descriptor specifies the action to be taken when an interrupt signal is received. If it is not defined anywhere in your application, it defaults to `message Operation interrupted!`nop. It is ignored if interrupt is not coded anywhere in your application or if interrupt evaluates to FALSE.

If the oninterrupt descriptor is defined for a SLK in the initialization file, that value is current for the SLK, unless the SLK is redefined in a frame definition file. If a SLK is redefined in a frame definition file, all descriptors for that SLK in the initialization file, including the oninterrupt descriptor, are ignored. If a SLK definition does not define oninterrupt, the SLK inherits the value set for oninterrupt from the frame level descriptors, then from the application level section of the initialization file.

Example definitions of screen-labeled function keys

The following example shows how to

in the initialization file:



Next topic: The commands file
Previous topic: General application descriptors

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 27 April 2004