يتوافق الإصدار Android 6.0 والإصدارات الأحدث مع تنسيق بيانات عادي لقلم الشاشة الذي يتضمّن بلوتوث. اتصالات عبر بلوتوث (BT) أو بلوتوث منخفض الطاقة (BTLE) أو USB. تربط ال منصّة التوقيت بين الإدخال باللمس وبيانات قلم الشاشة، ثم تقدّم بيانات قلم الشاشة لعرض أحداث MotionEvents للتطبيق النشط. تقدّم ال أقسام التالية إرشادات لمطوّري التطبيقات الذين يستخدمون قلم الشاشة وصنّاع ملحقاته ومطوّري التطبيقات المخصّصة له.
إرشادات لمنفّذِي أجهزة المصنّعين الأصليّين للأجهزة
لتفعيل ميزة استخدام قلم الشاشة المزوّد بتقنية البلوتوث، على جهات تنفيذ الأجهزة المصنّعة الأصلية توفير تقنية البلوتوث (ويجب أن تتوفّر تقنية BTLE لتوفير توافق أوسع). يعالج النظام الأساسي جمع البيانات وربط التوقيت والعرض في التطبيق لأحداث القلم المعتمَدة.
في الإصدار 14 والإصدارات الأحدث، يمَثّلStylusButtonInputEventTest
سلوك قلم الشاشة المتصل ويختبِر
تسجيل أحداث الأزرار بشكل صحيح. نتيجة لذلك، أُنشئت مكتبة مات بلوت ليب في
بالنسبة إلى الإصدارات الأقدم، نوصي بإنشاء ملحق لقلم الشاشة أو محاكي
ومحاكاة أحداث قلم الشاشة.
إرشادات لصنّاع المحتوى حول ملحقات قلم الشاشة
لتنفيذ التوافق على جهاز قلم الشاشة، على جهات تنفيذ الأجهزة استخدام وصف HID لجهاز قلم الشاشة الموضح أدناه لوصف كيفية تمثيل بيانات قلم الشاشة (مثل حساسية الضغط والممحاة والأزرار ورقم تعريف الجهاز ومستوى البطارية وحالة الشحن وما إلى ذلك). يُرسِل جهاز القلم المعلومات المتعلّقة بواجهة HID إلى جهاز Android الجوّال،
ما يتيح للنظام الأساسي ربط بيانات HID ببيانات اللمس من الشاشة اللمسية
لإنشاء أحداث القلم باستخدام فئة
MotionEvent
. في نظام التشغيل Android 14 والإصدارات الأحدث، يؤدي الضغط على الأزرار في قلم الشاشة إلى حدوث
الأحداث الداخلية باستخدام
صف واحد (KeyEvent
).
يمكن إرسال البيانات عبر البلوتوث (BT) أو Bluetooth Low Energy (BTLE) أو USB.
مثال على أداة وصف HID
يُبلِغ نموذج وصف 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 }
إرشادات لمطوّري تطبيقات الأقلام الرقمية
يعالج نظام Android عملية الإقران وربط الأحداث تلقائيًا، لذا تتيح كل من التطبيقات الحالية والجديدة استخدام قلم الشاشة المزوّد بتقنية البلوتوث تلقائيًا. للاطّلاع على مزيد من المعلومات عن إتاحة استخدام أقلام الشاشة في تطبيقات Android، يُرجى الاطّلاع على مستندات مطوّري تطبيقات Android.