डिवाइस की कॉन्फ़िगरेशन फ़ाइलें इनपुट करें

इनपुट डिवाइस कॉन्फ़िगरेशन फ़ाइलों (.idc फ़ाइलें) में डिवाइस के हिसाब से चीज़ें शामिल हैं कॉन्फ़िगरेशन प्रॉपर्टी जो इनपुट डिवाइसों के काम करने के तरीके पर असर डालती हैं.

इनपुट डिवाइस कॉन्फ़िगरेशन फ़ाइलें आम तौर पर मानक सेटिंग के लिए ज़रूरी नहीं होती हैं एचआईडी कीबोर्ड और माउस जैसे सहायक डिवाइस, जैसे कि एचआईडी कीबोर्ड और माउस आम तौर पर यह पक्का करती है कि वे शानदार तरीके से काम करें. दूसरी ओर, डिवाइस में पहले से मौजूद एम्बेड किए गए डिवाइसों, खास तौर पर टच स्क्रीन के लिए, इनपुट डिवाइस कॉन्फ़िगरेशन फ़ाइलों की ज़रूरत होती है, ताकि उनके काम करने का तरीका बताया जा सके.

वजह

Android, इनपुट डिवाइस की ज़्यादातर क्षमताओं का पता अपने-आप लगाता है और उन्हें कॉन्फ़िगर करता है रिपोर्ट किए जाने वाले इवेंट टाइप और प्रॉपर्टी के आधार पर Linux कर्नेल इनपुट डिवाइस ड्राइवर.

उदाहरण के लिए, अगर कोई इनपुट डिवाइस, EV_REL इवेंट टाइप और कोड के साथ काम करता है REL_X और REL_Y, EV_KEY इवेंट टाइप और BTN_MOUSE, तब Android, इनपुट डिवाइस को माउस की कैटगरी में रखेगा. डिफ़ॉल्ट तरीका माउस के लिए ऑन-स्क्रीन कर्सर प्रस्तुत करना है जो माउस की गतिविधियों को ट्रैक करता है और माउस क्लिक करने पर टच को सिम्युलेट करता है. माउस को अलग तरीके से कॉन्फ़िगर किया जा सकता है. हालांकि, आम तौर पर स्टैंडर्ड माउस के लिए, डिफ़ॉल्ट तरीके से काम करना काफ़ी होता है.

इनपुट डिवाइसों की कुछ कैटगरी के बारे में ज़्यादा साफ़ तौर पर पता नहीं चलता. उदाहरण के लिए, मल्टी-टच टच स्क्रीन और टच पैड, कम से कम EV_ABS इवेंट टाइप और कोड ABS_MT_POSITION_X और ABS_MT_POSITION_Y के साथ काम करते हैं. हालांकि, इन डिवाइसों के इस्तेमाल काफ़ी अलग-अलग हैं और इन्हें हमेशा तय नहीं किया जा सकता स्वचालित रूप से. साथ ही, टच डिवाइसों से मिलने वाले दबाव और साइज़ की जानकारी को समझने के लिए, ज़्यादा जानकारी की ज़रूरत होती है. इसलिए, टच डिवाइसों, खास तौर पर डिवाइस में पहले से मौजूद टच स्क्रीन के लिए, आम तौर पर आईडीसी फ़ाइलों की ज़रूरत होती है.

जगह की जानकारी

इनपुट डिवाइस कॉन्फ़िगरेशन फ़ाइलें यूएसबी वेंडर, प्रॉडक्ट (और वर्शन) आईडी या इनपुट डिवाइस के नाम के हिसाब से डालें.

नीचे दिए पाथ की सलाह क्रम से ली जाती है.

  • /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 है, तो डिवाइस इंटरनल है.

  • अगर वैल्यू नहीं दी गई है, तो यूएसबी (BUS_USB) या ब्लूटूथ (BUS_BLUETOOTH) बस पर मौजूद सभी डिवाइसों के लिए डिफ़ॉल्ट वैल्यू 0 होगी. इसके अलावा, 1 वैल्यू भी दी जा सकती है.

यह प्रॉपर्टी, डिवाइस के चालू होने की वजह से होने वाले इवेंट के लिए, नीति से जुड़े डिफ़ॉल्ट फ़ैसले तय करती है.

इंटरनल इनपुट डिवाइस, आम तौर पर डिसप्ले को स्लीप मोड से तब तक नहीं हटाते हैं, जब तक कि इसे साफ़ तौर पर न दिखाया जाए को कुंजी लेआउट फ़ाइल या हार्डकोड नीति नियम में ऐसा करने के लिए कॉन्फ़िगर किया गया है. यह अंतर की वजह से, बटन दबाने और टच करने पर फ़ोन को गलत तरीके से चालू होने से रोका जा सकता है जो आपके फ़ोन में हो. आम तौर पर, कुछ ही वेक बटन दिए जाते हैं.

इसके उलट, बाहरी इनपुट डिवाइस आम तौर पर डिवाइस को ज़्यादा तेज़ी से चालू करते हैं, क्योंकि यह माना जाता है कि डिवाइस को ट्रांसपोर्ट के दौरान बंद कर दिया गया है या प्लग इन नहीं किया गया है. उदाहरण के लिए, बाहरी कीबोर्ड पर कोई भी बटन दबाने से यह पता चलता है कि उपयोगकर्ता को को चालू करने और जवाब देने के लिए डिवाइस.

यह पक्का करना ज़रूरी है कि device.internal प्रॉपर्टी की वैल्यू सेट की गई हो सभी इंटरनल इनपुट डिवाइसों के लिए सही तरह से होना चाहिए.

पुष्टि करें

कीमैप की पुष्टि करें टूल का इस्तेमाल करके, इनपुट डिवाइस की कॉन्फ़िगरेशन फ़ाइलों की पुष्टि करना न भूलें.