## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iKeyComposer Struct Reference
[Event handling]

Keyboard input handler. More...

`#include <iutil/csinput.h>`

Inheritance diagram for iKeyComposer:

[legend]
List of all members.

## Public Member Functions

virtual csKeyComposeResult | HandleKey (const csKeyEventData &keyEventData, utf32_char *buf, size_t bufChars, int *resultChars=0)=0
| Handle keyboard input.
virtual void | ResetState ()=0
| Reset the composer's internal state.

## Detailed Description

Keyboard input handler.

Definition at line 61 of file csinput.h.

## Member Function Documentation

virtual csKeyComposeResult iKeyComposer::HandleKey | ( | const csKeyEventData & | keyEventData,
|  | utf32_char * | buf,
|  | size_t | bufChars,
|  | int * | resultChars = `0`
| ) | `[pure virtual]`

Handle keyboard input.

Converts the input to characters, if possible. If the key passed in is a dead key, it will be stored internally and affect the returned data of the subsequent keypress.

Parameters:

  | keyEventData | Information from a keyboard event.
  | buf | Buffer to store the output in. Should be at least contain 2 characters (however, the method will work with smaller buffers as well.)
  | bufChars | Number of characters the output buffer is actually sized.
  | resultChars | If not 0, returns the number of characters written to the output buffer.

Returns:
  The type of character(s) that has been written to the output buffer.

Implemented in csKeyComposer.

virtual void iKeyComposer::ResetState | ( |  | ) | `[pure virtual]`

| Reset the composer's internal state. Specifically, it will clear any stored dead key - the next key won't be combined with it. Implemented in csKeyComposer.

The documentation for this struct was generated from the following file:

- iutil/csinput.h