Klavye Kısayolları Yardımcısı

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

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

Cihazda açık olan uygulama, sistem kısayollarını gösteriyor.
Şekil 1. Klavye Kısayolları Yardımcısı.

Klavye Kısayolları Yardımcısı'na kısayollar ekleme

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

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 açıklar. Klavye kısayollarının listesi, KeyboardShortcutGroup nesnesi olarak sarmalanır. Uygulamalar, yöntemin ilk parametresi olarak iletilen değiştirilebilir listeye KeyboardShortcutGroup nesnelerini ekleyerek kullanılabilir klavye kısayollarını Klavye Kısayolları Yardımcısı'na bildirir.

Klavye kısayollarını gruplar halinde düzenleme

Klavye Kısayolları Yardımcısı, klavye kısayollarını ayrı gruplar halinde 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, klavye kısayolları iki gruba ayrılmıştır: imleç hareketi ve mesaj düzenleme.

Cihazda açık olan uygulama, kısayol gruplarını gösteriyor.
Ş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ştirilebilir listeye iki KeyboardShortCutGroup nesnesi eklenir. Nesneler, Şekil 2'de gösterildiği gibi Klavye Kısayolları Yardımcısı'nda kategori olarak gösterilir.

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ısayolları Yardımcısı'nı koddan açma

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

val activity = LocalActivity.current

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