onInterceptKeyBeforeSoftKeyboard
Common
Modifier in Compose Ui
Adding this [modifier][Modifier] to the [modifier][Modifier] parameter of a component will allow it to intercept hardware key events before they are sent to the software keyboard. This can be used to intercept key input from a DPad, or physical keyboard connected to the device and is not applicable to input that is sent to the soft keyboard via spell check or autocomplete.
Last updated:
Installation
dependencies {
implementation("androidx.compose.ui:ui:1.8.0-alpha04")
}
Overloads
fun Modifier.onInterceptKeyBeforeSoftKeyboard(
onInterceptKeyBeforeSoftKeyboard: (KeyEvent) -> Boolean
): Modifier
Parameters
name | description |
---|---|
onInterceptKeyBeforeSoftKeyboard | This callback is invoked when the user interacts with the hardware keyboard. While implementing this callback, return true to stop propagation of this event. If you return false, the key event will be sent to this [SoftKeyboardInterceptionModifierNode]'s parent, and ultimately to the software keyboard. |
Code Example
KeyEventSample
@Suppress("UNUSED_ANONYMOUS_PARAMETER")
@Composable
fun KeyEventSample() {
// When the inner Box is focused, and the user presses a key, the key goes down the hierarchy
// and then back up to the parent. At any stage you can stop the propagation by returning
// true to indicate that you consumed the event.
Box(Modifier.onPreviewKeyEvent { keyEvent1 -> false }.onKeyEvent { keyEvent4 -> false }) {
Box(
Modifier.onPreviewKeyEvent { keyEvent2 -> false }
.onKeyEvent { keyEvent3 -> false }
.focusable()
)
}
}