---
name: "XmbResetIC"
section: "3"
platform: "linux"
package: "libx11"
version: "1.8.14-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XmbResetIC"
---

# XmbResetIC(3)

reset the state of an input context

## NAME

XmbResetIC, XwcResetIC, Xutf8ResetIC - reset the state of an input context

## SYNTAX

char \*XmbResetIC(XIC *ic*);

wchar\_t \*XwcResetIC(XIC *ic*);

char \*Xutf8ResetIC(XIC *ic*);

## ARGUMENTS

- *ic*

  Specifies the input context.

## DESCRIPTION

When **XNResetState** is set to **XIMInitialState**, **XmbResetIC**, **XwcResetIC** and **Xutf8ResetIC** reset an input context to its initial state; when **XNResetState** is set to **XIMPreserveState**, the current input context state is preserved. In both cases, any input pending on that context is deleted. The input method is required to clear the preedit area, if any, and update the status accordingly. Calling **XmbResetIC**, **XwcResetIC** or **Xutf8ResetIC** does not change the focus.

The return value of **XmbResetIC** is its current preedit string as a multibyte string. The return value of **XwcResetIC** is its current preedit string as a wide character string. The return value of **Xutf8ResetIC** is its current preedit string as an UTF-8 string. If there is any preedit text drawn or visible to the user, then these procedures must return a non-NULL string. If there is no visible preedit text, then it is input method implementation-dependent whether these procedures return a non-NULL string or NULL.

The client should free the returned string by calling **XFree**.

The function **Xutf8ResetIC** is an extension introduced by The XFree86 Project, Inc., in their 4.0.2 release. Its presence is indicated by the macro **X\_HAVE\_UTF8\_STRING**.

## SEE ALSO

[**XCreateIC**(3)](/XCreateIC/3.md), [**XOpenIM**(3)](/XOpenIM/3.md), [**XSetICFocus**(3)](/XSetICFocus/3.md), [**XSetICValues**(3)](/XSetICValues/3.md)\
 *Xlib - C Language X Interface*
