VMS Help
RTL Routines, SMG$, SMG$READ_KEYSTROKE
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
The Read a Single Character routine reads a keystroke and returns
that keystroke's terminator code.
Format
SMG$READ_KEYSTROKE keyboard-id ,word-terminator-code
[,prompt-string] [,timeout] [,display-id]
[,rendition-set] [,rendition-complement]
OpenVMS usage:cond_value
type: longword (unsigned)
access: write only
mechanism: by value
keyboard-id
OpenVMS usage:identifier
type: longword (unsigned)
access: read only
mechanism: by reference
Keyboard identifier. The keyboard-id argument is an unsigned
longword containing the identifier of the virtual keyboard from
which to read.
You can create a virtual keyboard by calling the SMG$CREATE_
VIRTUAL_KEYBOARD routine.
word-terminator-code
OpenVMS usage:word_unsigned
type: word (unsigned)
access: write only
mechanism: by reference
Key terminator code. The word-terminator-code argument is an
unsigned word into which is written a code indicating what
character or key terminated the read. Key terminator codes are
of the form SMG$K_TRM_keyname.
prompt-string
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Prompt string. The prompt-string argument is an optional string
used as the prompt for the read operation.
timeout
OpenVMS usage:longword_signed
type: longword (signed)
access: read only
mechanism: by reference
Timeout count. The timeout argument is optional. If specified,
any character typed before the timeout is returned in the buffer.
display-id
OpenVMS usage:identifier
type: longword (unsigned)
access: read only
mechanism: by reference
Display identifier. The optional display-id argument is the
address of an unsigned longword that contains the identifier
of the virtual display in which the read is to be performed.
If the optional prompt-string argument is specified while there
are multiple virtual displays pasted, the display-id argument is
required to determine in which virtual display the prompt string
will be written. If the prompt-string argument is not specified,
do not specify the display-id argument.
In the case of multiple virtual displays, each virtual display
has an associated virtual cursor position. At the same time,
there is a single physical cursor position corresponding to
the current location of the physical cursor. If the display-id
argument is specified, the read begins at the current virtual
cursor position in the specified virtual display. If display-
id is omitted, the read begins in the current physical cursor
position. Note that the length of the prompt-string plus the
key entered is limited to the number of visible columns in the
display.
rendition-set
OpenVMS usage:mask_longword
type: longword (unsigned)
access: read only
mechanism: by reference
Attribute specifier. The optional rendition-set argument is
the address of a longword bit mask in which each attribute set
causes the corresponding attribute to be set in the display. The
following attributes can be specified using the rendition-set
argument:
SMG$M_BLINK Displays blinking characters.
SMG$M_BOLD Displays characters in higher-than-normal
intensity.
SMG$M_REVERSE Displays characters in reverse video; that is,
using the opposite of the default rendition of
the virtual display.
SMG$M_ Displays underlined characters.
UNDERLINE
SMG$M_USER1 Displays user-defined attributes.
through
SMG$M_USER8
The display-id argument must be specified when you use the
rendition-set argument.
rendition-complement
OpenVMS usage:mask_longword
type: longword (unsigned)
access: read only
mechanism: by reference
Attribute complement specifier. The optional rendition-
complement argument is the address of a longword bit mask in
which each attribute set causes the corresponding attribute to
be complemented in the display. All of the attributes that can
be specified with the rendition-set argument can be complemented
with the rendition-complement argument. The display-id argument
must be specified when you use the rendition-complement argument.
The optional arguments rendition-set and rendition-complement
let the user control the attributes of the virtual display. The
rendition-set argument sets certain virtual display attributes,
while rendition-complement complements these attributes. If the
same bit is specified in both the rendition-set and rendition-
complement parameters, rendition-set is evaluated first, followed
by rendition-complement. By using these two parameters together,
the user can control each virtual display attribute in a single
procedure call. On a single-attribute basis, the user can cause
the following transformations:
Set Complement Action
0 0 Attribute set to default
1 0 Attribute on
0 1 Attribute set to complement of default setting
1 1 Attribute off
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.