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

تحتوي ملفات إعدادات أجهزة الإدخال (ملفات .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 أو معرِّف المنتج (و الإصدار اختياريًا) أو حسب اسم جهاز الإدخال.

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

  • /product/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /system_ext/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /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
  • /product/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /system_ext/usr/idc/Vendor_XXXX_Product_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
  • /product/usr/idc/device-name.idc
  • /system_ext/usr/idc/device-name.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 بشكل صحيح لجميع أجهزة الإدخال الداخلية.

التحقُّق

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