---
name: "XkbKeyType"
section: "3"
platform: "linux"
package: "libx11-doc"
version: "2:1.8.4-2+deb12u2"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/XkbKeyType"
---

# XkbKeyType(3)

Obtain the index of a key type or the pointer to a key type

## NAME

XkbKeyType - Obtain the index of a key type or the pointer to a key type

## SYNOPSIS

**XkbKeyTypePtr XkbKeyType** **(XkbDescPtr** *xkb***,** **KeyCode** *keycode***,** **int** *group***);**

## ARGUMENTS

- *xkb*

  Xkb description of interest

- *keycode*

  keycode of interest

- *group*

  group index

## DESCRIPTION

*XkbKeyType* returns a pointer to the key type in the  *types* vector of the client map in  *xkb* corresponding to the given  *keycode* and  *group* index.

## STRUCTURES

```
typedef struct {                             /* Key Type */
	XkbModsRec              mods;           /* modifiers used to compute shift level */
	unsigned char           num_levels;     /* total # shift levels, do not modify directly */
	unsigned char           map_count;      /* # entries in map, preserve (if non-NULL) */
	XkbKTMapEntryPtr        map;            /* vector of modifiers for each shift level */
	XkbModsPtr              preserve;       /* mods to preserve for corresponding map entry */
	Atom                    name;           /* name of key type */
	Atom *                  level_names;    /* array of names of each shift level */
} XkbKeyTypeRec, *XkbKeyTypePtr;
```
