.\"*************************************************************************** .\" Copyright 2018-2023,2024 Thomas E. Dickey * .\" Copyright 1998-2010,2017 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * .\" "Software"), to deal in the Software without restriction, including * .\" without limitation the rights to use, copy, modify, merge, publish, * .\" distribute, distribute with modifications, sublicense, and/or sell * .\" copies of the Software, and to permit persons to whom the Software is * .\" furnished to do so, subject to the following conditions: * .\" * .\" The above copyright notice and this permission notice shall be included * .\" in all copies or substantial portions of the Software. * .\" * .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * .\" * .\" Except as contained in this notice, the name(s) of the above copyright * .\" holders shall not be used in advertising or otherwise to promote the * .\" sale, use or other dealings in this Software without prior written * .\" authorization. * .\"*************************************************************************** .\" .\" Author: Thomas E. Dickey 1997 .\" .\" $Id: define_key.3x,v 1.44 2024/05/18 20:04:21 tom Exp $ .TH define_key 3X 2024-05-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls" . .de bP .ie n .IP \(bu 4 .el .IP \(bu 2 .. . .SH NAME \fB\%define_key\fP \- define a \fIcurses\fP function key code .SH SYNOPSIS .nf \fB#include .PP \fBint define_key(const char * \fIdefinition\fP, int \fIkey-code\fP); .fi .SH DESCRIPTION The .B \%define_key .I \%ncurses extension permits a .I curses application to .I bind a string .I definition to the function key .I key-code returned by \fB\%wgetch\fP(3X) (wide-character API users: \fB\%wget_wch\fP(3X)) when \fB\%keypad\fP(3X) is enabled in a window and a function key is pressed. .I \%ncurses interprets such a binding as it does those in the .I \%term\%info database entry for the terminal type. .PP A .I definition of .B NULL removes any existing one .IR key-code "." Similarly, a non-positive .I key-code removes any existing bindings for .IR definition "." .SH RETURN VALUE .B \%define_key returns .B ERR if .bP .I definition is .B NULL and .I key-code is nonpositive, or .bP insufficient memory is available to bind .I definition to .IR key-code "." .PP Otherwise, .B \%define_key returns .BR OK "." .SH EXTENSIONS .B \%define_key is an .I \%ncurses extension. .SH PORTABILITY Applications employing .I \%ncurses extensions should condition their use on the visibility of the .B \%NCURSES_VERSION preprocessor macro. .PP NetBSD .I curses since 2.0 (2004) supports .BR \%define_key "." .SH AUTHORS Thomas Dickey .SH SEE ALSO \fB\%ncurses\fP(3X), \fB\%keyok\fP(3X), \fB\%key_defined\fP(3X), \fB\%keybound\fP(3X), \fB\%keyok\fP(3X), \fB\%terminfo\fP(5)