---
name: "XmImMbLookupString"
section: "3"
platform: "linux"
package: "openmotif"
version: "2.3.8-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XmImMbLookupString"
---

# XmImMbLookupString(3)

An input manager function that retrieves a composed string from an input method

## NAME

**XmImMbLookupString** — An input manager function that retrieves a composed string from an input method

## SYNOPSIS

```
#include <Xm/XmIm.h>
int XmImMbLookupString(
Widget widget,
XKeyPressedEvent *event,
char *buffer_return,
int bytes_buffer,
KeySym *keysym_return,
int *status_return);
```

## DESCRIPTION

**XmImMbLookupString** returns a string composed in the locale associated with the widget's input method and a KeySym that is currently mapped to the keycode in a KeyPress event. The KeySym is obtained by using the standard interpretation of Shift, Lock and Group modifiers as defined in the X Protocol specification.

An XIM will be created, but an XIC will not be created. One of the functions, **XmImSetValues**, **XmImVaSetValues**, or **XmImGetXIC**, needs to be called to create an XIC.

- *widget*

  Specifies the ID of the widget registered with the input manager

- *event*

  Specifies the key press event

- *buffer\_return*

  Specifies the buffer in which the string is returned

- *bytes\_buffer*

  Specifies the size of the buffer in bytes

- *keysym\_return*

  Specifies a pointer to the KeySym returned if one exists

- *status\_return*

  Specifies the status values returned by the function. These status values are the same as those for the **XmbLookupString** function. The possible status values are:

  - **XBufferOverflow**

    The size of the buffer was insufficient to handle the returned string. The contents of *buffer\_return* and *keysym\_return* are not modified. The required buffer size is returned as a value of the function. The client should repeat the call with a larger buffer size to receive the string.

  - **XLookupNone**

    No consistent input was composed. The contents of *buffer\_return* and *keysym\_return* are not modified and the function returns a value of 0.

  - **XLookupChars**

    Some input characters were composed and returned in *buffer\_return*. The content of *keysym\_return* is not modified. The function returns the length of the string in bytes.

  - **XLookupKeysym**

    A keysym value was returned instead of a string. The content of *buffer\_return* is not modified and the function returns a value of 0.

  - **XLookupBoth**

    A keysym value and a string were returned. The keysym value may not necessarily correspond to the string returned. The function returns the length of the string in bytes.

## RETURN

Return values depend on the status returned by the function. Refer to the description of status values above.

## RELATED

[**XmImGetXIM**(3)](/XmImGetXIM/3.md), [**XmImGetXIC**(3)](/XmImGetXIC/3.md), [**XmImRegister**(3)](/XmImRegister/3.md), [**XmImSetValues**(3)](/XmImSetValues/3.md), and [**XmImUnregister**(3)](/XmImUnregister/3.md).
