Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!pasteur!ucbvax!VAX02.AMS.COM!RAD
From: RAD@VAX02.AMS.COM (RichDeJordy@KL.SRI.COM:info-vax-RELAY@KL.SRI.COM,
        x295)
Newsgroups: comp.os.vms
Subject: Re: How to access function keys from programs?
Message-ID: <8806290839.AA11296@ucbvax.Berkeley.EDU>
Date: 23 Jun 88 20:50:03 GMT
References: <5930@auspyr.UUCP>
Sender: daemon@ucbvax.BERKELEY.EDU
Organization: The Internet
Lines: 33

Mike,

	It depends how far down you want to go!  

	The best manuals to read on this stuff are either the introductory
	sections of the system services manual, or the I/O user's guide
	(providing these still is such a beast).

	I just wrote a macro routine that uses $QIOW to read any single 
	key stroke and return it's ascii value.  (Actually that's not true.)

	It reads any single key or any function key and returns it's
	ascii value or a negative number of the key (for which I have 
	a chart) number... i.e. KP0 returns -40, KP1 returns -41.

	To simulate a single escape, escape is pressed twice, and a bad 
	escape sequence returns -50 (the error code) Key ranges are from
	1 -1 to -13, -17 to -21, -23 to -26, -28, -29, -31 to -49 and -50
	for an error code.

	this can be called as a function from higher level languages or
	in macro itself.  

	I can send it to you if you are interested.

Rich DeJordy
Systems Programmer
American Mathematical Society
201 Charles Street
Providence, RI 02140
(401) 272-9500
x295
-------