मेनिफ़ेस्ट - Input_components

यह मेनिफ़ेस्ट की एक ऐसी कुंजी है जिसे इस्तेमाल करना ज़रूरी नहीं है. इससे ChromeOS के साथ इस्तेमाल करने के लिए, input.ime API (इनपुट मेथड एडिटर) का इस्तेमाल किया जा सकता है. इससे आपका एक्सटेंशन, कीस्ट्रोक को मैनेज कर सकता है, कंपोज़िशन सेट कर सकता है, और सहायता देने वाली विंडो खोल सकता है. डेवलपर को एक्सटेंशन के "permissions" ऐरे में "input" अनुमति के बारे में भी बताना होगा. यह कुंजी, ऑब्जेक्ट के कलेक्शन को स्वीकार करती है: name, id, language, layouts, input_view, और options_page (नीचे दी गई टेबल देखें).

प्रॉपर्टी टाइप ब्यौरा
name स्ट्रिंग इनपुट कॉम्पोनेंट ऑब्जेक्ट का नाम डालना ज़रूरी है.
id स्ट्रिंग वैकल्पिक कॉम्पोनेंट ऑब्जेक्ट आईडी.
language स्ट्रिंग (या स्ट्रिंग का कलेक्शन) भाषा या उन भाषाओं की सूची जिनके लिए यह सुविधा उपलब्ध है. उदाहरण: "en", ["en", "pt"]
layouts स्ट्रिंग (या स्ट्रिंग का कलेक्शन) इनपुट के तरीकों की सूची. हालांकि, ऐसा करना ज़रूरी नहीं है. ध्यान दें कि ChromeOS, इनपुट के हर तरीके के लिए सिर्फ़ एक लेआउट के साथ काम करता है. अगर एक से ज़्यादा लेआउट तय किए गए हैं, तो चुनने का क्रम तय नहीं होता. इसलिए, एक्सटेंशन को यह सुझाव दिया जाता है कि वे हर इनपुट मेथड के लिए सिर्फ़ एक लेआउट तय करें. कीबोर्ड लेआउट के लिए, xkb: प्रीफ़िक्स से पता चलता है कि यह कीबोर्ड लेआउट एक्सटेंशन है.
उदाहरण: ["us::eng"]
input_view स्ट्रिंग यह एक वैकल्पिक स्ट्रिंग है, जो एक्सटेंशन संसाधन के बारे में बताती है.
options_page स्ट्रिंग यह एक वैकल्पिक स्ट्रिंग है, जो एक्सटेंशन संसाधन के बारे में बताती है. अगर यह जानकारी नहीं दी जाती है, तो डिफ़ॉल्ट एक्सटेंशन के विकल्प वाले पेज का इस्तेमाल किया जाएगा.
{
  // ...
   "input_components": [{
     "name": "ToUpperIME",
    "id": "ToUpperIME",
    "language": "en",
    "layouts": ["us::eng"]
  }]
  // ...
}