X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fhtml%2Fman%2Fcurs_util.3x.html;h=981a3725bff512c019053e8ded57c1f8585f3f9c;hb=f36e772702d4b512a4395e2db96470803485b6df;hp=ad619492b2b6d0bb28c41936a492180f01e4f6f0;hpb=027ae42953e3186daed8f3882da73de48291b606;p=ncurses.git diff --git a/doc/html/man/curs_util.3x.html b/doc/html/man/curs_util.3x.html index ad619492..981a3725 100644 --- a/doc/html/man/curs_util.3x.html +++ b/doc/html/man/curs_util.3x.html @@ -1,7 +1,7 @@ @@ -57,7 +57,7 @@ #include <curses.h> char *unctrl(chtype c); - char *wunctrl(cchar_t *c); + wchar_t *wunctrl(cchar_t *c); char *keyname(int c); char *key_name(wchar_t w); void filter(void); @@ -79,14 +79,35 @@ of a wide-character. The keyname routine returns a character string correspond- - ing to the key c. Control characters are displayed in the - ^X notation. Values above 128 are either meta characters, - shown in the M-X notation, or the names of function keys, - or null. The corresponding key_name returns a character - string corresponding to the wide-character value w. The - two functions do not return the same set of strings; the - latter returns null where the former would display a meta - character. + ing to the key c: + + - Printable characters are displayed as themselves, + e.g., a one-character string containing the key. + + - Control characters are displayed in the ^X notation. + + - DEL (character 127) is displayed as ^?. + + - Values above 128 are either meta characters (if the + screen has not been initialized, or if meta has been + called with a TRUE parameter), shown in the M-X no- + tation, or are displayed as themselves. In the lat- + ter case, the values may not be printable; this fol- + lows the X/Open specification. + + - Values above 256 may be the names of the names of + function keys. + + - Otherwise (if there is no corresponding name) the + function returns null, to denote an error. X/Open + also lists an "UNKNOWN KEY" return value, which some + implementations return rather than null. + + The corresponding key_name returns a character string cor- + responding to the wide-character value w. The two func- + tions do not return the same set of strings; the latter + returns null where the former would display a meta charac- + ter. The filter routine, if used, must be called before initscr or newterm are called. The effect is that, during those @@ -156,7 +177,27 @@ The XSI Curses standard, Issue 4 describes these func- tions. It states that unctrl and wunctrl will return a null pointer if unsuccessful, but does not define any er- - ror conditions. + ror conditions. This implementation checks for three cas- + es: + + - the parameter is a 7-bit US-ASCII code. This + is the case that X/Open Curses documented. + + - the parameter is in the range 128-159, i.e., a + C1 control code. If use_legacy_coding has + been called with a 2 parameter, unctrl returns + the parameter, i.e., a one-character string + with the parameter as the first character. + Otherwise, it returns ``~@'', ``~A'', etc., + analogous to ``^@'', ``^A'', C0 controls. + + X/Open Curses does not document whether unctrl + can be called before initializing curses. + This implementation permits that, and returns + the ``~@'', etc., values in that case. + + - parameter values outside the 0 to 255 range. + unctrl returns a null pointer. The SVr4 documentation describes the action of filter only in the vaguest terms. The description here is adapted @@ -169,11 +210,21 @@ implementations have different conventions. For example, they may show both sets of control characters with `^', and strip the parameter to 7 bits. Or they may ignore C1 - controls and treat all of the upper-1280 codes as print- + controls and treat all of the upper-128 codes as print- able. This implementation uses 8 bits but does not modify the string to reflect locale. The use_legacy_coding func- tion allows the caller to change the output of unctrl. + Likewise, the meta function allows the caller to change + the output of keyname, i.e., it determines whether to use + the `M-' prefix for ``meta'' keys (codes in the range 128 + to 255). Both use_legacy_coding and meta succeed only af- + ter curses is initialized. X/Open Curses does not docu- + ment the treatment of codes 128 to 159. When treating + them as ``meta'' keys (or if keyname is called before ini- + tializing curses), this implementation returns strings + ``M-^@'', ``M-^A'', etc. + The keyname function may return the names of user-defined string capabilities which are defined in the terminfo en- try via the -x option of tic. This implementation auto- @@ -181,18 +232,21 @@ strings which begin with "k". The keycodes start at KEY_MAX, but are not guaranteed to be the same value for different runs because user-defined codes are merged from - all terminal descriptions which have been loaded. - - The nofilter routine is specific to ncurses. It was not - supported on Version 7, BSD or System V implementations. - It is recommended that any code depending on ncurses ex- + all terminal descriptions which have been loaded. The + use_extended_names function controls whether this data is + loaded when the terminal description is read by the li- + brary. + + The nofilter routine is specific to ncurses. It was not + supported on Version 7, BSD or System V implementations. + It is recommended that any code depending on ncurses ex- tensions be conditioned using NCURSES_VERSION.

SEE ALSO

-       use_legacy_coding(3),    curses(3x),     curs_initscr(3x),
-       curs_kernel(3x), curs_scr_dump(3x).
+       legacy_coding(3x), curses(3x), curs_initscr(3x), curs_ker-
+       nel(3x), curs_scr_dump(3x), legacy_coding(3x).