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

קובצי תצורה של התקן קלט (קבצי .idc ) מכילים מאפייני תצורה ספציפיים למכשיר המשפיעים על ההתנהגות של התקני קלט.

קבצי תצורה של התקן קלט אינם נחוצים בדרך כלל עבור ציוד היקפי סטנדרטי כגון מקלדות HID ועכברים מכיוון שהתנהגות המערכת המוגדרת כברירת מחדל מבטיחה בדרך כלל שהם יפעלו מחוץ לקופסה. מצד שני, מכשירים משובצים מובנים, במיוחד מסכי מגע, דורשים כמעט תמיד קבצי תצורה של התקן קלט כדי לציין את התנהגותם.

נימוק

אנדרואיד מזהה ומגדיר באופן אוטומטי את רוב יכולות התקן הקלט בהתבסס על סוגי האירועים והמאפיינים המדווחים על ידי מנהל ההתקן המשויך ליבת Linux של מכשיר הקלט.

לדוגמה, אם התקן קלט תומך בסוג האירוע EV_REL ובקודים REL_X ו- REL_Y וכן בסוג האירוע EV_KEY ו- BTN_MOUSE , אז אנדרואיד יסווג את התקן הקלט כעכבר. התנהגות ברירת המחדל של עכבר היא הצגת סמן על המסך שעוקב אחר תנועות העכבר ומדמה נגיעות בעת לחיצה על העכבר. למרות שניתן להגדיר את העכבר בצורה שונה, התנהגות ברירת המחדל מספיקה בדרך כלל עבור ציוד היקפי לעכבר סטנדרטי.

סוגים מסוימים של התקני קלט הם מעורפלים יותר. לדוגמה, מסכי מגע מרובי מגע ומשטחי מגע תומכים שניהם בסוג האירוע 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', '-' או '_' מוחלפים ב-'_'.

תחביר

קובץ תצורה של התקן קלט הוא קובץ טקסט רגיל המורכב מהקצאות מאפיינים והערות.

נכסים

הקצאות נכס מורכבות כל אחת משם מאפיין, an = , ערך מאפיין ושורה חדשה. ככה:

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 .