Trailing-Edge
-
PDP-10 Archives
-
BB-AE97C-BM
-
sources/keypad.bli
There are 10 other files named keypad.bli in the archive. Click here to see a list.
%TITLE 'KEYPAD - keypad definitions'
MODULE KEYPAD ( ! Keypad definitions
IDENT = '3-001' ! File: KEYPAD.BLI Edit: GB3001
) =
BEGIN
!
! COPYRIGHT (c) 1980, 1985, 1981 BY
! DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
! ALL RIGHTS RESERVED.
!
! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
! ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
! INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
! COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
! OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
! TRANSFERRED.
!
! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
! AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
! CORPORATION.
!
! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
!
!++
! FACILITY: EDT -- The DEC Standard Editor
!
! ABSTRACT:
!
! This routine will contain the routines to initialize the keypad
! translation table. It also contains the default definitions for
! for the keys.
!
! ENVIRONMENT: Used in all EDT configurations.
!
! AUTHOR: T. Mitchell
!
! MODIFIED BY:
!
! Dan Szymanski, 30-JUL-80, 01
!
! Tables modified so that the default definitions
! for GOLD A, D, E, T, U, W, and Z are the same as corresponding
! CONTROL char. Definitions for accent and grave removed.
!
! 2-002 - Regularized the module and routine headers. JBS 13-Feb-1981
! 2-003 - Extraneous definitions for accent and grave deleted. Default
! keypad definitions for GOLD <- and GOLD -> (for VT100) deleted.
! DJS 17-Feb-1981
! 2-004 - Corrected a minor error in the header. JBS 25-Feb-1981
! 2-005 - Fix module name. JBS 10-Mar-1981
! 2-006 - Don't make keypad text global. JBS 30-Mar-1981
! 2-007 - Use the new message codes. JBS 04-Aug-1981
! 2-008 - Add documentation for HELP indices. SMB 19-Nov-1981
! 2-009 - EDT$DEFK returns a status. JBS 18-May-1982
! 2-010 - Change call to OUT_MSG to MSG_BELL. SMB 17-Jun-1982
! 2-011 - Correct the ident. JBS 01-Jul-1982
! 2-012 - Take extra spaces out of GOLD 7 key definition. SMB 22-Jul-1982
! 2-013 - Add GOLD and revise the format of the tables for the new
! implementation of defined keys. JBS 13-Aug-1982
! 2-014 - Make GOLD GOLD = GOLD, for compatibility. JBS 18-Aug-1982
! 2-015 - Make ESC insert an escape, for compatibility. JBS 03-Sep-1982
! 2-016 - Add conditional for VT220 support. JBS 11-Feb-1983
! 3-001 - Modify for Tops10/20 version. GB 02-Jun-1983
!--
%SBTTL 'Declarations'
!
! TABLE OF CONTENTS:
!
REQUIRE 'EDTSRC:TRAROUNAM';
FORWARD ROUTINE
EDT$$DEF_DFLTK; ! Define a lot of keys
!
! INCLUDE FILES:
!
REQUIRE 'EDTSRC:EDTREQ';
LIBRARY 'EDTSRC:KEYPADDEF';
LIBRARY 'EDTSRC:SUPPORTS';
!
! MACROS:
!
! NONE
!
! EQUATED SYMBOLS:
!
! NONE
!
! OWN STORAGE:
!
! NONE
!
! EXTERNAL REFERENCES:
!
! In the routine
!<BLF/PAGE>
!+
! Define the default translations for the editing keys.
!-
BIND
T_GOLD = UPLIT (%STRING (%CHAR (4), 'GOLD')),
T_WORD = UPLIT (%STRING (%CHAR (2), 'W.')),
T_BL = UPLIT (%STRING (%CHAR (3), 'BL.')),
T_EOL = UPLIT (%STRING (%CHAR (3), 'EL.')),
T_LINE = UPLIT (%STRING (%CHAR (2), 'L.')),
T_CHAR = UPLIT (%STRING (%CHAR (2), 'C.')),
T_UNDC = UPLIT (%STRING (%CHAR (5), 'UNDC.')),
T_UNDW = UPLIT (%STRING (%CHAR (5), 'UNDW.')),
T_UNDL = UPLIT (%STRING (%CHAR (5), 'UNDL.')),
T_EXIT = UPLIT (%STRING (%CHAR (3), 'EX.')),
T_BR = UPLIT (%STRING (%CHAR (3), 'BR.')),
T_ER = UPLIT (%STRING (%CHAR (3), 'ER.')),
T_CUT = UPLIT (%STRING (%CHAR (6), 'CUTSR.')),
T_PASTE = UPLIT (%STRING (%CHAR (6), 'PASTE.')),
T_REPLACE = UPLIT (%STRING (%CHAR (19), 'CUTSR=DELETE PASTE.')),
T_APPEND = UPLIT (%STRING (%CHAR (9), 'APPENDSR.')),
T_FIND = UPLIT (%STRING (%CHAR (18), %CHAR (0), '?''Search for: ''',
%CHAR (0), '.')),
T_NEXT = UPLIT (%STRING (%CHAR (3), '"".')),
T_ADV = UPLIT (%STRING (%CHAR (4), 'ADV.')),
T_BACK = UPLIT (%STRING (%CHAR (5), 'BACK.')),
T_UP = UPLIT (%STRING (%CHAR (3), '-V.')),
T_DOWN = UPLIT (%STRING (%CHAR (3), '+V.')),
T_RIGHT = UPLIT (%STRING (%CHAR (3), '+C.')),
T_LEFT = UPLIT (%STRING (%CHAR (3), '-C.')),
T_SEL = UPLIT (%STRING (%CHAR (4), 'SEL.')),
T_DEL = UPLIT (%STRING (%CHAR (5), 'D+NL.')),
T_DELW = UPLIT (%STRING (%CHAR (4), 'DEW.')),
T_DELC = UPLIT (%STRING (%CHAR (4), 'D+C.')),
T_OPEN = UPLIT (%STRING (%CHAR (7), '(^M-C).')),
T_DEOL = UPLIT (%STRING (%CHAR (5), 'D+EL.')),
T_DBL = UPLIT (%STRING (%CHAR (4), 'DBL.')),
T_DBW = UPLIT (%STRING (%CHAR (4), 'DBW.')),
T_PAGE = UPLIT (%STRING (%CHAR (8), 'PAGETOP.')),
T_SECT = UPLIT (%STRING (%CHAR (6), '(16L).')),
T_RUBC = UPLIT (%STRING (%CHAR (4), 'D-C.')),
T_ITAB = UPLIT (%STRING (%CHAR (4), 'TAB.')),
T_TD = UPLIT (%STRING (%CHAR (3), 'TD.')),
T_TI = UPLIT (%STRING (%CHAR (3), 'TI.')),
T_TC = UPLIT (%STRING (%CHAR (3), 'TC.')),
T_ICR = UPLIT (%STRING (%CHAR (3), '^M.')),
T_IFF = UPLIT (%STRING (%CHAR (3), '^L.')),
T_COM = UPLIT (%STRING (%CHAR (17), 'EXT ?''Command: ''.')),
T_REF = UPLIT (%STRING (%CHAR (4), 'REF.')),
T_SUBS = UPLIT (%STRING (%CHAR (25), '(CUTSR=DELETE PASTEKS"").')),
T_RESET = UPLIT (%STRING (%CHAR (5), 'RESET')),
T_ENTER = UPLIT (%STRING (%CHAR (1), '.')),
T_ASC = UPLIT (%STRING (%CHAR (4), 'ASC.')),
T_CHGC = UPLIT (%STRING (%CHAR (7), 'CHGCSR.')),
T_HELP = UPLIT (%STRING (%CHAR (5), 'HELP.')),
T_SHR = UPLIT (%STRING (%CHAR (4), 'SHR.')),
T_SHL = UPLIT (%STRING (%CHAR (4), 'SHL.')),
T_FILL = UPLIT (%STRING (%CHAR (7), 'FILLSR.')),
T_DEF = UPLIT (%STRING (%CHAR (5), 'DEFK.')),
T_TADJ = UPLIT (%STRING (%CHAR (7), 'TADJSR.')),
%IF SUPPORT_VT220
%THEN
T_PREV_SCR = UPLIT (%STRING (%CHAR (7), '(-16L).')),
T_NEXT_SCR = UPLIT (%STRING (%CHAR (7), '(+16L).')),
%FI
T_ESC = UPLIT (%STRING (%CHAR (8), '(27ASC).'));
!<BLF/PAGE>
!+
! These are the default keypad definitions for the VT100. (#) = index into
! help file
!-
BIND
VT100_TABLE = UPLIT ( !
ASC_K_DEL, T_RUBC - T_GOLD, ! (127) DEL key
K_KPAD_BASE + 0, T_LINE - T_GOLD, ! (300) 0
K_KPAD_BASE + 1, T_WORD - T_GOLD, ! (301) 1
K_KPAD_BASE + 2, T_EOL - T_GOLD, ! (302) 2
K_KPAD_BASE + 3, T_CHAR - T_GOLD, ! (303) 3
K_KPAD_BASE + 4, T_ADV - T_GOLD, ! (304) 4
K_KPAD_BASE + 5, T_BACK - T_GOLD, ! (305) 5
K_KPAD_BASE + 6, T_CUT - T_GOLD, ! (306) 6
K_KPAD_BASE + 7, T_PAGE - T_GOLD, ! (307) 7
K_KPAD_BASE + 8, T_SECT - T_GOLD, ! (308) 8
K_KPAD_BASE + 9, T_APPEND - T_GOLD, ! (309) 9
K_KPAD_BASE + 10, T_HELP - T_GOLD, ! (310) PF2
K_KPAD_BASE + 11, T_NEXT - T_GOLD, ! (311) PF3
K_KPAD_BASE + 12, T_UP - T_GOLD, ! (312) UP ARROW
K_KPAD_BASE + 13, T_DOWN - T_GOLD, ! (313) DOWN ARROW
K_KPAD_BASE + 14, T_RIGHT - T_GOLD, ! (314) RIGHT ARROW
K_KPAD_BASE + 15, T_LEFT - T_GOLD, ! (315) LEFT ARROW
K_KPAD_BASE + 16, T_SEL - T_GOLD, ! (316) .
K_KPAD_BASE + 17, T_DEL - T_GOLD, ! (317) PF4
K_KPAD_BASE + 18, T_DELW - T_GOLD, ! (318) -
K_KPAD_BASE + 19, T_DELC - T_GOLD, ! (319) ,
K_KPAD_BASE + 20, T_GOLD - T_GOLD, ! (320) PF1
K_KPAD_BASE + 21, T_ENTER - T_GOLD, ! (321) ENTER
K_KPAD_BASE + K_GOLD_BASE + 0, T_OPEN - T_GOLD, ! (800) GOLD 0
K_KPAD_BASE + K_GOLD_BASE + 1, T_CHGC - T_GOLD, ! (801) GOLD 1
K_KPAD_BASE + K_GOLD_BASE + 2, T_DEOL - T_GOLD, ! (802) GOLD 2
K_KPAD_BASE + K_GOLD_BASE + 3, T_ASC - T_GOLD, ! (803) GOLD 3
K_KPAD_BASE + K_GOLD_BASE + 4, T_ER - T_GOLD, ! (804) GOLD 4
K_KPAD_BASE + K_GOLD_BASE + 5, T_BR - T_GOLD, ! (805) GOLD 5
K_KPAD_BASE + K_GOLD_BASE + 6, T_PASTE - T_GOLD, ! (806) GOLD 6
K_KPAD_BASE + K_GOLD_BASE + 7, T_COM - T_GOLD, ! (807) GOLD 7
K_KPAD_BASE + K_GOLD_BASE + 8, T_FILL - T_GOLD, ! (808) GOLD 8
K_KPAD_BASE + K_GOLD_BASE + 9, T_REPLACE - T_GOLD, ! (809) GOLD 9
K_KPAD_BASE + K_GOLD_BASE + 10, T_HELP - T_GOLD, ! (810) GOLD PF2
K_KPAD_BASE + K_GOLD_BASE + 11, T_FIND - T_GOLD, ! (811) GOLD PF3
K_KPAD_BASE + K_GOLD_BASE + 16, T_RESET - T_GOLD, ! (816) GOLD .
K_KPAD_BASE + K_GOLD_BASE + 17, T_UNDL - T_GOLD, ! (817) GOLD PF4
K_KPAD_BASE + K_GOLD_BASE + 18, T_UNDW - T_GOLD, ! (818) GOLD -
K_KPAD_BASE + K_GOLD_BASE + 19, T_UNDC - T_GOLD, ! (819) GOLD ,
K_KPAD_BASE + K_GOLD_BASE + 20, T_GOLD - T_GOLD, ! (820) GOLD PF1
K_KPAD_BASE + K_GOLD_BASE + 21, T_SUBS - T_GOLD, ! (821) GOLD ENTER
%C'A' - 64, T_TC - T_GOLD, ! (1) CNTRL A
%C'D' - 64, T_TD - T_GOLD, ! (4) CNTRL D
%C'E' - 64, T_TI - T_GOLD, ! (5) CNTRL E
ASC_K_BS, T_BL - T_GOLD, ! (8) CNTRL H
ASC_K_TAB, T_ITAB - T_GOLD, ! (9) CNTRL I
ASC_K_LF, T_DBW - T_GOLD, ! (10) CNTRL J
ASC_K_CTRL_K, T_DEF - T_GOLD, ! (11) CNTRL K
ASC_K_FF, T_IFF - T_GOLD, ! (12) CNTRL L
ASC_K_CR, T_ICR - T_GOLD, ! (13) CNTRL M
%C'R' - 64, T_REF - T_GOLD, ! (18) CNTRL R
%C'T' - 64, T_TADJ - T_GOLD, ! (19) CNTRL T
ASC_K_CTRL_U, T_DBL - T_GOLD, ! (20) CNTRL U
%C'W' - 64, T_REF - T_GOLD, ! (22) CNTRL W
ASC_K_CTRL_Z, T_EXIT - T_GOLD, ! (25) CNTRL Z
ASC_K_ESC, T_ESC - T_GOLD, ! (27) ESC
K_GOLD_BASE + %C'A', T_TC - T_GOLD, ! (565) GOLD A
K_GOLD_BASE + %C'D', T_TD - T_GOLD, ! (568) GOLD D
K_GOLD_BASE + %C'E', T_TI - T_GOLD, ! (569) GOLD E
K_GOLD_BASE + %C'R', T_REF - T_GOLD, ! (582) GOLD R
K_GOLD_BASE + %C'T', T_TADJ - T_GOLD, ! (584) GOLD T
K_GOLD_BASE + %C'U', T_DBL - T_GOLD, ! (585) GOLD U
K_GOLD_BASE + %C'W', T_REF - T_GOLD, ! (587) GOLD W
K_GOLD_BASE + %C'Z', T_EXIT - T_GOLD, ! (590) GOLD Z
%IF SUPPORT_VT220 %THEN
K_FUN_BASE + 28, T_HELP - T_GOLD, ! (428) HELP
K_FUN_BASE + 29, T_ENTER - T_GOLD, ! (429) DO
K_FUN_BASE + 1, T_FIND - T_GOLD, ! (401) FIND
K_FUN_BASE + 2, T_PASTE - T_GOLD, ! (402) INSERT HERE
K_FUN_BASE + 3, T_CUT - T_GOLD, ! (403) REMOVE
K_FUN_BASE + 4, T_SEL - T_GOLD, ! (404) SELECT
K_FUN_BASE + 5, T_PREV_SCR - T_GOLD, ! (405) PREV SCREEN
K_FUN_BASE + 6, T_NEXT_SCR - T_GOLD, ! (406) NEXT SCREEN
K_FUN_BASE + 24, T_BL - T_GOLD, ! (424) F12 (used as BS)
K_FUN_BASE + 25, T_DBW - T_GOLD, ! (425) F13 (used as LF)
%FI
K_KEY_MAX + 1) : VECTOR [];
!<BLF/PAGE>
!+
! Default key definitions for VT52.
!-
BIND
VT52_TABLE = UPLIT ( !
ASC_K_DEL, T_RUBC - T_GOLD, ! (127) DEL key
K_KPAD_BASE + 0, T_LINE - T_GOLD, ! (300) 0
K_KPAD_BASE + 1, T_WORD - T_GOLD, ! (301) 1
K_KPAD_BASE + 2, T_EOL - T_GOLD, ! (302) 2
K_KPAD_BASE + 3, T_CUT - T_GOLD, ! (303) 3
K_KPAD_BASE + 4, T_ADV - T_GOLD, ! (304) 4
K_KPAD_BASE + 5, T_BACK - T_GOLD, ! (305) 5
K_KPAD_BASE + 6, T_DELC - T_GOLD, ! (306) 6
K_KPAD_BASE + 7, T_PAGE - T_GOLD, ! (307) 7
K_KPAD_BASE + 8, T_NEXT - T_GOLD, ! (308) 8
K_KPAD_BASE + 9, T_DELW - T_GOLD, ! (309) 9
K_KPAD_BASE + 10, T_HELP - T_GOLD, ! (310) PF2 (RED)
K_KPAD_BASE + 11, T_DEL - T_GOLD, ! (311) PF3 (GREY)
K_KPAD_BASE + 12, T_UP - T_GOLD, ! (312) UP ARROW
K_KPAD_BASE + 13, T_DOWN - T_GOLD, ! (313) DOWN ARROW
K_KPAD_BASE + 14, T_RIGHT - T_GOLD, ! (314) RIGHT ARROW
K_KPAD_BASE + 15, T_LEFT - T_GOLD, ! (315) LEFT ARROW
K_KPAD_BASE + 16, T_SEL - T_GOLD, ! (316) .
K_KPAD_BASE + 20, T_GOLD - T_GOLD, ! (320) PF1 (BLUE)
K_KPAD_BASE + 21, T_ENTER - T_GOLD, ! (321) ENTER
K_KPAD_BASE + K_GOLD_BASE + 0, T_OPEN - T_GOLD, ! (800) GOLD 0
K_KPAD_BASE + K_GOLD_BASE + 1, T_CHGC - T_GOLD, ! (801) GOLD 1
K_KPAD_BASE + K_GOLD_BASE + 2, T_DEOL - T_GOLD, ! (802) GOLD 2
K_KPAD_BASE + K_GOLD_BASE + 3, T_PASTE - T_GOLD, ! (803) GOLD 3
K_KPAD_BASE + K_GOLD_BASE + 4, T_ER - T_GOLD, ! (804) GOLD 4
K_KPAD_BASE + K_GOLD_BASE + 5, T_BR - T_GOLD, ! (805) GOLD 5
K_KPAD_BASE + K_GOLD_BASE + 6, T_UNDC - T_GOLD, ! (806) GOLD 6
K_KPAD_BASE + K_GOLD_BASE + 7, T_COM - T_GOLD, ! (807) GOLD 7
K_KPAD_BASE + K_GOLD_BASE + 8, T_FIND - T_GOLD, ! (808) GOLD 8
K_KPAD_BASE + K_GOLD_BASE + 9, T_UNDW - T_GOLD, ! (809) GOLD 9
K_KPAD_BASE + K_GOLD_BASE + 10, T_HELP - T_GOLD, ! (810) GOLD PF2 (RED)
K_KPAD_BASE + K_GOLD_BASE + 11, T_UNDL - T_GOLD, ! (811) GOLD PF3 (GREY)
K_KPAD_BASE + K_GOLD_BASE + 12, T_REPLACE - T_GOLD, ! (812) GOLD UP
K_KPAD_BASE + K_GOLD_BASE + 13, T_SECT - T_GOLD, ! (813) GOLD DOWN
K_KPAD_BASE + K_GOLD_BASE + 14, T_ASC - T_GOLD, ! (814) GOLD RIGHT
K_KPAD_BASE + K_GOLD_BASE + 15, T_APPEND - T_GOLD, ! (815) GOLD LEFT
K_KPAD_BASE + K_GOLD_BASE + 16, T_RESET - T_GOLD, ! (816) GOLD .
K_KPAD_BASE + K_GOLD_BASE + 20, T_GOLD - T_GOLD, ! (820) GOLD PF1 (BLUER
K_KPAD_BASE + K_GOLD_BASE + 21, T_SUBS - T_GOLD, ! (821) GOLD ENTER
%C'A' - 64, T_TC - T_GOLD, ! (1) CNTRL A
%C'D' - 64, T_TD - T_GOLD, ! (4) CNTRL D
%C'E' - 64, T_TI - T_GOLD, ! (5) CNTRL E
%C'F' - 64, T_FILL - T_GOLD, ! (6) CNTRL F
ASC_K_BS, T_BL - T_GOLD, ! (8) CNTRL H
ASC_K_TAB, T_ITAB - T_GOLD, ! (9) CNTRL I
ASC_K_LF, T_DBW - T_GOLD, ! (10) CNTRL J
ASC_K_CTRL_K, T_DEF - T_GOLD, ! (11) CNTRL K
ASC_K_FF, T_IFF - T_GOLD, ! (12) CNTRL L
ASC_K_CR, T_ICR - T_GOLD, ! (13) CNTRL M
%C'R' - 64, T_REF - T_GOLD, ! (18) CNTRL R
%C'S' - 64, T_TADJ - T_GOLD, ! (20) CNTRL T
ASC_K_CTRL_U, T_DBL - T_GOLD, ! (21) CNTRL U
%C'W' - 64, T_REF - T_GOLD, ! (23) CNTRL W
ASC_K_CTRL_Z, T_EXIT - T_GOLD, ! (26) CNTRL Z
ASC_K_ESC, T_ESC - T_GOLD, ! (27) ESC
K_GOLD_BASE + %C'A', T_TC - T_GOLD, ! (565) GOLD A
K_GOLD_BASE + %C'D', T_TD - T_GOLD, ! (568) GOLD D
K_GOLD_BASE + %C'E', T_TI - T_GOLD, ! (569) GOLD E
K_GOLD_BASE + %C'F', T_FILL - T_GOLD, ! (570) GOLD F
K_GOLD_BASE + %C'R', T_REF - T_GOLD, ! (582) GOLD R
K_GOLD_BASE + %C'T', T_TADJ - T_GOLD, ! (584) GOLD T
K_GOLD_BASE + %C'U', T_DBL - T_GOLD, ! (585) GOLD U
K_GOLD_BASE + %C'W', T_REF - T_GOLD, ! (587) GOLD W
K_GOLD_BASE + %C'Z', T_EXIT - T_GOLD, ! (590) GOLD Z
K_KEY_MAX + 1) : VECTOR [];
%SBTTL 'EDT$$DEF_DFLTK - Define the default keypad'
GLOBAL ROUTINE EDT$$DEF_DFLTK ! Define the default keypad
=
!+
! FUNCTIONAL DESCRIPTION:
!
! Define the default keypad, for either the VT100 or the VT52. Any keys
! already defined are left alone.
!
! FORMAL PARAMETERS:
!
! NONE
!
! IMPLICIT INPUTS:
!
! NONE
!
! IMPLICIT OUTPUTS:
!
! TRN_TBLINIT Set to 1 to indicate that the table is initialized
!
! ROUTINE VALUE:
!
! 1 = success, even value = an error from EDT$$DEFK
!
! SIDE EFFECTS:
!
! NONE
!
!-
BEGIN
EXTERNAL ROUTINE
EDT$$DEFK, ! Define a key
EDT$$FIND_KEY; ! Find the definition of a key
EXTERNAL
TRN_TBLINIT, ! Set to 1 after the table is initialized
TI_TYP; ! The type of terminal
LOCAL
TABLE : REF VECTOR [],
I;
!+
! Point to the proper table.
!-
SELECTONE .TI_TYP OF
SET
[TERM_VT52] :
TABLE = VT52_TABLE;
[TERM_VT100] :
TABLE = VT100_TABLE;
[OTHERWISE] :
RETURN (1); ! Don't mark the table initialized until we have a scope
TES;
I = 0;
WHILE (.TABLE [.I] NEQ K_KEY_MAX + 1) DO
BEGIN
LOCAL
STATUS,
TEXT_PTR,
KEY_PTR : REF BLOCK [ ] FIELD (KEY_DEF_FIELD);
IF ( NOT EDT$$FIND_KEY (.TABLE [.I], KEY_PTR))
THEN
BEGIN
TEXT_PTR = CH$PTR (T_GOLD + .TABLE [.I + 1]);
STATUS = EDT$$DEFK (.TABLE [.I], CH$PLUS (.TEXT_PTR, 1), CH$RCHAR (.TEXT_PTR));
IF ( NOT .STATUS) THEN RETURN (.STATUS);
END;
I = .I + 2;
END;
TRN_TBLINIT = 1;
RETURN (1);
END; ! of routine EDT$$DEF_DFLTK
!<BLF/PAGE>
END ! of module EDT$KEYPAD
ELUDOM