---
name: "termkey_lookup_keyname"
section: "3"
platform: "linux"
package: "libtermkey-dev"
version: "0.22-2+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/termkey_lookup_keyname"
---

# termkey\_lookup\_keyname(3)

look up a symbolic key value for a string name

## NAME

termkey\_lookup\_keyname - look up a symbolic key value for a string name

## SYNOPSIS

```
#include <termkey.h>

char *termkey_lookup_keyname(TermKey *tk, const char *keyname,
           TermKeySym *sym);
```

Link with *-ltermkey*.

## DESCRIPTION

**termkey\_lookup\_keyname**() looks up the symbolic key value represented by the given string name. This is a case-sensitive comparison. The symbolic value is written to the variable addressed by *sym*. This function is a more general form of [**termkey\_keyname2sym**(3)](/termkey_keyname2sym/3.md) because it can recognise a symbolic key name within a longer string, returning a pointer to the remainder of the input after the key name.

Because the key names are stored in an array indexed by the symbol number, this function has to perform a linear search of the names. Use of this function should be restricted to converting key names into symbolic values during a program's initialisation, so that efficient comparisons can be done while it is running.

## RETURN VALUE

**termkey\_lookup\_keyname**() returns a pointer to the first character after a recognised name, or **NULL** if the string does not begin with the name of a recognised symbolic key.

## SEE ALSO

[**termkey\_get\_keyname**(3)](/termkey_get_keyname/3.md), [**termkey\_keyname2sym**(3)](/termkey_keyname2sym/3.md), [**termkey\_strpkey**(3)](/termkey_strpkey/3.md), [**termkey**(7)](/termkey/7.md)
