קלט קובצי תצורה של המכשיר

קובצי תצורה של מכשירי קלט (קבצי .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 כראוי לכל התקני הקלט הפנימיים.

אימות

חשוב לאמת את קובצי התצורה של מכשיר הקלט באמצעות הכלי Validate Keymaps.