Android 6.0 और इसके बाद के वर्शन में, ब्लूटूथ (बीटी), ब्लूटूथ स्मार्ट (बीटीईएलई) या यूएसबी से कनेक्ट किए गए ब्लूटूथ स्टाइलस के लिए, स्टैंडर्ड डेटा फ़ॉर्मैट का इस्तेमाल किया जा सकता है. प्लैटफ़ॉर्म, टच इनपुट और स्टाइलस डेटा के बीच के समय को जोड़ता है. इसके बाद, ऐक्टिव ऐप्लिकेशन में MotionEvents को रेंडर करने के लिए स्टाइलस डेटा उपलब्ध कराता है. यहां दिए गए सेक्शन में, OEM डिवाइस लागू करने वाले, स्टाइलस ऐक्सेसरी बनाने वाले, और स्टाइलस ऐप्लिकेशन डेवलपर के लिए दिशा-निर्देश दिए गए हैं.
OEM डिवाइस लागू करने वालों के लिए दिशा-निर्देश
ब्लूटूथ स्टाइलस की सुविधा चालू करने के लिए, OEM डिवाइस इंप्लीमेंटर के डिवाइस में ब्लूटूथ की सुविधा होनी चाहिए. साथ ही, ज़्यादा डिवाइसों के साथ काम करने के लिए, BTLE की सुविधा भी होनी चाहिए. यह प्लैटफ़ॉर्म, काम करने वाले स्टाइलस इवेंट के लिए डेटा इकट्ठा करने, समय के बीच के जुड़ाव, और ऐप्लिकेशन को रेंडर करने का काम करता है.
14 और उसके बाद के वर्शन में,
StylusButtonInputEventTest
कनेक्ट किए गए स्टाइलस के व्यवहार को एमुलेट करता है और यह जांच करता है कि बटन इवेंट सही तरीके से रिपोर्ट किए गए हैं या नहीं. हमारा सुझाव है कि आप कम वर्शन के लिए, स्टाइलस ऐक्सेसरी या एमुलेटर बनाएं, जो स्टाइलस इवेंट को सिम्युलेट कर सके.
स्टाइलस ऐक्सेसरी बनाने वाले क्रिएटर्स के लिए दिशा-निर्देश
स्टाइलस डिवाइस पर सहायता लागू करने के लिए, डिवाइस लागू करने वालों को स्टाइलस डेटा (दबाव की संवेदनशीलता, इरेज़र, बटन, डिवाइस आईडी, बैटरी लेवल, चार्जिंग की स्थिति वगैरह) दिखाने का तरीका बताने के लिए, स्टाइलस ह्यूमन इंटरफ़ेस डिवाइस (एचआईडी) डिस्क्रिप्टर का इस्तेमाल करना होगा. स्टाइलस डिवाइस, एचआईडी की जानकारी Android मोबाइल डिवाइस को भेजता है. इससे प्लैटफ़ॉर्म, एचआईडी डेटा और टचस्क्रीन के टच डेटा को आपस में जोड़ पाता है.
इससे स्टाइलस इवेंट तैयार करने के लिए, MotionEvent
क्लास का इस्तेमाल किया जाता है. Android 14 और इसके बाद के वर्शन में, स्टाइलस के बटन दबाने पर भी KeyEvent
क्लास का इस्तेमाल करके, इंटरनल इवेंट जनरेट होते हैं.
डेटा को ब्लूटूथ (बीटी), ब्लूटूथ लो एनर्जी (बीटीईएल) या यूएसबी के ज़रिए भेजा जा सकता है.
एचआईडी डिस्क्रिप्टर का उदाहरण
यहां दिए गए सैंपल 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 }
स्टाइलस ऐप्लिकेशन डेवलपर के लिए दिशा-निर्देश
Android प्लैटफ़ॉर्म, पेयरिंग और इवेंट के बीच के संबंध को अपने-आप मैनेज करता है. इसलिए, मौजूदा और नए ऐप्लिकेशन, डिफ़ॉल्ट रूप से ब्लूटूथ स्टाइलस के साथ काम करते हैं. Android ऐप्लिकेशन में स्टाइलस इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Android डेवलपर दस्तावेज़ देखें.