Function key mapping
When migrating to Genero BDL, special care must be taken for programs that uses function keys greater than F12.
With Four Js Business Development Suite (BDS), when the user pressed a key modifier plus a
function key (like Shift-F4
or Ctrl-F6
), the key combination was
mapped to a regular function key F(nn+offset)
, because Shift
and
Control
key modifiers are not handled in the 4GL language.
The number of function keys of the keyboard was defined by the
gui.key.add_function
FGLPROFILE entry. For example, when this entry is set to 12
(the default), a Shift-F4 was received as F16 (4 + 12) in
the program, to be handled with the ON KEY (F16)
clause.
This feature and FGLPROFILE entry is still supported when using the traditional mode.
When using the standard GUI mode, special consideration needs to be taken regarding function keys above F12.
Function keys from F1 to F12 are common keys found on the keyboard and do not need any particular
configuration regarding accelerators: The ON KEY
clause defines an action object
identified by the key name (in lowercase) and the first accelerator attribute defined with the same
name. For example, ON KEY (F10)
creates an action f10, with
accelerator F10.
However, if the program uses ON KEY (Fnn)
clauses where nn is above 12, in order
to have Shift-F(nn-12)
key combinations working, you need to define this
accelerator in the corresponding action default entry.
ON KEY (Fnn)
clause defines an automatic shortcut
key with the first accelerator attribute, it overwrites the value of
acceleratorName
attribute defined in the action defaults. In order to associate the
actual Shift-F(nn-12)
key combination for the action fnn
, you must
use the second accelerator attribute. For example: ON KEY (F14)
creates an action
f14, with first accelerator F14. Specify
acceleratorName2="Shift-F2"
in the .4ad action defaults file,
to define the Shift-F2
key combination for the f14
action.