androidx.compose.ui.input.key
Interfaces
KeyInputModifierNode |
Implement this interface to create a |
Cmn
|
SoftKeyboardInterceptionModifierNode |
Implement this interface to create a |
Cmn
|
Classes
Key |
Represents keys on a keyboard. |
Cmn
android
|
KeyEvent |
When a user presses a key on a hardware keyboard, a |
Cmn
|
KeyEventType |
The type of Key Event. |
Cmn
|
NativeKeyEvent |
The native platform-specific keyboard key event. |
Cmn
android
|
Modifiers
onInterceptKeyBeforeSoftKeyboard |
Adding this |
Cmn
|
onKeyEvent |
Adding this |
Cmn
|
onPreInterceptKeyBeforeSoftKeyboard |
Adding this |
Cmn
|
onPreviewKeyEvent |
Adding this |
Cmn
|
Type aliases
NativeKeyEvent |
The native Android |
android
|
Top-level functions summary
Extension properties summary
Boolean |
Indicates whether the Alt key is pressed. |
Cmn
android
|
Boolean |
Indicates whether the Ctrl key is pressed. |
Cmn
android
|
Boolean |
Indicates whether the Meta key is pressed. |
Cmn
android
|
Boolean |
Indicates whether the Shift key is pressed. |
Cmn
android
|
Key |
The key that was pressed. |
Cmn
android
|
Int |
The native keycode corresponding to this |
android
|
KeyEventType |
The |
Cmn
android
|
Int |
The UTF16 value corresponding to the key event that was pressed. |
Cmn
android
|
Top-level functions
Extension properties
KeyEvent.isAltPressed
val KeyEvent.isAltPressed: Boolean
Indicates whether the Alt key is pressed.
import androidx.compose.foundation.focusable import androidx.compose.foundation.layout.Box import androidx.compose.ui.Modifier import androidx.compose.ui.input.key.Key import androidx.compose.ui.input.key.isAltPressed import androidx.compose.ui.input.key.key import androidx.compose.ui.input.key.onKeyEvent Box( Modifier.onKeyEvent { if (it.isAltPressed && it.key == Key.A) { println("Alt + A is pressed") true } else { false } } .focusable() )
KeyEvent.isCtrlPressed
val KeyEvent.isCtrlPressed: Boolean
Indicates whether the Ctrl key is pressed.
import androidx.compose.foundation.focusable import androidx.compose.foundation.layout.Box import androidx.compose.ui.Modifier import androidx.compose.ui.input.key.Key import androidx.compose.ui.input.key.isCtrlPressed import androidx.compose.ui.input.key.key import androidx.compose.ui.input.key.onKeyEvent Box( Modifier.onKeyEvent { if (it.isCtrlPressed && it.key == Key.A) { println("Ctrl + A is pressed") true } else { false } } .focusable() )
KeyEvent.isMetaPressed
val KeyEvent.isMetaPressed: Boolean
Indicates whether the Meta key is pressed.
import androidx.compose.foundation.focusable import androidx.compose.foundation.layout.Box import androidx.compose.ui.Modifier import androidx.compose.ui.input.key.Key import androidx.compose.ui.input.key.isMetaPressed import androidx.compose.ui.input.key.key import androidx.compose.ui.input.key.onKeyEvent Box( Modifier.onKeyEvent { if (it.isMetaPressed && it.key == Key.A) { println("Meta + A is pressed") true } else { false } } .focusable() )
KeyEvent.isShiftPressed
val KeyEvent.isShiftPressed: Boolean
Indicates whether the Shift key is pressed.
import androidx.compose.foundation.focusable import androidx.compose.foundation.layout.Box import androidx.compose.ui.Modifier import androidx.compose.ui.input.key.Key import androidx.compose.ui.input.key.isShiftPressed import androidx.compose.ui.input.key.key import androidx.compose.ui.input.key.onKeyEvent Box( Modifier.onKeyEvent { if (it.isShiftPressed && it.key == Key.A) { println("Shift + A is pressed") true } else { false } } .focusable() )
KeyEvent.key
val KeyEvent.key: Key
The key that was pressed.
import androidx.compose.foundation.focusable import androidx.compose.foundation.layout.Box import androidx.compose.ui.Modifier import androidx.compose.ui.input.key.Key import androidx.compose.ui.input.key.isAltPressed import androidx.compose.ui.input.key.key import androidx.compose.ui.input.key.onKeyEvent Box( Modifier.onKeyEvent { if (it.isAltPressed && it.key == Key.A) { println("Alt + A is pressed") true } else { false } } .focusable() )
KeyEvent.type
val KeyEvent.type: KeyEventType
The type of key event.
import androidx.compose.foundation.focusable import androidx.compose.foundation.layout.Box import androidx.compose.ui.Modifier import androidx.compose.ui.input.key.Key import androidx.compose.ui.input.key.KeyEventType.Companion.KeyDown import androidx.compose.ui.input.key.KeyEventType.Companion.KeyUp import androidx.compose.ui.input.key.KeyEventType.Companion.Unknown import androidx.compose.ui.input.key.key import androidx.compose.ui.input.key.onKeyEvent import androidx.compose.ui.input.key.type Box( Modifier.onKeyEvent { when (it.type) { KeyUp -> println("KeyUp Pressed") KeyDown -> println("KeyUp Pressed") Unknown -> println("Unknown key type") else -> println("New KeyType (for future use)") } false } .focusable() )
KeyEvent.utf16CodePoint
val KeyEvent.utf16CodePoint: Int
The UTF16 value corresponding to the key event that was pressed. The unicode character takes into account any meta keys that are pressed (eg. Pressing shift results in capital alphabets). The UTF16 value uses the U+n notation[http://www.unicode.org/reports/tr27/#notation] of the Unicode Standard.
An Int is used instead of a Char so that we can support supplementary characters. The Unicode Standard allows for characters whose representation requires more than 16 bits. The range of legal code points is U+0000 to U+10FFFF, known as Unicode scalar value.
The set of characters from U+0000 to U+FFFF is sometimes referred to as the Basic Multilingual Plane (BMP). Characters whose code points are greater than U+FFFF are called supplementary characters. In this representation, supplementary characters are represented as a pair of char values, the first from the high-surrogates range, (\uD800-\uDBFF), the second from the low-surrogates range (\uDC00-\uDFFF).