Subject: Re: ENTER keys

In message <538902171@KSINET.COM>, John.ksi@KSINET.COM says:
>
>  We're using MicroSoft's telnet software to connect to Stratus (VOS).
>  Using a VT100 emulator (yes, on both ends - I'm not THAT novice) we
>  find that the ENTER key (the key marked "Enter" on the PC's keypad)
>  does the same thing as the RETURN key (the key marked "Enter" on the
>  main part of the PC's keyboard) when it comes to working with CRT 
>  forms.
>  ...
>  (A) why do the RETURN and ENTER keys behave the same?
>  (B) how does one submit a completed CRT form with ONE keystroke?

To which <Paul_Green@vos.stratus.com> replied in message
<199502171715.MAA11104@transfer.stratus.com>:
|
|  You don't say which ttp you are using on VOS, but I will assume
|  it is the vt100.ttp file.
|  
|  The "keyboard" section of the vt100.ttp file defines the names
|  and key sequences used by the VT100 keys.  In it we find:
|
|       enter-key      Enter          esc O M


I have not used the Microsoft "telnet" application, but one standard
setup option in a DEC VT100 (or VT220, VT340, VT420, VT510, etc.) is
the "keypad mode"--what the behavior of the numeric keypad should be.

The two modes are "application" and "numeric".

In numeric mode, the various keypad keys send either the ASCII code
for decimal digits, or the ASCII code for the comma, period, or
hyphen, or (in the case of the keypad "Enter" key") the ASCII carriage
return control character (or CR/LF if so configured).

The "Enter" key behavior you describe is characteristic of numeric-
keypad mode.

The application mode is used by programs that don't need decimal
digits so much but need lots of user-activated software functions.
The DEC text-editing programs (EDT, EVE, etc.) are a classic example.
In application mode, the keypad keys send special Escape sequences
that chiefly begin with the so-called SS3 (single-shift G3) prefix,
which in 7-bit ASCII representation is the "Esc O".  (In 8-bit, SS3
is the single code hexadecimal 8F.)

The following chart summarizes the possible codes (7-bit) generated by
the DEC terminals' keypad:

 Keypad Key    Numeric Mode   Application Mode
 ----------    ------------   ----------------
    0                0            Esc O p
    1                1            Esc O q
    2                2            Esc O r
    3                3            Esc O s
    4                4            Esc O t
    5                5            Esc O u
    6                6            Esc O v
    7                7            Esc O w
    8                8            Esc O x
    9                9            Esc O y
    -                -            Esc O m
    ,                ,            Esc O l
    .                .            Esc O n
    Enter      carriage return    Esc O M
    PF1           Esc O P         Esc O P
    PF2           Esc O Q         Esc O Q
    PF3           Esc O R         Esc O R
    PF4           Esc O S         Esc O S


 was intended for use by programs that




This is a matter that my site has encountered in a slightly different form.

Article 2620 of comp.protocols.kermit.misc:
Path: cs.utk.edu!cssun.mathcs.emory.edu!hobbes.cc.uga.edu!news-feed-1.peachnet.edu!gatech!swrinde!cs.utexas.edu!news.cs.utah.edu!cc.usu.edu!jrd
From: jrd@cc.usu.edu (Joe Doupnik)
Newsgroups: comp.protocols.kermit.misc
Subject: Re: Defining functional keys
Message-ID: <1995Apr22.122257.48276@cc.usu.edu>
Date: 22 Apr 95 12:22:57 MDT
References: <3n5307$jdd@kaie.va.ttu.ee>
Organization: Utah State University
Lines: 109

In article <3n5307$jdd@kaie.va.ttu.ee>, uuno@sofia.va.ttu.ee (Uuno Vallner) writes:
> We try to use KERMIT DOS as terminal. We have Novel and  Unix 
> mixed network. We try access to OSF/1 via IPX using Softnet in OSF/1.
> 
> We defined Kermit port bios3. It works perfectly. We need to use estonian 
> characters. We are resolved this problem too. But ...
> 
> We use application in OSF/1 (text retrieval system trip), which needs 
> for operating Application keypad (7,8. 9 ..1,0 ...)and some functional keys.
> But Kermit are using 7 as "home"
> 
> Kermit interpreted non correct functional keys. After pressing f1, system 
> sends only ESC , after next f1 follows code and new ESC. Same effect is with
> array keys. 
--------------

	I think there is some confusion about DEC versus IBM PC keys.
The relationship is detailed in distribution file MSVIBM.VT and also
in the user's manual book "Using MS-DOS Kermit." The IBM PC numeric
keypad keys are not necessarily related to the DEC KeyPad keys. Here
is a cutout from my copy of msvibm.vt:


1. VT320/VT102/VT52/Heath-19 EMULATOR IN MS-DOS KERMIT IBM-PC, CODE SUMMARY
 
           VT320/VT102 keypads		Heath-19 and VT52 Keypads     
              IBM keys       		    IBM Keys                   
   +------+------+------+------+  +------+------+-------+----------+
   |  PF1 |  PF2 |  PF3 |  PF4 |  | Blue |  Red |  Grey | up arrow | - Vendor
   |  F1  |  F2  |  F3  |  F4  |  |  F1  |  F2  |  F3   | up arrow | - Kermit
   +------+------+------+------+  +------+------+-------+----------+
   |  7   |  8   |  9   |  -   |  |  7   |  8   |  9    |down arrow|
   |  F5  |  F6  |  F7  |  F8  |  |  F5  |  F6  |  F7   |down arrow|
   +------+------+------+------+  +------+------+-------+----------+
   |  4   |  5   |  6   |  ,   |  |  4   |  5   |  6    | rgt arrow|
   |  F9  |  F10 |  SF1 |  SF2 |  |  F9  |  F10 |  SF1  | rgt arrow|
   +------+------+------+------+  +------+------+-------+----------+
   |  1   |  2   |  3   |  E   |  |  1   |  2   |  3    |left arrow|
   |  SF3 |  SF4 |  SF5 |  n  S|  |  SF3 |  SF4 |  SF5  |left arrow|
   +------+------+------+  t  F|  +------+------+-------+----------+
   |  0------0   |  .   |  e  6|  |  0------0   |  .    |  Enter   |
   |   SF7       |  SF8 |  r   |  |  SF7        |  SF8  |  SF6     |
   +-------------+------+------+  +-------------+-------+----------+
 
SF1 means push Shift and F1 keys simultaneously
---------------------------------------------------------------------------
Below, the acronyms CSI and SS3 stand for 8-bit control codes in an 8-bit
environment or for their 7-bit equivalents "ESC [" and "ESC O", respectively.
Command SET TERMINAL CONTROL {8-BIT | 7-BIT}, and an equivalent command from
the host, determines the usage for output text; use of parity forces 7-bit
mode.  CSI is decimal 155, SS3 is decimal 143.  Similarly, DCS is decimal 144
or ESC P and ST is decimal 156 or ESC \.  APC is decimal 159 or ESC _.
---------------------------------------------------------------------------
Codes sent by DEC and Heath arrow keys
Key		Verb	IBM	VT320/VT102 mode	VT52/H19 mode
			key	Cursor	Application	Cursor or Application

up		uparr	up	CSI A	SS3 A		ESC A
down		dnarr	down	CSI B	SS3 B		ESC B
right		rtarr	right	CSI C	SS3 C		ESC C
left		lfarr	left	CSI D	SS3 D		ESC D

Codes sent by DEC editing keys, not preassigned to keys.
Key		Verb		VT320 mode		VT102/VT52/H19 mode

Find		decFind		CSI 1 ~			these keys
Insert Here	decInsert	CSI 2 ~			 send nothing
Remove		decRemove	CSI 3 ~
Select		decSelect	CSI 4 ~
Prev Screen	decPrev		CSI 5 ~
Next Screen	decNext		CSI 6 ~			~ is ASCII chart 7/14

Codes sent by DEC Numeric Keypad
Key		Verb	IBM	ANSI VT320/VT102 mode	VT52/H19 mode
			key	Numeric	Application	Numeric	Application

PF1/HF7/Blue   Gold,pf1 F1	SS3 P	SS3 P		ESC P	ESC P
PF2/HF8/Red 	pf2	F2	SS3 Q	SS3 Q		ESC Q	ESC Q
PF3/HF9/Grey	pf3	F3	SS3 R	SS3 R		ESC R	ESC R
PF4/HF1     	pf4	F4	SS3 S	SS3 S		ESC S	ESC S
0		kp0	SF7	0	SS3 p		0	ESC ? p
1		kp1	SF3	1	SS3 q		1	ESC ? q
2		kp2	SF4	2	SS3 r		2	ESC ? r
3		kp3	SF5	3	SS3 s		3	ESC ? s
4		kp4	F9	4	SS3 t		4	ESC ? t
5		kp5	F10	5	SS3 u		5	ESC ? u
6		kp6	SF1	6	SS3 v		6	ESC ? v
7		kp7	F5	7	SS3 w		7	ESC ? w
8		kp8	F6	8	SS3 x		8	ESC ? x
9		kp9	F7	9	SS3 y		9	ESC ? y
comma (,)	kpcoma	SF2	,	SS3 l		,	ESC ? l
minus (-)	kpminus	F8	-	SS3 m		-	ESC ? m
period (.)	kpdot	SF8	.	SS3 n		.	ESC ? n
Enter		kpenter	SF6	CR or	SS3 M		CR or	ESC ? M
				CR LF	(newline on)	CR LF
 (SFn means hold down Shift key while pressing Function key n.)
---------------

	Please note that \Kkp0...\Kkp0 are placed on IBM PC function
keys by default. You can redefine such things using Kermit command
SET KEY, as discussed in depth in "Using MS-DOS Kermit."
	I don't quite understand why you are using SET PORT BIOS3. Do
you have some Int 14h interceptor present to route traffic to the net?
For real serial ports BIOS3 is terrible. If you are using Novell's ODI
material then Kermit can operate as a native ODI client (using it's
internal TCP/IP stack). This is discussed in the release notes.
	Joe D.




