---
name: "keybound"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/keybound"
---

# keybound(3)

get definition of a curses function key code

## NAME

**keybound** - get definition of a *curses* function key code

## SYNOPSIS

```
#include <curses.h>
```

**char \* keybound(int** *key-code***, int** *count***);**

## DESCRIPTION

**The** **keybound** *ncurses* **extension permits a** *curses* **application to obtain the value of the string** *bound* **to the function key** *key-code*; **see wgetch(3X)** **(wide-character API users: wget\_wch(3X)).** **By default,** **such bindings are string capabilities from the** *terminfo* **database entry corresponding to the terminal type.** **The application can non-destructively and repeatedly** **override such definitions with** **define\_key(3X),** **as if by pushing new definitions onto a stack.** **The** *count* **parameter accesses the** *n*th **most recently defined binding;** **0** **selects the binding that is used on input.**

## RETURN VALUE

**If** *key-code* **corresponds to a function key defined** **by the application** **or the terminal type in use,** **keybound** **allocates and returns a string** **that must be freed by the application.** **keybound** **returns** *NULL* **if** *key-code* **is not positive** **or if it does not correspond to a key code definition.**

## EXTENSIONS

**keybound** **is an** *ncurses* **extension.**

## PORTABILITY

**Applications employing** *ncurses* **extensions should condition their use on the visibility of the** **NCURSES\_VERSION** **preprocessor macro.**

## AUTHORS

**Thomas Dickey**

## SEE ALSO

**curses(3X),** **define\_key(3X),** **keyok(3X),** **key\_defined(3X),** **[terminfo(5)](/terminfo/5.md)**
