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]
1 – Returns
OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value
2 – Arguments
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