כלי העזר למקשי הקיצור

הכלי "עזרה למקשי קיצור" מאפשר למשתמשים לגלות מקשי קיצור לפלטפורמה ולאפליקציות פתוחות. כדי לשפר את הפרודוקטיביות ואת נוחות השימוש, כדאי לפרסם את מקשי הקיצור של האפליקציה ב-Keyboard Shortcuts Helper.

המשתמשים לוחצים על Meta+/‎ כדי לפתוח את מסך מקשי הקיצור, שזמין ב-Android 7.0 (רמת API‏ 24) ומעלה.

אפליקציה פתוחה במכשיר עם קיצורי דרך של המערכת.
איור 1. כלי העזר למקשי הקיצור.

הצגת קיצורי דרך למרכז העזרה של מקשי הקיצור

כדי לספק רשימות של מקשי קיצור זמינים לכלי העזר למקשי הקיצור, צריך לשנות את פונקציית ה-callback של החלון onProvideKeyboardShortcuts(). בקטע הקוד הבא אפשר לראות הטמעה של onProvideKeyboardShortcuts() כדי להוסיף קבוצה של ארבעה קיצורי דרך:

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 מתאר מקש קיצור. רשימת מקשי הקיצור מופיעה כאובייקט KeyboardShortcutGroup. האפליקציות מודיעות על מקשי הקיצור הזמינים ל-Keyboard Shortcuts Helper על ידי הוספת האובייקטים של KeyboardShortcutGroup לרשימה הניתנת לשינוי, שמועברת כפרמטר הראשון של השיטה.

ארגון מקשי הקיצור בקבוצות

הכלי "עזרה למקשי קיצור" מציג את מקשי הקיצור בקבוצות נפרדות, כדי שהמשתמשים יוכלו למצוא מקשי קיצור לפי תרחיש לדוגמה או למסכים של האפליקציה. באיור 2 מוצגים מקשי הקיצור שמסווגים לשתי קבוצות: תנועת הסמן ועריכת הודעות.

אפליקציה פתוחה במכשיר עם קבוצות של קיצורי דרך.
איור 2. קטגוריות בכלי העזר למקשי הקיצור.

האפליקציה רושמת שתי קבוצות או יותר של מקשי קיצור על ידי יצירת אובייקט KeyboardShortcutGroup לכל קבוצה. בקטע הקוד הבא, שני אובייקטים מסוג KeyboardShortCutGroup נוספים לרשימה הניתנת לשינוי שמועברת ל-method‏ onProvideKeyboardShortcuts(). האובייקטים מוצגים כקטגוריות בכלי העזר למקשי הקיצור, כמו שמוצג באיור 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)
}

פתיחת מסך העזרה של מקשי הקיצור באמצעות קוד

כדי להציג את מסך מקשי הקיצור, האפליקציות מפעילות את השיטה requestShowKeyboardShortcuts(). בקטע הקוד הבא, מרכז העזרה של מקשי הקיצור נפתח כשהמשתמשים לוחצים על הכפתור או על מקש Enter.

val activity = LocalActivity.current

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