Keyboard Shortcuts Helper

Bantuan Pintasan Keyboard memungkinkan pengguna menemukan pintasan keyboard untuk platform dan aplikasi yang terbuka. Publikasikan pintasan keyboard aplikasi Anda di Keyboard Shortcuts Helper untuk meningkatkan produktivitas dan kemudahan penggunaan.

Pengguna menekan Meta+/ untuk membuka layar pintasan keyboard, yang tersedia di Android 7.0 (level API 24) dan yang lebih tinggi.

Aplikasi terbuka di perangkat yang menampilkan pintasan sistem.
Gambar 1. Bantuan Pintasan Keyboard.

Menyediakan pintasan ke Bantuan Pintasan Keyboard

Anda dapat memberikan daftar pintasan keyboard yang tersedia ke Bantuan Pintasan Keyboard dengan mengganti callback jendela onProvideKeyboardShortcuts(). Cuplikan berikut menunjukkan implementasi onProvideKeyboardShortcuts() untuk menambahkan grup yang berisi empat pintasan:

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 menjelaskan pintasan keyboard. Daftar pintasan keyboard digabungkan sebagai objek KeyboardShortcutGroup. Aplikasi memberi tahu pintasan keyboard yang tersedia ke Bantuan Pintasan Keyboard dengan menambahkan objek KeyboardShortcutGroup ke daftar yang dapat diubah yang diteruskan sebagai parameter pertama metode.

Mengatur pintasan keyboard dengan grup

Bantuan Pintasan Keyboard menampilkan pintasan keyboard dalam grup terpisah sehingga pengguna dapat menemukan pintasan berdasarkan kasus penggunaan atau untuk layar aplikasi Anda. Gambar 2 menunjukkan pintasan keyboard yang dikategorikan ke dalam dua grup: gerakan kursor dan pengeditan pesan.

Aplikasi terbuka di perangkat yang menampilkan grup pintasan.
Gambar 2. Kategori di Bantuan Pintasan Keyboard.

Aplikasi Anda mendaftarkan dua atau beberapa grup pintasan keyboard dengan membuat objek KeyboardShortcutGroup untuk setiap grup. Dalam cuplikan berikut, dua objek KeyboardShortCutGroup ditambahkan ke daftar yang dapat diubah yang diteruskan ke metode onProvideKeyboardShortcuts(). Objek ditampilkan sebagai kategori di Bantuan Pintasan Keyboard seperti yang ditunjukkan dalam gambar 2.

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)
}

Membuka Bantuan Pintasan Keyboard dari kode

Aplikasi menampilkan layar pintasan keyboard dengan memanggil metode requestShowKeyboardShortcuts(). Dalam cuplikan berikut, Bantuan Pintasan Keyboard akan terbuka saat pengguna mengetuk atau mengklik tombol atau menekan tombol Enter.

val activity = LocalActivity.current

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