يتوافق الإصدار 6.0 من نظام التشغيل Android والإصدارات الأحدث مع تنسيق البيانات العادي لاتصالات القلم البلوتوث عبر البلوتوث (BT) أو تقنية Bluetooth Low Energy (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.