by Curtis Krauskopf
DataFlex is a highly
portable database language. It is able to run programs,
without being recompiled, across Windows and Unix platforms.
Likewise, the end-user terminals that DataFlex runs
on is as diverse as WYSE-50
terminals and PC workstations.
Unfortunately for non-DataFlex programmers, there is
not a univeral standard for the information that a workstation
sends to the computer. For example, the when a user
hits the 'Control+A' key on a VT100 workstation, it
sends a different set of codes to the computer than
on a PC workstation.
Historically, non-DataFlex programmers have had to
create a terminal definition for each different type
of hardware that they want their programs to be used
on. The terminal definition describes, for a particular
type of terminal, the codes that the computer receives
when various key combinations are pressed.
A terminal definition acts as a Rosetta
Stone by allowing a program to detect which key
or combination of keys was pressed by the user. The
programmer doesn't need to write different programs
for each type of terminal.
Access Corporation (DAC) chose to do things differently
for their DataFlex database management product. DataFlex
eliminates the need for a programmer to create a terminal
definition. Each terminal type that DataFlex can run
on has a terminal definition already built into DataFlex.
To accomodate such a diverse range of hardware, DAC
has created the concept of a Flexkey. DataFlex Flexkeys
are general data entry and database concepts, such as:
- Save a Record
- Delete a Record
- Find a Record
- Clear all Windows
- Print Screen
- plus others...
Every Flexkey, such as Save,
is assigned a specific keystroke on each type of terminal.
The default Flexkey definitions provided by DAC all
use the same keystrokes for all workstations. Because
of this, in DataFlex 2.3, the default definition for
the Save Flexkey is the
F10 key for all workstations.
DataFlex administrators can reassign Flexkeys for a
particular type of workstation. This means that all
of the PC workstations can use a non-standard keystroke
to represent a particular Flexkey. For example, Control+S
could be defined to mean the Save
Flexkey, and Control+K (for kill record) could mean
the Delete Flexkey.
Some developers adopted the default definitions for
all of the Flexkeys; other developers tried to make
mnemonic associations for the Flexkeys.
My experience with key mapping is that it largely depended
on what the users wanted -- if they wanted mnemonic
associations, I installed it that way. If they wanted
to use the standard keymap, then I installed it that
a Flexkey Definition
Copyright 2003-2010 The Database Managers, Inc.
Finding a Flexkey Definition
DataFlex 2.3 Flexkey Definitions