Interface

PlatformTextInputService

Platform specific text input service.

Common
Deprecated Use PlatformTextInputModifierNode instead.
interface PlatformTextInputService

Platform specific text input service.

Functions

startInput

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

Start text input session for given client.


startInput

fun startInput()

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


stopInput

fun stopInput()

Stop text input session.


showSoftwareKeyboard

fun showSoftwareKeyboard()

Request showing onscreen keyboard

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


hideSoftwareKeyboard

fun hideSoftwareKeyboard()

Hide software keyboard


updateState

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

Notify the new editor model to IME.


notifyFocusedRect

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).


updateTextLayoutResult

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

Notify the input service of layout and position changes.