कीबोर्ड शॉर्टकट सहायक

कीबोर्ड शॉर्टकट हेल्पर की मदद से, उपयोगकर्ता प्लैटफ़ॉर्म और खुले हुए ऐप्लिकेशन के लिए कीबोर्ड शॉर्टकट ढूंढ सकते हैं. कीबोर्ड शॉर्टकट हेल्पर में अपने ऐप्लिकेशन के शॉर्टकट पब्लिश करें, ताकि उपयोगकर्ता की उत्पादकता को बेहतर बनाया जा सके और ऐप्लिकेशन को इस्तेमाल करना आसान हो.

उपयोगकर्ता कीबोर्ड शॉर्टकट की स्क्रीन खोलने के लिए, मेटा+/ दबाते हैं. यह स्क्रीन, Android 7.0 (एपीआई लेवल 24) और इसके बाद के वर्शन पर उपलब्ध है.

डिवाइस पर खुला हुआ ऐप्लिकेशन, जिसमें सिस्टम के शॉर्टकट दिख रहे हैं.
पहली इमेज. कीबोर्ड शॉर्टकट हेल्पर.

कीबोर्ड शॉर्टकट हेल्पर को शॉर्टकट उपलब्ध कराना

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 ऑब्जेक्ट के तौर पर रैप किया जाता है. ऐप्लिकेशन, कीबोर्ड शॉर्टकट हेल्पर को उपलब्ध कीबोर्ड शॉर्टकट की सूचना देते हैं. इसके लिए, वे तरीके के पहले पैरामीटर के तौर पर पास की गई, बदली जा सकने वाली सूची में KeyboardShortcutGroup ऑब्जेक्ट जोड़ते हैं.

ग्रुप बनाकर कीबोर्ड शॉर्टकट व्यवस्थित करना

कीबोर्ड शॉर्टकट हेल्पर, कीबोर्ड शॉर्टकट को अलग-अलग ग्रुप में दिखाता है, ताकि उपयोगकर्ता इस्तेमाल के उदाहरण या आपके ऐप्लिकेशन की स्क्रीन के हिसाब से शॉर्टकट ढूंढ सकें. इमेज 2 में, कीबोर्ड शॉर्टकट को दो ग्रुप में बांटा गया है: कर्सर को मूव करना और मैसेज में बदलाव करना.

डिवाइस पर खुला हुआ ऐप्लिकेशन, जिसमें शॉर्टकट ग्रुप दिख रहे हैं.
दूसरी इमेज. कीबोर्ड शॉर्टकट हेल्पर में मौजूद कैटगरी.

आपका ऐप्लिकेशन, हर ग्रुप के लिए एक KeyboardShortcutGroup ऑब्जेक्ट बनाकर, कीबोर्ड शॉर्टकट के दो या उससे ज़्यादा ग्रुप रजिस्टर करता है. यहां दिए गए स्निपेट में, onProvideKeyboardShortcuts() तरीके से पास की गई म्यूटेबल सूची में दो KeyboardShortCutGroup ऑब्जेक्ट जोड़े गए हैं. जैसा कि दूसरी इमेज में दिखाया गया है, कीबोर्ड शॉर्टकट हेल्पर में ऑब्जेक्ट, कैटगरी के तौर पर दिखाए जाते हैं.

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