MultiModalInjectionScope
sealed interface MultiModalInjectionScope : InjectionScope
The receiver scope of the multi-modal input injection lambda from performMultiModalInput
.
MultiModalInjectionScope
brings together the receiver scopes of all individual modalities,
allowing you to inject gestures that consist of events from different modalities, like touch and
mouse. For each modality, there is a function to which you pass a lambda in which you can inject
events for that modality: currently, we have touch
, mouse
and key
functions. See their
respective docs for more information.
Note that all events generated by the gesture methods are batched together and sent as a whole
after performMultiModalInput
has executed its code block.
Example of performing a click via touch input followed by drag and drop via mouse input:
Functions
fun touch(block: TouchInjectionScope.() -> Unit)
Injects all touch events sent by the given block
fun mouse(block: MouseInjectionScope.() -> Unit)
Injects all mouse events sent by the given block
@ExperimentalTestApi fun key(block: KeyInjectionScope.() -> Unit)
Injects all key events sent by the given block
@ExperimentalTestApi fun rotary(block: RotaryInjectionScope.() -> Unit)
Injects all rotary events sent by the given block