I use the carrot ^ (above the number 6) followed by a capital C:   ^C   for 
Ctrl-c on the 3270 console.
 

-----Original Message-----
From: Linux on 390 Port [mailto:[email protected]] On Behalf Of Clovis 
Pereira
Sent: Sunday, April 04, 2010 4:27 PM
To: [email protected]
Subject: Re: How to enter control characters from an EBCDIC keyboard?

Hi,
Sometimes, I forgot to type the cont parameter using the ping command on a
3215 terminal (example: ping -c 4 <ip.address>). In 3215 terminals, ping 
without a count result in a forever command. The unique way to stop it (al 
least the unique I know, without terminate the session) is a Ctrl-C. In this 
case, I open a Notepad session, click a Ctrl-C pair (^C), paste and copy it in 
the 3215 session, so stoping the ping command. Obviously, I use it on a PC and 
using a 3270 emulator that supports copy/paste.
I think a Notepad session and copy/past can be useful.
Regards, Clovis.




From:
karl williamson <[email protected]>
To:
[email protected]
Date:
04/03/2010 12:41 AM
Subject:
Re: How to enter control characters from an EBCDIC keyboard?
Sent by:
Linux on 390 Port <[email protected]>



David Boyes wrote:
>> I'm working on EBCDIC support for Perl 5.  I'm not familiar with 
>> EBCDIC terminals, but apparently there are asynchronous ones.
>
> Very, VERY rare -- to the point of almost non-existent. The 3270 is 
> the
primary terminal type, and it's half-duplex, page-oriented. The older line-mode 
terminal (the 3215) is emulated, and pretty much behaves as a dumb TTY.
>
>> How can one enter a control character from such a terminal?  On ASCII 
>> terminals, pressing the Ctrl key and another at the same time 
>> generates a control sequence.  Since H is the eighth letter of the 
>> alphabet, CTRL-H sends 8, which is a backspace on ASCII platforms.  
>> Is there something similar that happens on EBCDIC?
>
> The convention to enter a control character is to use the digraph
'^<letter>' (EBCDIC not or cent sign (depending on code page) + character) and 
have apps translate that to the appropriate code point. The issue is that 
control characters in a 3270 world don't work the way they do on byte-oriented 
terminals, so they're rare (if not almost non-existent) in the 3270 
environment. In the rare event a control character is used, it's almost always 
represented as a hex value in a string (for example to enable color or 
highlighting), and those don't occur as control characters.
>

I don't understand the above.  On ASCII terminals, often a control is printed 
as '^<letter.', but entering requires pressing two keys at the same time.  It 
seems like you are saying that the terminal will send a control character 
whenever a not or cent or maybe caret is typed whenever followed by a letter.  
If so, how then does one enter these three characters literally?  And where 
could I find a mapping to look at, a sample for one of the code pages?

>> The few EBCDIC code pages that I'm familiar with have 65 controls: 0 
>> to 0x1F plus 0xFF.  Are all 65 enterable from the keyboard?
>
> See above.
>
>> I see from the archives that there are some problems between the 
>> ASCII LF (or NL) and the EBCDIC NEL.  Is there a rule of thumb for 
>> which of these, or both, should mean a new-line, matching, say, '\n' 
>> in the C language?
>
> On a page-oriented terminal, the concept is somewhat difficult to
represent. Writing a newline doesn't actually update the screen until you 
rewrite the page. On the older terminals (3215), the equivalent would be 
processing a CR/LF pair. In fact, you pretty much need to assume that all 
line-oriented I/O has exactly the function of a TTY. No cursor positioning, 
nothing smarter than a TTY.
>
>> Also, in looking at the Perl 5 source code, it is clear to me that no 
>> one is running modern Perl versions on EBCDIC platforms, because it 
>> wouldn't work.  But I can't imagine a Linux system without Perl.  
>> Could someone explain?
>
> Linux on z is an ASCII system. Perl works just like it does elsewhere.
Ditto with OpenSolaris for Z.
>
> There isn't anything in the Z hardware that dictates the use of
particular character sets; it's just what you program it to recognize as 
character graph 'A'. IBM has included machine instructions to help process 
EBCDIC data, but that's for the convenience of OSes who choose to code data 
that way.
>
> I guess I would ask "what kind of EBCDIC support are you creating"?
Other than providing a string translation function (to_ascii, or to_ebcdic), 
I'm not sure what EBCDIC support for Perl would mean. Perl already has a 
codepage mapping toolset, and there are a number of EBCDIC variations, so the 
question of "which EBCDIC?" comes up. Are you porting Perl to a specific IBM 
OS? If so, that might be a very different set of questions.
>
> -- db
>
> ----------------------------------------------------------------------
> For LINUX-390 subscribe / signoff / archive access instructions, send 
> email to [email protected] with the message: INFO LINUX-390 or
visit
> http://www.marist.edu/htbin/wlvindex?LINUX-390
>

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions, send email to 
[email protected] with the message: INFO LINUX-390 or visit 
http://www.marist.edu/htbin/wlvindex?LINUX-390



----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions, send email to 
[email protected] with the message: INFO LINUX-390 or visit 
http://www.marist.edu/htbin/wlvindex?LINUX-390

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

Reply via email to