<!--
* t
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: user_caps.5,v 1.44 2023/12/30 21:36:32 tom Exp @
+ * @Id: user_caps.5,v 1.47 2024/01/13 22:05:39 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>user_caps 5 2023-12-30 ncurses 6.4 File formats</TITLE>
+<TITLE>user_caps 5 2024-01-13 ncurses 6.4 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">user_caps 5 2023-12-30 ncurses 6.4 File formats</H1>
+<H1 class="no-header">user_caps 5 2024-01-13 ncurses 6.4 File formats</H1>
<PRE>
<STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> File formats <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
Applications can use the <EM>naming</EM> <EM>convention</EM> established for <STRONG>xterm</STRONG> to
find these special keys in the terminal description.
- Starting with the curses convention that <EM>key</EM> <EM>names</EM> begin with "k" and
- that shifted special keys are an uppercase name, <EM>ncurses</EM>' terminal
- database defines these names to which a suffix is added:
-
- <STRONG>Name</STRONG> <STRONG>Description</STRONG>
- ---------------------------------------------------------------
- kDC special form of kdch1 (delete character)
- kDN special form of kcud1 (cursor down)
- kEND special form of kend (End)
- kHOM special form of khome (Home)
- kLFT special form of kcub1 (cursor-left or cursor-back)
- kNXT special form of knext (Next, or Page-Down)
- kPRV special form of kprev (Prev, or Page-Up)
- kRIT special form of kcuf1 (cursor-right, or cursor-forward)
- kUP special form of kcuu1 (cursor-up)
+ Starting with the <EM>curses</EM> convention that capability codes describing
+ the input generated by a terminal's key caps begin with "k", and that
+ shifted special keys use uppercase letters in their names, <EM>ncurses</EM>'s
+ terminal database defines the following names and codes to which a
+ suffix is added.
+
+ <STRONG>Code</STRONG> <STRONG>Description</STRONG>
+ -------------------------------------------------------------------
+ <STRONG>kDC</STRONG> shifted kdch1 (delete character)
+ <STRONG>kDN</STRONG> shifted kcud1 (cursor down)
+ <STRONG>kEND</STRONG> shifted kend (end)
+ <STRONG>kHOM</STRONG> shifted khome (home)
+ <STRONG>kLFT</STRONG> shifted kcub1 (cursor back)
+ <STRONG>kNXT</STRONG> shifted knext (next)
+ <STRONG>kPRV</STRONG> shifted kprev (previous)
+ <STRONG>kRIT</STRONG> shifted kcuf1 (cursor forward)
+ <STRONG>kUP</STRONG> shifted kcuu1 (cursor up)
+
+ Keycap nomenclature on the Unix systems for which <EM>curses</EM> was developed
+ differs from today's ubiquitous descendants of the IBM PC/AT keyboard
+ layout. In the foregoing, interpret "backward" as "left", "forward" as
+ "right", "next" as "page down", and "prev(ious)" as "page up".
These are the suffixes used to denote the modifiers:
15 Meta + Ctrl + Alt
16 Meta + Ctrl + Alt + Shift
- None of these are predefined; terminal descriptions can refer to <EM>names</EM>
+ None of these are predefined; terminal descriptions can refer to <EM>names</EM>
which <EM>ncurses</EM> will allocate at runtime to <EM>key-codes</EM>. To use these keys
in an <EM>ncurses</EM> program, an application could do this:
- <STRONG>o</STRONG> using a list of extended key <EM>names</EM>, ask <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG> for their
+ <STRONG>o</STRONG> using a list of extended key <EM>names</EM>, ask <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG> for their
values, and
- <STRONG>o</STRONG> given the list of values, ask <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> for the <EM>key-code</EM>
+ <STRONG>o</STRONG> given the list of values, ask <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> for the <EM>key-code</EM>
which would be returned for those keys by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The "-x" extension feature of <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> has been adopted in
- NetBSD curses. That implementation stores user-defined capabilities,
+ The "-x" extension feature of <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> has been adopted in
+ NetBSD curses. That implementation stores user-defined capabilities,
but makes no use of these capabilities itself.
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
The terminal database section <EM>NCURSES</EM> <EM>USER-DEFINABLE</EM> <EM>CAPABILITIES</EM>
- summarizes commonly-used user-defined capabilities which are used in
- the terminal descriptions. Some of those features are mentioned in
+ summarizes commonly-used user-defined capabilities which are used in
+ the terminal descriptions. Some of those features are mentioned in
<STRONG>screen(1)</STRONG> or <STRONG>tmux(1)</STRONG>.
- <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> provides further information on the <STRONG>xterm(1)</STRONG>
+ <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> provides further information on the <STRONG>xterm(1)</STRONG>
features that are used in these extended capabilities.
-ncurses 6.4 2023-12-30 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+ncurses 6.4 2024-01-13 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>