Klavye Kısayolu Yardımcısı

Klavye Kısayolu Yardımcısı, kullanıcıların platform için klavye kısayollarını keşfetmelerini ve uygulamaları açmalarını sağlar. Kullanıcı üretkenliğini ve kullanım kolaylığını artırmak için uygulamanızın kısayollarını Klavye Kısayolu Yardımcısı'nda yayınlayın.

Kullanıcılar, Android 7.0 (API düzeyi 24) ve sonraki sürümlerde kullanılabilen klavye kısayolları ekranını açmak için Meta+/ tuşlarına basar.

Şekil 1. Klavye Kısayolları Yardımcısı.

Klavye Kısayolu Yardımcısı'na kısayollar sağlar

onProvideKeyboardShortcuts() pencere geri çağırmasını geçersiz kılarak Klavye Kısayolu Yardımcısı'na kullanılabilir klavye kısayol listelerini sağlayabilirsiniz. Aşağıdaki snippet'te, dört kısayoldan oluşan bir grup eklemek için onProvideKeyboardShortcuts() uygulaması gösterilmektedir:

class MainActivity : ComponentActivity() {
    // Activity codes such as overridden onStart method.

    override fun onProvideKeyboardShortcuts(
        data: MutableList<KeyboardShortcutGroup>?,
        menu: Menu?,
        deviceId: Int
    ) {
        val shortcutGroup = KeyboardShortcutGroup(
            "Cursor movement",
            listOf(
                KeyboardShortcutInfo("Up", KeyEvent.KEYCODE_P, KeyEvent.META_CTRL_ON),
                KeyboardShortcutInfo("Down", KeyEvent.KEYCODE_N, KeyEvent.META_CTRL_ON),
                KeyboardShortcutInfo("Forward", KeyEvent.KEYCODE_F, KeyEvent.META_CTRL_ON),
                KeyboardShortcutInfo("Backward", KeyEvent.KEYCODE_B, KeyEvent.META_CTRL_ON),
            )
        )
        data?.add(shortcutGroup)
    }
}

KeyboardShortcutInfo bir klavye kısayolunu tanımlar. Klavye kısayolları listesi KeyboardShortcutGroup nesnesi olarak sarmalanır. Uygulamalar, KeyboardShortcutGroup nesnelerini yöntemin ilk parametresi olarak iletilen değişken listesine ekleyerek, kullanılabilir klavye kısayollarını Klavye Kısayolu Yardımcısı'na bildirir.

Klavye kısayollarını gruplarla düzenleme

Klavye kısayolu yardımcısı, klavye kısayollarını ayrı gruplarda gösterir. Böylece kullanıcılar, kullanım alanına veya uygulamanızın ekranlarına göre kısayolları bulabilir. Şekil 2'de iki gruba ayrılmış klavye kısayolları gösterilmektedir: imleç hareketi ve mesaj düzenleme.

Şekil 2. Klavye Kısayolları Yardımcısı'ndaki kategoriler.

Uygulamanız, her grup için bir KeyboardShortcutGroup nesnesi oluşturarak iki veya daha fazla klavye kısayolu grubu kaydeder. Aşağıdaki snippet'te, onProvideKeyboardShortcuts() yöntemine iletilen değişken listeye iki KeyboardShortCutGroup nesnesi eklenmiştir. Nesneler, Şekil 2'de gösterildiği gibi Klavye Kısayolu Yardımcısı'nda kategoriler olarak görüntülenir.

override fun onProvideKeyboardShortcuts(
    data: MutableList<KeyboardShortcutGroup>?,
    menu: Menu?,
    deviceId: Int
) {
    val cursorMovement = KeyboardShortcutGroup(
        "Cursor movement",
        listOf(
            KeyboardShortcutInfo("Up", KeyEvent.KEYCODE_P, KeyEvent.META_CTRL_ON),
            KeyboardShortcutInfo("Down", KeyEvent.KEYCODE_N, KeyEvent.META_CTRL_ON),
            KeyboardShortcutInfo("Forward", KeyEvent.KEYCODE_F, KeyEvent.META_CTRL_ON),
            KeyboardShortcutInfo("Backward", KeyEvent.KEYCODE_B, KeyEvent.META_CTRL_ON),
        )
    )

    val messageEdit = KeyboardShortcutGroup(
        "Message editing",
        listOf(
            KeyboardShortcutInfo("Select All", KeyEvent.KEYCODE_A, KeyEvent.META_CTRL_ON),
            KeyboardShortcutInfo("Send a message", KeyEvent.KEYCODE_ENTER, KeyEvent.META_SHIFT_ON)
        )
    )

    data?.add(cursorMovement)
    data?.add(messageEdit)
}

Klavye Kısayolu Yardımcısı'nı koddan açın

Uygulamalar, requestShowKeyboardShortcuts() yöntemini çağırarak klavye kısayolları ekranını görüntüler. Aşağıdaki snippet'te kullanıcılar düğmeye dokunduğunda, tıkladığında veya Enter tuşuna bastığında Klavye Kısayolu Yardımcısı açılır.

val activity = LocalContext.current as Activity

Button(onClick = { activity.requestShowKeyboardShortcuts() }) {
    Text(text = "Show keyboard shortcuts")
}