blob: 667d8cd312fed2a26bf5b886bd576b8c7d709b2a [file] [log] [blame]
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05301.\"***************************************************************************
micky3879b9f5e72025-07-08 18:04:53 -04002.\" Copyright 2018-2023,2024 Thomas E. Dickey *
3.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05304.\" *
5.\" Permission is hereby granted, free of charge, to any person obtaining a *
6.\" copy of this software and associated documentation files (the *
7.\" "Software"), to deal in the Software without restriction, including *
8.\" without limitation the rights to use, copy, modify, merge, publish, *
9.\" distribute, distribute with modifications, sublicense, and/or sell *
10.\" copies of the Software, and to permit persons to whom the Software is *
11.\" furnished to do so, subject to the following conditions: *
12.\" *
13.\" The above copyright notice and this permission notice shall be included *
14.\" in all copies or substantial portions of the Software. *
15.\" *
16.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
17.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
18.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
19.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
20.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
21.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
22.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
23.\" *
24.\" Except as contained in this notice, the name(s) of the above copyright *
25.\" holders shall not be used in advertising or otherwise to promote the *
26.\" sale, use or other dealings in this Software without prior written *
27.\" authorization. *
28.\"***************************************************************************
29.\"
30.\" Author: Thomas E. Dickey 1997
31.\"
micky3879b9f5e72025-07-08 18:04:53 -040032.\" $Id: define_key.3x,v 1.42 2024/03/16 15:35:01 tom Exp $
33.TH define_key 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053034.SH NAME
micky3879b9f5e72025-07-08 18:04:53 -040035\fB\%define_key\fP \-
36define a \fIcurses\fR keycode
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053037.SH SYNOPSIS
micky3879b9f5e72025-07-08 18:04:53 -040038.nf
39\fB#include <curses.h>
40.PP
41\fBint define_key(const char *\fIdefinition\fP, int \fIkeycode\fP);
42.fi
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053043.SH DESCRIPTION
micky3879b9f5e72025-07-08 18:04:53 -040044This is an extension to the \fIcurses\fP library.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053045It permits an application to define keycodes with their corresponding control
micky3879b9f5e72025-07-08 18:04:53 -040046strings,
47so that the \fI\%ncurses\fP library will interpret them just as it would
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053048the predefined codes in the terminfo database.
49.PP
micky3879b9f5e72025-07-08 18:04:53 -040050If \fIdefinition\fP is \fBNULL\fP,
51any existing one for the keycode is removed.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053052Similarly, if the given keycode is negative or zero, any existing string
53for the given definition is removed.
54.SH RETURN VALUE
micky3879b9f5e72025-07-08 18:04:53 -040055Either \fIkeycode\fP must be greater than zero,
56or \fIdefinition\fP must be non-\fBNULL\fP,
57otherwise \fBERR\fP is returned.
58\fBERR\fP may also be returned if there is insufficient memory to allocate the
Steve Kondikae271bc2015-11-15 02:50:53 +010059data to store the definition.
micky3879b9f5e72025-07-08 18:04:53 -040060If no error is detected, \fBOK\fP is returned.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053061.SH PORTABILITY
micky3879b9f5e72025-07-08 18:04:53 -040062These routines are specific to \fI\%ncurses\fP.
63They were not supported on
64Version 7, BSD or System V implementations.
65It is recommended that
66any code depending on them be conditioned using \fB\%NCURSES_VERSION\fP.
67.SH AUTHORS
68Thomas Dickey
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053069.SH SEE ALSO
micky3879b9f5e72025-07-08 18:04:53 -040070\fB\%keyok\fP(3X),
71\fB\%key_defined\fP(3X)