---
name: "xkbcli-how-to-type"
section: "1"
platform: "linux"
package: "libxkbcommon"
version: "1.13.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/xkbcli-how-to-type"
---

# xkbcli-how-to-type(1)

query how to type a given Unicode code point or keysym

## NAME

**xkbcli-how-to-type** – query how to type a given Unicode code point or keysym

## SYNOPSIS

**xkbcli-how-to-type** \[options\] *character/code* *point/keysym*

## DESCRIPTION

**xkbcli-how-to-type** prints the key combinations (keycode + modifiers) in the keymap’s layouts which would produce the given Unicode code point or keysym.

*code* *point/keysym* is either:

- a single character (requires a terminal which uses UTF-8 character encoding);

- a Unicode code point, interpreted as hexadecimal if prefixed with 0x or U+ else as decimal;

- a keysym if either the previous interpretations failed or if **--keysym** is used. The parameter is then either a keysym *name* or a *numeric* value (hexadecimal if prefixed with 0x else decimal). Note that values 0 – 9 are special: they are both names and numeric values. The default interpretation is *names*; use the hexadecimal form 0x0 – 0x9 in order to interpret as numeric values.

## EXAMPLES

- **xkbcli-how-to-type** **--layout** *us* *97*

  - **xkbcli-how-to-type** **--layout** *us* *0x61*

  - **xkbcli-how-to-type** **--layout** *us* *U+0061*

  - **xkbcli-how-to-type** **--layout** *us* *a*

  Print the key combinations that produce the letter “a”( decimal code point: *97*, hexadecimal code point: *61*) in the default *us* layout.

- **xkbcli-how-to-type** **--layout** *us* **--keysym** *97*

  - **xkbcli-how-to-type** **--layout** *us* **--keysym** *0x61*

  - **xkbcli-how-to-type** **--layout** *us* **--keysym** *a*

  Print the key combinations that produce the keysym “a”( decimal code: *97*, hexadecimal code: *61*) in the default *us* layout.

## OPTIONS

- **--keysym**

  Treat the argument as only as a keysym

- **--disable-compose**

  Disable Compose support

- **--format** *keymap\_format*

  Specify the keymap format (numeric or label, e.g. “v1”)

- **--keymap** \[= *PATH*\]

  Load the XKB keymap from a file, ignore RMLVO options. If *PATH* is empty or “-”, read the stdin.

- **--rules** *rules*

  The XKB ruleset

- **--model** *model*

  The XKB model

- **--layout** *layout*

  The XKB layout

- **--variant** *variant*

  The XKB layout variant

- **--options** *options*

  The XKB options

- **--enable-environment-names**

  Allow to set the default RMLVO values via the following environment variables:

  - XKB\_DEFAULT\_RULES

  - XKB\_DEFAULT\_MODEL

  - XKB\_DEFAULT\_LAYOUT

  - XKB\_DEFAULT\_VARIANT

  - XKB\_DEFAULT\_OPTIONS

    Note that this option may affect the default values of the previous options.

- **--verbose**

  Enable verbose debugging output

- **--help**

  Print a help message and exit.

## SEE ALSO

[xkbcli(1)](/xkbcli/1.md), *The libxkbcommon online documentation:* **https://xkbcommon.org**
