Interface

KeyInjectionScope

The receiver scope of the key input injection lambda from performKeyInput.

keyInputClick

@Sampled
fun keyInputClick() {
    var counter = 0
    val focusRequester = FocusRequester()
    lateinit var inputModeManager: InputModeManager
    composeTestRule.setContent {
        inputModeManager = LocalInputModeManager.current
        BasicText(
            "ClickableText",
            modifier =
                Modifier.testTag("myClickable").focusRequester(focusRequester).clickable {
                    counter++
                },
        )
    }
    composeTestRule.runOnIdle {
        inputModeManager.requestInputMode(Keyboard)
        focusRequester.requestFocus()
    }

    composeTestRule.onNodeWithTag("myClickable").performKeyInput { keyDown(Key.Enter) }

    composeTestRule.runOnIdle { assert(counter == 0) }

    composeTestRule.onNodeWithTag("myClickable").performKeyInput { keyUp(Key.Enter) }

    composeTestRule.runOnIdle { assert(counter == 1) }
}
Jetpack Compose beyond MaterialFree components, screens and templates for apps that don’t look like Google’s. Copy them into your app, or let your coding agent add them.Browse for free

Content updated: