स्टाइलस

एंड्रॉइड 6.0 और उच्चतर ब्लूटूथ (बीटी), ब्लूटूथ लो एनर्जी (बीटीएलई), या यूएसबी पर ब्लूटूथ स्टाइलस कनेक्शन के लिए एक मानक डेटा प्रारूप का समर्थन करता है। प्लेटफ़ॉर्म टच इनपुट और स्टाइलस डेटा के बीच समय को सहसंबंधित करता है और फिर सक्रिय ऐप को मोशनइवेंट्स प्रस्तुत करने के लिए स्टाइलस डेटा प्रदान करता है। निम्नलिखित अनुभाग OEM डिवाइस कार्यान्वयनकर्ताओं, स्टाइलस एक्सेसरी निर्माताओं और स्टाइलस ऐप डेवलपर्स के लिए दिशानिर्देश प्रदान करते हैं।

OEM डिवाइस कार्यान्वयनकर्ताओं के लिए दिशानिर्देश

ब्लूटूथ स्टाइलस समर्थन को सक्षम करने के लिए, OEM डिवाइस कार्यान्वयनकर्ताओं को ब्लूटूथ का समर्थन करना चाहिए (और व्यापक अनुकूलता के लिए BTLE का समर्थन करना चाहिए)। प्लेटफ़ॉर्म डेटा संग्रह, समय सहसंबंध और समर्थित स्टाइलस घटनाओं के लिए ऐप को प्रस्तुत करने का प्रबंधन करता है।

14 और उच्चतर में, StylusButtonInputEventTest कनेक्टेड स्टाइलस के व्यवहार का अनुकरण करता है और परीक्षण करता है कि बटन ईवेंट सही ढंग से रिपोर्ट किए गए हैं। निचले संस्करणों के समाधान के रूप में, हम एक स्टाइलस एक्सेसरी या एमुलेटर बनाने की सलाह देते हैं जो स्टाइलस घटनाओं का अनुकरण कर सकता है।

स्टाइलस सहायक रचनाकारों के लिए दिशानिर्देश

स्टाइलस डिवाइस पर समर्थन लागू करने के लिए, डिवाइस कार्यान्वयनकर्ताओं को स्टाइलस डेटा (दबाव संवेदनशीलता, इरेज़र, बटन, डिवाइस आईडी, बैटरी स्तर, चार्जिंग स्थिति इत्यादि) का प्रतिनिधित्व कैसे किया जाता है इसका वर्णन करने के लिए नीचे दिखाए गए स्टाइलस ह्यूमन इंटरफ़ेस डिवाइस (एचआईडी) डिस्क्रिप्टर का उपयोग करना चाहिए। . स्टाइलस डिवाइस एंड्रॉइड मोबाइल डिवाइस पर एचआईडी जानकारी भेजता है, जिससे प्लेटफ़ॉर्म MotionEvent क्लास का उपयोग करके स्टाइलस इवेंट उत्पन्न करने के लिए टचस्क्रीन से टच डेटा के साथ एचआईडी डेटा को सहसंबंधित करने में सक्षम होता है। एंड्रॉइड 14 और उच्चतर में, स्टाइलस पर बटन दबाने से KeyEvent क्लास का उपयोग करके आंतरिक ईवेंट भी उत्पन्न होते हैं। डेटा ब्लूटूथ (बीटी), ब्लूटूथ लो एनर्जी (बीटीएलई), या यूएसबी पर भेजा जा सकता है।

उदाहरण छिपाई वर्णनकर्ता

निम्नलिखित नमूना HID डिस्क्रिप्टर टिप संपर्क, दबाव, प्राथमिक और द्वितीयक बटन, इरेज़र और सीरियल नंबर की रिपोर्ट करता है। आपके द्वारा शामिल किया गया HID डिस्क्रिप्टर ब्लूटूथ के माध्यम से स्टाइलस द्वारा रिपोर्ट की जा रही बातों को सटीक रूप से प्रतिबिंबित करना चाहिए, जो उपलब्ध क्षमताओं का कोई भी सबसेट हो सकता है।
UsagePage(Digitizer)
Usage(Pen)
Collection(Application)
    Usage(Stylus)
    Collection(Logical)
        Usage(Tip Pressure)
        Logical Minimum(0)
        Logical Maximum(1023)
        Report Count(1)
        Report Size(10)
        Input(Data, Variable, Absolute, No Null)

        Usage(Barrel Switch)
        Usage(Secondary Barrel Switch)
        Usage(Tip Switch)
        Usage(Invert)
        Logical Maximum(1)
        Report Count(4)
        Report Size(1)
        Input(Data, Variable, Absolute, No Null)

        Usage(Transducer Serial Number)
        Report Count(1)
        Report Size(128)
        Feature(Constant, Variable)
    EndCollection
EndCollection

unsigned char HID_DESC[] = {
    0x05, 0x0D, // UsagePage(Digitizer)
    0x09, 0x02, // Usage(Pen)
    0xA1, 0x01, // Collection(Application)
    0x09, 0x20, // Usage(Stylus)
    0xA1, 0x02, // Collection(Logical)
    0x09, 0x30, // Usage(Tip Pressure)
    0x15, 0x00, // Logical Minimum(0)
    0x26, 0xFF, 0x03, // Logical Maximum(1023)
    0x95, 0x01, // Report Count(1)
    0x75, 0x0A, // Report Size(10)
    0x81, 0x02, // Input(Data, Variable, Absolute, No Null)

    0x09, 0x44, // Usage(Barrel Switch)
    0x09, 0x5A, // Usage(Secondary Barrel Switch)
    0x09, 0x42, // Usage(Tip Switch)
    0x09, 0x3C, // Usage(Invert)
    0x25, 0x01, // Logical Maximum(1)
    0x95, 0x04, // Report Count(4)
    0x75, 0x01, // Report Size(1)
    0x81, 0x02, // Input(Data, Variable, Absolute, No Null)

    0x09, 0x5B, // Usage(Transducer Serial Number)
    0x95, 0x01, // Report Count(1)
    0x75, 0x80, // Report Size(128)
    0xB1, 0x03, // Feature(Constant, Variable)
    0xC0, // End Collection
    0xC0, // End Collection
}

स्टाइलस ऐप डेवलपर्स के लिए दिशानिर्देश

एंड्रॉइड प्लेटफ़ॉर्म स्वचालित रूप से युग्मन और ईवेंट सहसंबंध को संभालता है, इसलिए मौजूदा और नए दोनों ऐप डिफ़ॉल्ट रूप से ब्लूटूथ स्टाइलस का समर्थन करते हैं। एंड्रॉइड ऐप्स में स्टाइलस का समर्थन करने के बारे में अधिक जानने के लिए, एंड्रॉइड डेवलपर दस्तावेज़ देखें।