- <STRONG>o</STRONG> The naming convention may seem obscure, with some apparent
- misspellings (such as "RSUME" for "resume"). The names correspond
- to the long terminfo capability names for the keys, and were
- defined long ago, in the 1980s.
-
- <STRONG>Name</STRONG> <STRONG>Key</STRONG> <STRONG>name</STRONG>
- -------------------------------------------------
- KEY_BREAK Break key
- KEY_DOWN The four arrow keys ...
- KEY_UP
- KEY_LEFT
- KEY_RIGHT
- KEY_HOME Home key (upward+left arrow)
- KEY_BACKSPACE Backspace
- KEY_F0 Function keys; space for 64 keys
- is reserved.
- KEY_F(<EM>n</EM>) For 0 <= <EM>n</EM> <= 63
- KEY_DL Delete line
- KEY_IL Insert line
- KEY_DC Delete character
- KEY_IC Insert char or enter insert mode
- KEY_EIC Exit insert char mode
- KEY_CLEAR Clear screen
- KEY_EOS Clear to end of screen
- KEY_EOL Clear to end of line
- KEY_SF Scroll 1 line forward
- KEY_SR Scroll 1 line backward (reverse)
- KEY_NPAGE Next page
- KEY_PPAGE Previous page
- KEY_STAB Set tab
- KEY_CTAB Clear tab
- KEY_CATAB Clear all tabs
- KEY_ENTER Enter or send
- KEY_SRESET Soft (partial) reset
- KEY_RESET Reset or hard reset
- KEY_PRINT Print or copy
-
- KEY_LL Home down or bottom (lower left)
- KEY_A1 Upper left of keypad
- KEY_A3 Upper right of keypad
- KEY_B2 Center of keypad
- KEY_C1 Lower left of keypad
- KEY_C3 Lower right of keypad
- KEY_BTAB Back tab key
- KEY_BEG Beg(inning) key
- KEY_CANCEL Cancel key
- KEY_CLOSE Close key
- KEY_COMMAND Cmd (command) key
- KEY_COPY Copy key
- KEY_CREATE Create key
- KEY_END End key
- KEY_EXIT Exit key
- KEY_FIND Find key
- KEY_HELP Help key
- KEY_MARK Mark key
- KEY_MESSAGE Message key
- KEY_MOUSE Mouse event occurred
- KEY_MOVE Move key
- KEY_NEXT Next object key
- KEY_OPEN Open key
- KEY_OPTIONS Options key
- KEY_PREVIOUS Previous object key
- KEY_REDO Redo key
- KEY_REFERENCE Ref(erence) key
- KEY_REFRESH Refresh key
- KEY_REPLACE Replace key
- KEY_RESIZE Screen resized
- KEY_RESTART Restart key
- KEY_RESUME Resume key
- KEY_SAVE Save key
- KEY_SBEG Shifted beginning key
- KEY_SCANCEL Shifted cancel key
- KEY_SCOMMAND Shifted command key
- KEY_SCOPY Shifted copy key
- KEY_SCREATE Shifted create key
- KEY_SDC Shifted delete char key
- KEY_SDL Shifted delete line key
- KEY_SELECT Select key
- KEY_SEND Shifted end key
- KEY_SEOL Shifted clear line key
- KEY_SEXIT Shifted exit key
- KEY_SFIND Shifted find key
- KEY_SHELP Shifted help key
- KEY_SHOME Shifted home key
- KEY_SIC Shifted insert key
- KEY_SLEFT Shifted left arrow key
- KEY_SMESSAGE Shifted message key
- KEY_SMOVE Shifted move key
- KEY_SNEXT Shifted next key
- KEY_SOPTIONS Shifted options key
- KEY_SPREVIOUS Shifted prev key
- KEY_SPRINT Shifted print key
- KEY_SREDO Shifted redo key
- KEY_SREPLACE Shifted replace key
- KEY_SRIGHT Shifted right arrow key
- KEY_SRSUME Shifted resume key
- KEY_SSAVE Shifted save key
- KEY_SSUSPEND Shifted suspend key
- KEY_SUNDO Shifted undo key
- KEY_SUSPEND Suspend key
- KEY_UNDO Undo key
-
- Keypad is arranged like this:
-
- +-----+------+-------+
- | <STRONG>A1</STRONG> | <STRONG>up</STRONG> | <STRONG>A3</STRONG> |
- +-----+------+-------+
- |<STRONG>left</STRONG> | <STRONG>B2</STRONG> | <STRONG>right</STRONG> |
- +-----+------+-------+
- | <STRONG>C1</STRONG> | <STRONG>down</STRONG> | <STRONG>C3</STRONG> |
- +-----+------+-------+
- A few of these predefined values do <EM>not</EM> correspond to a real key:
-
- <STRONG>o</STRONG> <STRONG>KEY_RESIZE</STRONG> is returned when the <STRONG>SIGWINCH</STRONG> signal has been detected
- (see <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>). This code is returned
- whether or not <STRONG>keypad</STRONG> has been enabled.
-
- <STRONG>o</STRONG> <STRONG>KEY_MOUSE</STRONG> is returned for mouse-events (see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>). This
- code relies upon whether or not <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> has been enabled,
- because (e.g., with <STRONG>xterm(1)</STRONG> mouse prototocol) <EM>ncurses</EM> must read
- escape sequences, just like a function key.
+ <STRONG>o</STRONG> The naming convention may seem obscure, with some apparent
+ misspellings (such as "RSUME" for "resume"); The names correspond
+ to the <EM>terminfo</EM> capability names for the keys, and were
+ standardized before the IBM PC/AT keyboard layout achieved a
+ dominant position in industry.
+
+ <STRONG>Symbol</STRONG> <STRONG>Key</STRONG> <STRONG>name</STRONG>
+ -----------------------------------------------------------------
+ <STRONG>KEY_BREAK</STRONG> Break key
+ <STRONG>KEY_DOWN</STRONG>
+ <STRONG>KEY_UP</STRONG> Arrow keys
+ <STRONG>KEY_LEFT</STRONG>
+ <STRONG>KEY_RIGHT</STRONG>
+ <STRONG>KEY_HOME</STRONG> Home key (upward+left arrow)
+ <STRONG>KEY_BACKSPACE</STRONG> Backspace
+ <STRONG>KEY_F0</STRONG> Function keys; space for 64 keys is reserved
+ <STRONG>KEY_F(</STRONG><EM>n</EM><STRONG>)</STRONG> Function key <EM>n</EM> where 0 <= <EM>n</EM> <= 63
+
+ <STRONG>KEY_DL</STRONG> Delete line
+ <STRONG>KEY_IL</STRONG> Insert line
+ <STRONG>KEY_DC</STRONG> Delete character
+ <STRONG>KEY_IC</STRONG> Insert character/Enter insert mode
+ <STRONG>KEY_EIC</STRONG> Exit insert character mode
+ <STRONG>KEY_CLEAR</STRONG> Clear screen
+ <STRONG>KEY_EOS</STRONG> Clear to end of screen
+ <STRONG>KEY_EOL</STRONG> Clear to end of line
+ <STRONG>KEY_SF</STRONG> Scroll one line forward
+ <STRONG>KEY_SR</STRONG> Scroll one line backward (reverse)
+ <STRONG>KEY_NPAGE</STRONG> Next page/Page up
+ <STRONG>KEY_PPAGE</STRONG> Previous page/Page down
+ <STRONG>KEY_STAB</STRONG> Set tab
+ <STRONG>KEY_CTAB</STRONG> Clear tab
+ <STRONG>KEY_CATAB</STRONG> Clear all tabs
+ <STRONG>KEY_ENTER</STRONG> Enter/Send
+ <STRONG>KEY_SRESET</STRONG> Soft (partial) reset
+ <STRONG>KEY_RESET</STRONG> (Hard) reset
+ <STRONG>KEY_PRINT</STRONG> Print/Copy
+ <STRONG>KEY_LL</STRONG> Home down/Bottom (lower left)
+ <STRONG>KEY_A1</STRONG> Upper left of keypad
+ <STRONG>KEY_A3</STRONG> Upper right of keypad
+ <STRONG>KEY_B2</STRONG> Center of keypad
+ <STRONG>KEY_C1</STRONG> Lower left of keypad
+ <STRONG>KEY_C3</STRONG> Lower right of keypad
+ <STRONG>KEY_BTAB</STRONG> Back tab key
+ <STRONG>KEY_BEG</STRONG> Beg(inning) key
+ <STRONG>KEY_CANCEL</STRONG> Cancel key
+ <STRONG>KEY_CLOSE</STRONG> Close key
+ <STRONG>KEY_COMMAND</STRONG> Cmd (command) key
+ <STRONG>KEY_COPY</STRONG> Copy key
+ <STRONG>KEY_CREATE</STRONG> Create key
+ <STRONG>KEY_END</STRONG> End key
+ <STRONG>KEY_EXIT</STRONG> Exit key
+ <STRONG>KEY_FIND</STRONG> Find key
+ <STRONG>KEY_HELP</STRONG> Help key
+ <STRONG>KEY_MARK</STRONG> Mark key
+ <STRONG>KEY_MESSAGE</STRONG> Message key
+ <STRONG>KEY_MOUSE</STRONG> Mouse event occurred
+ <STRONG>KEY_MOVE</STRONG> Move key
+ <STRONG>KEY_NEXT</STRONG> Next object key
+ <STRONG>KEY_OPEN</STRONG> Open key
+ <STRONG>KEY_OPTIONS</STRONG> Options key
+ <STRONG>KEY_PREVIOUS</STRONG> Previous object key
+ <STRONG>KEY_REDO</STRONG> Redo key
+ <STRONG>KEY_REFERENCE</STRONG> Ref(erence) key
+ <STRONG>KEY_REFRESH</STRONG> Refresh key
+ <STRONG>KEY_REPLACE</STRONG> Replace key
+ <STRONG>KEY_RESIZE</STRONG> Screen resized
+ <STRONG>KEY_RESTART</STRONG> Restart key
+ <STRONG>KEY_RESUME</STRONG> Resume key
+ <STRONG>KEY_SAVE</STRONG> Save key
+ <STRONG>KEY_SELECT</STRONG> Select key
+ <STRONG>KEY_SUSPEND</STRONG> Suspend key
+ <STRONG>KEY_UNDO</STRONG> Undo key
+ -----------------------------------------------------------------
+ <STRONG>KEY_SBEG</STRONG> Shifted beginning key
+ <STRONG>KEY_SCANCEL</STRONG> Shifted cancel key
+ <STRONG>KEY_SCOMMAND</STRONG> Shifted command key
+ <STRONG>KEY_SCOPY</STRONG> Shifted copy key
+ <STRONG>KEY_SCREATE</STRONG> Shifted create key
+ <STRONG>KEY_SDC</STRONG> Shifted delete character key
+ <STRONG>KEY_SDL</STRONG> Shifted delete line key
+ <STRONG>KEY_SEND</STRONG> Shifted end key
+ <STRONG>KEY_SEOL</STRONG> Shifted clear line key
+
+ <STRONG>KEY_SEXIT</STRONG> Shifted exit key
+ <STRONG>KEY_SFIND</STRONG> Shifted find key
+ <STRONG>KEY_SHELP</STRONG> Shifted help key
+ <STRONG>KEY_SHOME</STRONG> Shifted home key
+ <STRONG>KEY_SIC</STRONG> Shifted insert key
+ <STRONG>KEY_SLEFT</STRONG> Shifted left arrow key
+ <STRONG>KEY_SMESSAGE</STRONG> Shifted message key
+ <STRONG>KEY_SMOVE</STRONG> Shifted move key
+ <STRONG>KEY_SNEXT</STRONG> Shifted next object key
+ <STRONG>KEY_SOPTIONS</STRONG> Shifted options key
+ <STRONG>KEY_SPREVIOUS</STRONG> Shifted previous object key
+ <STRONG>KEY_SPRINT</STRONG> Shifted print key
+ <STRONG>KEY_SREDO</STRONG> Shifted redo key
+ <STRONG>KEY_SREPLACE</STRONG> Shifted replace key
+ <STRONG>KEY_SRIGHT</STRONG> Shifted right arrow key
+ <STRONG>KEY_SRSUME</STRONG> Shifted resume key
+ <STRONG>KEY_SSAVE</STRONG> Shifted save key
+ <STRONG>KEY_SSUSPEND</STRONG> Shifted suspend key
+ <STRONG>KEY_SUNDO</STRONG> Shifted undo key
+
+ The keypad is arranged as follows.
+
+ +-----+------+-------+
+ | A1 | up | A3 |
+ +-----+------+-------+
+ |left | B2 | right |
+ +-----+------+-------+
+ | C1 | down | C3 |
+ +-----+------+-------+
+ Two of these symbols do <EM>not</EM> correspond to a real key.
+
+ <STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns <STRONG>KEY_RESIZE</STRONG> (even if the window's keypad mode is
+ disabled) when <EM>ncurses</EM> detects the <STRONG>SIGWINCH</STRONG> signal; see <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>
+ and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
+
+ <STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns <STRONG>KEY_MOUSE</STRONG> to indicate that a mouse event is pending
+ collection; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>. Receipt of this code requires a
+ window's keypad mode to be enabled, because to interpret mouse
+ input (as with with <STRONG>xterm(1)</STRONG>'s mouse prototocol), <EM>ncurses</EM> must read
+ an escape sequence, as with a function key.