This page tells you about the default keyboard interface used by all DP4 programs. The interface may be changed to some extent by using the Keyboard Customisation facility. The keyboard interface is also dependent on your keying convention, selected when you create userdata.sys by running USERDATA. There are three keying conventions, which differ principally in how they handle the Tab and Enter keys (or more strictly, keys designated as Tab or Cr in your userdata.sys).
In this mode, in effect if userdata.sys is created without -saa or -windows, the Cr (Enter) key always has the meaning of "Accept Current Input", and the Tab key usually means "Accept Everything":
In a dialog, Enter accepts the current value of edit fields, and moves focus to the next field, or the next line of a multi-line edit field. On the final edit field in a dialog without OK and Cancel buttons pressing Enter will close the dialog, possibly displaying a "Save/Abandon" menu.
Pressing the Tab key when the focus is not on a button, closes the dialog, possibly displaying a "Save/Abandon" menu first.
In a menu or on a button anywhere, Enter causes the associated action to be selected, and pressing Tab moves to the next button.
In a window that allows you to select multiple items, use Enter to toggle whether an item is selected or not, and use Tab to complete the process of selecting items.
The Space key toggles the state of a checkboxes.In menus the Space key causes focus to move to the next option. In dialogs (especially inside PROGMAKE), the space key sometimes behaves like the Prompt key.On Microsoft Windows, when focus is on a button pressing and releasing Space without pressing any other keys causes the button action to be performed. (In text based operating systems pressing space moves focus off the button)
In this mode, in effect if userdata.sys is created with the -saa option, Tab usually means "Accept input and Move" and Enter usually means "Accept Everything".
In dialogs the Tab key usually moves to the next input field, or the next line of a multi-line input field. Pressing Tab on the last control in a dialog will usually wrap around to the first field, (or it may have no effect if the Field Tab Wrap property is not set.
Pressing the Enter key completes the dialog, except if focus is on a button, in which case it performs the action on the button. In dialogs the Enter key usually means "Perform the action associated with the default button", because when a button has focus it automatically becomes the "default button".
In menus, the Tab and Enter keys both select the currently highlighted action, except if the menu is built using buttons, in which case the Tab key moves round the buttons. (So menus behave the same way in SAA and Traditional mode)
In a window that allows you to select multiple items, use Enter to toggle whether an item is selected or not, and use Tab to complete the process of selecting items, again the same as in Traditional mode
In menus, the Space key works in the same way as in Traditional Mode
The explanation of this mode is only correct for 4.619 or later: in earlier multi-line edit fields were handled as for SAA mode.
In this mode, in effect if userdata.sys is created with the -windows option, Tab usually means "Accept input and Move" and Enter usually, but not always, means "Accept Everything":
In dialogs the Tab key usually moves to the next input field, even on a multi-line input field. Pressing Tab on the last control in a dialog will usually wrap around to the first field, (or it may have no effect if the Field Tab Wrap property is not set.
Pressing the Enter key completes the dialog, except if focus is on a button, in which case it performs the action on the button, or if focus in on a multi-line edit control, in which case it moves to the next line of the edit control (and on the last line of the edit control moevs to the next control).
In menus, the Tab key has no effect, unless the menu is built using buttons, in which case the Tab key moves round the buttons. The Enter key selects the currently highlighted action.
In a window that allows you to select multiple items, use Space to toggle whether an item is selected or not, and use Enter or Tab to complete the process of selecting items.
In menus, the Space key selects an action. In buttons and checkboxes the space key works the same as in the other modes.
You can use whichever convention suits your tastes. However a few Help messages for standard DP4 utilities are not accurate if -windows mode is in effect. It is however, the convention that will probably best suit experienced users of Microsoft Windows.
In the table below, entries in the Ctrl+Key column work on all keyboards unless otherwise noted, entries in the PC Keyboard column work on PC style keyboards (except under some defective terminal emulators), unless SAA or Windows keying conventions are in effect and there is a different entry in the SAA/Windows column . Entries in the third column work with SAA and Windows keying convention
| Function | Ctrl + key | PC keyboard | SAA/Windows mode |
|---|---|---|---|
| Backspace | Ctrl + H | Backspace | |
| Block mode | Ctrl + K | ||
| Char left | Ctrl + S | ← | |
| Char right | Ctrl + D | → | |
| Copy block | Ctrl + L | ||
| Cr | Ctrl + M | Enter | |
| Delete word | Ctrl + T | ||
| Delete char | Ctrl + G | Del | |
| Delete (rest of) line | Ctrl + Y | ||
| Display keys | Ctrl + _ | ||
| Draw box | Ctrl + ] | ||
| Dump screen to file | Ctrl + ^ | ||
| End of line | Ctrl + \ * | End | |
| Escape | Ctrl+[ | Esc | |
| Help | Ctrl + J | F10** | F1 |
| Help Author**** | Ctrl + O | F9 | none |
| Insert/Split line | Ctrl + N | ||
| (Toggle) Insert mode | Ctrl + V*** | Insert | |
| Line down | Ctrl + X*** | ↓ | |
| Line up | Ctrl + E | ↑ | |
| Page down | Ctrl + C*** | Page down | |
| Page up | Ctrl + R | Page up | |
| Prompt/Paintbrush | Ctrl + P | F4 (but not in Windows) | |
| Previous field | Ctrl + @ * | Shift + Tab | |
| Redirect Key | Ctrl + B | ||
| Scroll up | Ctrl + Z | Ctrl+↓ | |
| Scroll down | Ctrl + W | Ctrl+ ↑ | |
| Start of line | Ctrl + Q | Home | |
| Tab | Tab | Ctrl+I | |
| Undo | Ctrl + U | ||
| Word right | Ctrl + F | Ctrl + → | |
| Word left | Ctrl + A | Ctrl + ← |
* Not supported on a PC
** The F10 key is reserved by Windows, so this key is not available
*** This Ctrl+Key combination will be interpreted as a copy/cut/paste type command in edit fields with text selected
**** Help Author is only available if you turn on help authoring mode with AUTHOR. If help authoring is turned off, the author key works like the 'Help' key. F9 is set up as the help authoring key
Ctrl+S can usually be used to pause report type programs. When a program is paused Ctrl+C will stop it, any other key will cause the program to resume. In this situation the normal function of the keys pressed is ignored. On dumb terminals Ctrl+S functionality is sometimes hard coded into the terminal itself. Ctrl+S cannot be used as an normal editing key on such terminals.
In SAA mode, but not in a Windows userdata.sys, F3 is mapped to Esc. F3 is also mapped to Esc for some terminal types, because Esc is used as a leadin for a function key sequence and is not recognised.