---
name: "keyok"
section: "3ncurses"
platform: "linux"
package: "ncurses-doc"
version: "6.5+20250216-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/keyok/3ncurses"
---

# keyok(3ncurses)

enable or disable a curses function key code

## NAME

**keyok** - enable or disable a *curses* function key code

## SYNOPSIS

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

**int keyok(int** *key-code***, bool** *bf***);**

## DESCRIPTION

**The** **keyok** *ncurses* **extension permits a** *curses* **application to disable a function key** *key-code* **returned by wgetch(3NCURSES)** **(wide-character API users:** **wget\_wch(3NCURSES)).** **Key codes that have been disabled can be re-enabled.** *bf* **selects the desired enablement status.** **This operation is more fine-grained than calling keypad(3NCURSES),** **which affects** *all* **function keys.**

## RETURN VALUE

**keyok** **returns** **ERR** **if**

- •

  *key-code* **is nonpositive,**

- •

  *key-code* **is not a recognized value,** **or**

- •

  **enablement of** *key-code* **is already in the desired state.**

**Otherwise,** **keyok** **returns** **OK**.

## EXTENSIONS

**keyok** **is an** *ncurses* **extension.**

## PORTABILITY

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

**NetBSD** *curses* **since 2.0 (2004) supports** *keyok*.

## AUTHORS

**Thomas Dickey**

## SEE ALSO

**ncurses(3NCURSES),** **define\_key(3NCURSES),** **keybound(3NCURSES),** **keyok(3NCURSES),** **key\_defined(3NCURSES)**
