ملفات إعداد جهاز الإدخال

تحتوي ملفات إعداد جهاز الإدخال (.idc ملف) على ملفات خاصة بالجهاز. خصائص الإعدادات التي تؤثر في سلوك أجهزة الإدخال.

عادةً لا تكون ملفات إعداد جهاز الإدخال ضرورية للإصدار العادي الأجهزة الملحقة، مثل لوحات مفاتيح واجهة بشرية HID وأجهزة الماوس بسبب سلوك النظام التلقائي وعادة ما تضمن أنها ستعمل خارج الصندوق. من ناحية أخرى، الأجهزة المضمَّنة، وخاصة الشاشات التي تعمل باللمس، التي يتم طلب ملفات إعداد جهاز الإدخال لتحديد سلوكها.

الأسباب

يرصد Android معظم إمكانات أجهزة الإدخال ويضبطها تلقائيًا. استنادًا إلى أنواع الأحداث والخصائص التي يتم تسجيلها من خلال الموقع الإلكتروني المرتبط برنامج تشغيل جهاز إدخال نواة Linux.

على سبيل المثال، إذا كان جهاز الإدخال متوافقًا مع نوع حدث EV_REL ورموزه REL_X وREL_Y بالإضافة إلى نوع الحدث EV_KEY وBTN_MOUSE عندئذٍ سيصنِّف Android جهاز الإدخال على أنّه الماوس. السلوك التلقائي للماوس هو عرض مؤشر على الشاشة يتتبّع حركات الماوس ويحاكي اللمسات عند النقر على الماوس. وعلى الرغم من أن الماوس يمكنه تكوينها بشكل مختلف، فعادةً ما يكون السلوك الافتراضي كافيًا ملحقات الماوس القياسية.

هناك فئات معينة من أجهزة الإدخال أكثر غموضًا. على سبيل المثال، الاتصال المتعدّد الشاشات التي تعمل باللمس ولوحات اللمس تتوافق مع نوع الحدث ورموز EV_ABS ABS_MT_POSITION_X وABS_MT_POSITION_Y على الأقل. ومع ذلك، فإن الهدف استخدامات هذه الأجهزة مختلفة تمامًا ولا يمكن تحديدها دائمًا تلقائيًا. كما يلزم توفير معلومات إضافية لفهم معلومات الضغط والحجم التي تقدمها الأجهزة التي تعمل باللمس. وبالتالي أجهزة اللمس، وخاصة الشاشات التي تعمل باللمس المدمجة، وعادةً ما تحتاج إلى ملفات IDC.

الموقع الجغرافي

تقع ملفات تهيئة جهاز الإدخال حسب مورد USB والمنتج (و رقم تعريف الإصدار اختياريًا) أو من خلال اسم جهاز الإدخال.

تتم الرجوع إلى المسارات التالية بالترتيب.

  • /odm/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /odm/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX.idc
  • /odm/usr/idc/device-name.idc
  • /vendor/usr/idc/device-name.idc
  • /system/usr/idc/device-name.idc
  • /data/system/devices/idc/device-name.idc

عند إنشاء مسار ملف يحتوي على اسم الجهاز، فإن جميع الأحرف في اسم الجهاز بخلاف "0"-"9" أو "a"-"z" أو "A"-"Z" أو "-" أو "_" يتم استبدالها بـ '_'.

بناء الجملة

ملف إعداد جهاز الإدخال هو ملف نص عادي يتكوّن من المهام والتعليقات.

الخصائص

تتألف كل تخصيصات المواقع من اسم خاصية و= وقيمة سمة وسطر جديد. مثال:

property = value

أسماء المواقع الإلكترونية هي معرّفات نصية حرفية غير فارغة. يجب ألا تحتوي على مسافة بيضاء. ويحدد كل مكوّن من مكونات نظام الإدخال مجموعة من الخصائص التي تستخدم لتهيئة دالته.

قيم الخصائص هي سلسلة غير فارغة من الأرقام الحرفية أو الأعداد الصحيحة أو أرقام النقاط العائمة. ويجب ألا تحتوي على مسافة بيضاء أو الحرفين المحجوزَين \ أو ".

أسماء الخصائص وقيمها حساسة لحالة الأحرف.

التعليقات

تبدأ أسطر التعليقات بـ "#". ويستمر في النهاية حتى نهاية السطر. مثال:

# A comment!

ويتم تجاهل الأسطر الفارغة.

مثال

# This is an example of an input device configuration file.
# It might be used to describe the characteristics of a built-in touch screen.

# This is an internal device, not an external peripheral attached to the USB
# or Bluetooth bus.
device.internal = 1

# The device should behave as a touch screen, which uses the same orientation
# as the built-in display.
touch.deviceType = touchScreen
touch.orientationAware = 1

# Additional calibration properties...
# etc...

السمات المشتركة

السمة التالية مشتركة بين جميع فئات أجهزة الإدخال.

يمكنك الرجوع إلى وثائق كل فئة من فئات أجهزة الإدخال للحصول على معلومات حول الخصائص الخاصة التي تستخدمها كل فئة.

device.internal

التعريف: device.internal = 0 | 1

تحدِّد هذه السياسة ما إذا كان جهاز الإدخال مكوّنًا داخليًا مدمجًا بدلاً من مرفق خارجي (قابل للإزالة على الأرجح).

  • إذا كانت القيمة هي 0، هذا يعني أنّ الجهاز خارجي.

  • إذا كانت القيمة هي 1، هذا يعني أنّ الجهاز داخلي.

  • في حال عدم تحديد القيمة، تكون القيمة التلقائية هي 0 لجميع الأجهزة على USB (BUS_USB) أو Bluetooth (BUS_BLUETOOTH)، 1 بخلاف ذلك.

تحدِّد هذه السمة قرارات السياسة التلقائية المتعلّقة بأحداث التنشيط.

لا تعمل أجهزة الإدخال الداخلية بشكل عام على تنشيط الشاشة من وضع السكون ما لم يتم بشكلٍ صريح. في ملف تنسيق المفتاح أو في قاعدة سياسة غير قابلة للتغيير. هذا النمط يمنع التمييز الضغطات على المفاتيح واللمسات من تنشيط هاتفك بشكل زائف عندما تكون في جيبك. عادةً ما يتم تحديد عدد قليل فقط من مفاتيح التنشيط.

وفي المقابل، عادةً ما تعمل أجهزة الإدخال الخارجية على تنشيط الجهاز بسرعة أكبر لأن من المفترض أن تكون مطفأة أو غير متصلة أثناء النقل. على سبيل المثال: يعد الضغط على أي مفتاح على لوحة مفاتيح خارجية مؤشرًا جيدًا على أن المستخدم يريد الجهاز للاستيقاظ والاستجابة.

من المهم التأكّد من ضبط قيمة السمة device.internal. لجميع أجهزة الإدخال الداخلية بشكلٍ صحيح

التحقُّق

احرص على التحقق من صحة ملفات إعداد جهاز الإدخال باستخدام التحقق من خرائط المفاتيح.