---
title: "PlatformTextInputService"
description: "Platform specific text input service."
type: "interface"
---

<div class='type'>Interface</div>


<a id='references'></a>

<div class='sourceset sourceset-common'>Common</div>


> **Deprecated** Use PlatformTextInputModifierNode instead.


```kotlin
interface PlatformTextInputService
```


Platform specific text input service.


## Functions

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


Start text input session for given client.


```kotlin
fun startInput()
```


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


```kotlin
fun stopInput()
```


Stop text input session.


```kotlin
fun showSoftwareKeyboard()
```


Request showing onscreen keyboard

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


```kotlin
fun hideSoftwareKeyboard()
```


Hide software keyboard


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


Notify the new editor model to IME.


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


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


Notify the input service of layout and position changes.



