The Single UNIX ® Specification, Version 2
Copyright © 1997 The Open Group


keyname, key_name - get name of key


#include <curses.h>

char *keyname(int c);

char *key_name(wchar_t c);


The keyname() and key_name() functions generate a character string whose value describes the key c. The c argument of keyname() can be an 8-bit character or a key code. The c argument of key_name() must be a wide character.

The string has a format according to the first applicable row in the following table:

Input Format of Returned String
Visible character The same character
Control character ^X
Meta-character (keyname() only) M-X
Key value defined in <curses.h> (keyname() only) KEY_name
None of the above UNKNOWN KEY

The meta-character notation shown above is used only if meta-characters are enabled.


Upon successful completion, keyname() returns a pointer to a string as described above. Otherwise, it returns a null pointer.


No errors are defined.


The return value of keyname() and key_name() may point to a static area which is overwritten by a subsequent call to either of these functions.

Applications normally process meta-characters without storing them into a window. If an application stores meta-characters in a window and tries to retrieve them as wide characters, keyname() cannot detect meta-characters, since wide characters do not support meta-characters.


meta(), <curses.h>.

UNIX ® is a registered Trademark of The Open Group.
Copyright © 1997 The Open Group
[ Main Index | XSH | XCU | XBD | XCURSES | XNS ]