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

# termkey\_interpret\_position(3)

interpret opaque cursor position event data

## NAME

termkey\_interpret\_position - interpret opaque cursor position event data

## SYNOPSIS

```
#include <termkey.h>

TermKeyResult termkey_interpret_position(TermKey *tk, const TermKeyKey *key,
    int *line, int *col);
```

Link with *-ltermkey*.

## DESCRIPTION

**termkey\_interpret\_position**() fills in variables in the passed pointers according to the cursor position report event found in *key*. It should be called if [**termkey\_getkey**(3)](/termkey_getkey/3.md) or similar have returned a key event with the type of **TERMKEY\_TYPE\_POSITION**.

Any pointer may instead be given as **NULL** to not return that value.

The *line* and *col* variables will be filled in with the cursor position, indexed from 1. Note that due to the limited number of bytes in the **TermKeyKey** structure, the line and column numbers are limited to 2047 and 4095 respectively.

## RETURN VALUE

If passed a *key* event of the type **TERMKEY\_TYPE\_POSITION**, this function will return **TERMKEY\_RES\_KEY** and will affect the variables whose pointers were passed in, as described above.

For other event types it will return **TERMKEY\_RES\_NONE**, and its effects on any variables whose pointers were passed in, are undefined.

## SEE ALSO

[**termkey\_waitkey**(3)](/termkey_waitkey/3.md), [**termkey\_getkey**(3)](/termkey_getkey/3.md), [**termkey**(7)](/termkey/7.md)
