PlatformTextInputService

Interface

Common

Deprecated Use PlatformTextInputModifierNode instead.

interface PlatformTextInputService

Platform specific text input service.

Functions

fun startInput(
        value: TextFieldValue,
        imeOptions: ImeOptions,
        onEditCommand: (List<EditCommand>) -> Unit,
        onImeActionPerformed: (ImeAction) -> Unit,
    )

Start text input session for given client.

fun startInput()

Restart input and show the keyboard. This should only be called when starting a new PlatformTextInputModifierNode.textInputSession.

fun stopInput()

Stop text input session.

fun showSoftwareKeyboard()

Request showing onscreen keyboard

There is no guarantee nor callback of the result of this API.

fun hideSoftwareKeyboard()

Hide software keyboard

fun updateState(oldValue: TextFieldValue?, newValue: TextFieldValue)

Notify the new editor model to IME.

fun notifyFocusedRect(rect: Rect)

Notify the focused rectangle to the system.

The system can ignore this information or use it to for additional functionality.

For example, desktop systems show a popup near the focused input area (for some languages).

fun updateTextLayoutResult(
        textFieldValue: TextFieldValue,
        offsetMapping: OffsetMapping,
        textLayoutResult: TextLayoutResult,
        textFieldToRootTransform: (Matrix) -> Unit,
        innerTextFieldBounds: Rect,
        decorationBoxBounds: Rect,
    )

Notify the input service of layout and position changes.