कीबोर्ड डिवाइस

Android, कई तरह के कीबोर्ड डिवाइसों के साथ काम करता है. इनमें खास फ़ंक्शन वाले कीपैड (वॉल्यूम और पावर कंट्रोल), छोटे एम्बेड किए गए QWERTY कीबोर्ड, और सभी सुविधाओं वाले पीसी स्टाइल के बाहरी कीबोर्ड शामिल हैं.

इस दस्तावेज़ में सिर्फ़ फ़िज़िकल कीबोर्ड के बारे में बताया गया है. सॉफ़्ट कीबोर्ड (इनपुट मेथड एडिटर) के बारे में जानकारी के लिए, Android SDK टूल देखें.

कीबोर्ड की कैटगरी तय करना

किसी इनपुट डिवाइस को कीबोर्ड के तौर पर तब माना जाता है, जब इनमें से कोई एक शर्त पूरी होती है:

  • इनपुट डिवाइस, कीबोर्ड पर इस्तेमाल किए जाने वाले किसी भी Linux की कोड की मौजूदगी की जानकारी देता है. इसमें 0 से 0xff या KEY_OK से KEY_MAX तक के कोड शामिल हैं.

  • इनपुट डिवाइस, जॉयस्टिक और गेमपैड पर इस्तेमाल किए जाने वाले किसी भी Linux की कोड की मौजूदगी की जानकारी देता है. इनमें BTN_0 से BTN_9, BTN_TRIGGER से BTN_DEAD या BTN_A से BTN_THUMBR तक के कोड शामिल हैं.

फ़िलहाल, जॉयस्टिक को कीबोर्ड के तौर पर वर्गीकृत किया जाता है, क्योंकि जॉयस्टिक और गेमपैड बटन को EV_KEY इवेंट की मदद से उसी तरह रिपोर्ट किया जाता है जिस तरह कीबोर्ड बटन को रिपोर्ट किया जाता है. इसलिए, जॉयस्टिक और गेमपैड भी कॉन्फ़िगरेशन के लिए, बटन मैप फ़ाइलों का इस्तेमाल करते हैं.

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

इसके बाद, सिस्टम डिवाइस की अन्य विशेषताओं का पता लगाने की कोशिश करता है.

  • अगर इनपुट डिवाइस में कोई ऐसी बटन है जो KEYCODE_Q पर मैप की गई है, तो डिवाइस में अक्षर वाला कीपैड माना जाता है, न कि अंकों वाला. अंग्रेज़ी के अक्षरों वाले कीपैड की सुविधा को, संसाधन Configuration ऑब्जेक्ट में KEYBOARD_QWERTY के तौर पर रिपोर्ट किया जाता है.

  • अगर इनपुट डिवाइस में कोई ऐसी बटन मौजूद है जो KEYCODE_DPAD_UP, KEYCODE_DPAD_DOWN, KEYCODE_DPAD_LEFT, KEYCODE_DPAD_RIGHT, और KEYCODE_DPAD_CENTER (सभी मौजूद होने चाहिए) पर मैप की गई है, तो डिवाइस को डायरेक्शनल कीपैड माना जाता है. डायरेक्शनल कीपैड की सुविधा को संसाधन Configuration ऑब्जेक्ट में NAVIGATION_DPAD के तौर पर रिपोर्ट किया जाता है.

  • अगर इनपुट डिवाइस में कोई ऐसी बटन है जो KEYCODE_BUTTON_A या गेमपैड से जुड़ी अन्य बटन पर मैप की गई है, तो डिवाइस में गेमपैड मौजूद माना जाता है.

कीबोर्ड ड्राइवर से जुड़ी ज़रूरी शर्तें

  1. कीबोर्ड ड्राइवर को सिर्फ़ उन बटन के लिए बटन कोड रजिस्टर करने चाहिए जिन पर वे काम करते हैं. ज़रूरत से ज़्यादा की-कोड रजिस्टर करने से, डिवाइस के कैटगरी तय करने वाले एल्गोरिद्म को भ्रम हो सकता है. इसके अलावा, इससे सिस्टम को डिवाइस के कीबोर्ड की सुविधाओं का गलत पता चल सकता है.

  2. कीबोर्ड ड्राइवर को बटन दबाने की जानकारी देने के लिए, EV_KEY का इस्तेमाल करना चाहिए. किसी बटन को छोड़ने के लिए 0 की वैल्यू, बटन दबाने के लिए 1 की वैल्यू, और बटन अपने-आप दबने के लिए 2 से ज़्यादा या उसके बराबर की वैल्यू का इस्तेमाल करें.

  3. Android, कीबोर्ड के बटन को बार-बार दबाने की सुविधा अपने-आप चालू करता है. ड्राइवर में, ऑटो-रिपीट की सुविधा बंद होनी चाहिए.

  4. कीबोर्ड ड्राइवर, MSC_SCANCODE के साथ EV_MSC भेजकर, एचआईडी के इस्तेमाल या कम-लेवल स्कैन कोड के बारे में बता सकते हैं. साथ ही, बटन दबाने पर, इस्तेमाल या स्कैन कोड की जानकारी देने वाली वैल्यू भी भेज सकते हैं. फ़िलहाल, Android इस जानकारी का इस्तेमाल नहीं करता.

  5. डिवाइस में EV_LED लिखे जाने पर, कीबोर्ड ड्राइवर को एलईडी की स्थितियां सेट करने की सुविधा होनी चाहिए. hid-input ड्राइवर इसे अपने-आप मैनेज करता है. इस लेख को लिखने के समय, Android LED_CAPSLOCK, LED_SCROLLLOCK, और LED_NUMLOCK का इस्तेमाल करता है. इन एलईडी का इस्तेमाल सिर्फ़ तब किया जाना चाहिए, जब कीबोर्ड में इनसे जुड़ी इंडिकेटर लाइटें हों.

  6. एम्बेड किए गए कीपैड (उदाहरण के लिए, जीपीआईओ मैट्रिक्स का इस्तेमाल करने वाले) के लिए कीबोर्ड ड्राइवर को यह पक्का करना चाहिए कि डिवाइस के स्लीप मोड में जाने के बाद भी दबाई गई किसी भी बटन के लिए, 0 की वैल्यू के साथ EV_KEY इवेंट भेजे जाएं. ऐसा न करने पर, हो सकता है कि बटन दबाए रहें और वे अपने-आप बार-बार दबते रहें.

कीबोर्ड से काम करना

यहां Android पर कीबोर्ड के काम करने के तरीके के बारे में खास जानकारी दी गई है.

  1. EventHub, evdev ड्राइवर से रॉ इवेंट पढ़ता है और कीबोर्ड के बटन के लेआउट मैप का इस्तेमाल करके, Linux बटन कोड (जिन्हें कभी-कभी स्कैन कोड भी कहा जाता है) को Android बटन कोड में मैप करता है.

  2. InputReader, रॉ इवेंट का इस्तेमाल करता है और मेटा बटन की स्थिति को अपडेट करता है. उदाहरण के लिए, अगर बाईं ओर मौजूद शिफ़्ट बटन को दबाया या छोड़ा जाता है, तो रीडर META_SHIFT_LEFT_ON और META_SHIFT_ON बिट को उसी के हिसाब से सेट या रीसेट कर देगा.

  3. InputReader, मुख्य इवेंट के बारे में InputDispatcher को सूचना देता है.

  4. InputDispatcher, WindowManagerPolicy से पूछता है कि WindowManagerPolicy.interceptKeyBeforeQueueing को कॉल करके, मुख्य इवेंट के साथ क्या करना है. यह तरीका, एक अहम पाथ का हिस्सा है. यह कुछ बटन दबाने पर, डिवाइस को चालू करने के लिए ज़िम्मेदार होता है. EventHub इस अहम पाथ के साथ, वॉकी लॉक को असरदार तरीके से बनाए रखता है, ताकि यह पूरी तरह से चल सके.

  5. अगर कोई InputFilter फ़िलहाल इस्तेमाल में है, तो InputDispatcher उसे पासकोड इस्तेमाल करने या बदलने का मौका देता है. InputFilter का इस्तेमाल, पूरे सिस्टम के लिए कम-लेवल की सुलभता नीतियों को लागू करने के लिए किया जा सकता है.

  6. InputDispatcher, डिस्पैच थ्रेड पर प्रोसेसिंग के लिए पासकोड को सूची में जोड़ता है.

  7. जब InputDispatcher, बटन को डिसक्यू से हटाता है, तो वह WindowManagerPolicy को WindowManagerPolicy.interceptKeyBeforeDispatching को कॉल करके, मुख्य इवेंट को इंटरसेप्ट करने का दूसरा मौका देता है. यह तरीका, सिस्टम के शॉर्टकट और अन्य फ़ंक्शन को मैनेज करता है.

  8. इसके बाद, InputDispatcher मुख्य इवेंट टारगेट (फ़ोकस की गई विंडो) की पहचान करता है और उसके तैयार होने का इंतज़ार करता है. इसके बाद, InputDispatcher ऐप्लिकेशन को मुख्य इवेंट डिलीवर करता है.

  9. ऐप्लिकेशन में, मुख्य इवेंट व्यू की हैरारकी में नीचे की ओर, IME से पहले की जाने वाली बटन दबाने की कार्रवाई के लिए फ़ोकस किए गए व्यू तक भेजा जाता है.

  10. अगर मुख्य इवेंट को IME डिस्पैच से पहले मैनेज नहीं किया जाता है और कोई IME इस्तेमाल में है, तो मुख्य इवेंट को IME पर डिलीवर किया जाता है.

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

  12. ऐप्लिकेशन, InputDispatcher को यह रिपोर्ट करता है कि मुख्य इवेंट का इस्तेमाल किया गया था या नहीं. अगर इवेंट का इस्तेमाल नहीं किया गया था, तो InputDispatcher "फ़ॉलबैक" व्यवहार लागू करने के लिए WindowManagerPolicy.dispatchUnhandledKey को कॉल करता है. फ़ॉलबैक ऐक्शन के आधार पर, किसी दूसरे मुख्य कोड का इस्तेमाल करके मुख्य इवेंट डिस्पैच साइकल को फिर से शुरू किया जा सकता है. उदाहरण के लिए, अगर कोई ऐप्लिकेशन KEYCODE_ESCAPE को हैंडल नहीं करता है, तो सिस्टम मुख्य इवेंट को KEYCODE_BACK के तौर पर फिर से डिस्पैच कर सकता है.

कीबोर्ड कॉन्फ़िगरेशन

कीबोर्ड के व्यवहार को कीबोर्ड के बटन लेआउट, बटन के वर्ण मैप, और इनपुट डिवाइस के कॉन्फ़िगरेशन से तय किया जाता है.

कीबोर्ड कॉन्फ़िगरेशन में हिस्सा लेने वाली फ़ाइलों के बारे में ज़्यादा जानकारी के लिए, यहां दिए गए सेक्शन देखें:

प्रॉपर्टी

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

keyboard.layout

परिभाषा: keyboard.layout = <name>

इनपुट डिवाइस से जुड़ी कुंजी लेआउट फ़ाइल का नाम बताता है. इसमें .kl एक्सटेंशन शामिल नहीं है. अगर यह फ़ाइल नहीं मिलती है, तो इनपुट सिस्टम डिफ़ॉल्ट कीबोर्ड लेआउट का इस्तेमाल करेगा.

लुकअप के दौरान, नाम में मौजूद स्पेस को अंडरस्कोर में बदल दिया जाता है.

ज़्यादा जानकारी के लिए, मुख्य लेआउट फ़ाइल का दस्तावेज़ देखें.

keyboard.characterMap

परिभाषा: keyboard.characterMap = <name>

इनपुट डिवाइस से जुड़ी मुख्य वर्ण मैप फ़ाइल का नाम बताता है. इसमें .kcm एक्सटेंशन शामिल नहीं होता. अगर यह फ़ाइल नहीं मिलती है, तो इनपुट सिस्टम डिफ़ॉल्ट की कैरेक्टर मैप का इस्तेमाल करेगा.

लुकअप के दौरान, नाम में मौजूद स्पेस को अंडरस्कोर में बदल दिया जाता है.

ज़्यादा जानकारी के लिए, मुख्य कैरेक्टर मैप फ़ाइल के दस्तावेज़ देखें.

keyboard.orientationAware

परिभाषा: keyboard.orientationAware = 0 | 1

इससे यह तय होता है कि डिसप्ले के ओरिएंटेशन में बदलाव होने पर, कीबोर्ड को कैसे काम करना चाहिए.

  • अगर वैल्यू 1 है, तो डिसप्ले के ओरिएंटेशन में बदलाव होने पर, डायरेक्शनल कीपैड की घुमाई जाती हैं.

  • अगर वैल्यू 0 है, तो कीबोर्ड के डिसप्ले ओरिएंटेशन में बदलाव नहीं होता.

डिफ़ॉल्ट वैल्यू 0 है.

ऑरिएंटेशन से जुड़ी जानकारी का इस्तेमाल, डायरेक्शनल कीपैड बटन के रोटेशन के लिए किया जाता है. जैसे, Motorola Droid पर. उदाहरण के लिए, जब डिवाइस को उसके सामान्य ओरिएंटेशन से, घड़ी की सुई के उलट 90 डिग्री घुमाया जाता है, तो KEYCODE_DPAD_UP को KEYCODE_DPAD_RIGHT में बदल दिया जाता है. ऐसा इसलिए होता है, क्योंकि डिवाइस को उस ओरिएंटेशन में रखने पर, 'अप' बटन 'राइट' बटन की ओर इशारा करता है.

keyboard.builtIn

परिभाषा: keyboard.builtIn = 0 | 1

इससे पता चलता है कि कीबोर्ड, डिवाइस में पहले से मौजूद (फ़िज़िकली अटैच किया गया) कीबोर्ड है या नहीं.

अगर डिवाइस का नाम -keypad पर खत्म होता है, तो डिफ़ॉल्ट वैल्यू 1 होती है. अगर डिवाइस का नाम -keypad पर खत्म नहीं होता है, तो डिफ़ॉल्ट वैल्यू 0 होती है.

बिल्ट-इन कीबोर्ड को हमेशा 0 का डिवाइस आईडी असाइन किया जाता है. डिवाइस में पहले से मौजूद कीबोर्ड के अलावा, अन्य कीबोर्ड को यूनीक डिवाइस आईडी असाइन किए जाते हैं.

डिवाइस में पहले से मौजूद कीबोर्ड के लिए 0 का आईडी इस्तेमाल करना ज़रूरी है, ताकि KeyCharacterMap.BUILT_IN_KEYBOARD फ़ील्ड के साथ काम करना जारी रखा जा सके. इस फ़ील्ड में, डिवाइस में पहले से मौजूद कीबोर्ड का आईडी और 0 की वैल्यू दी जाती है. एपीआई में इस फ़ील्ड का इस्तेमाल बंद कर दिया गया है. हालांकि, हो सकता है कि पुराने ऐप्लिकेशन अब भी इसका इस्तेमाल कर रहे हों.

खास फ़ंक्शन वाला कीबोर्ड (जिसकी मुख्य वर्ण मैप में SPECIAL_FUNCTION का टाइप बताया गया हो) कभी भी डिफ़ॉल्ट कीबोर्ड के तौर पर रजिस्टर नहीं किया जाएगा. भले ही, इस प्रॉपर्टी की सेटिंग कुछ भी हो. ऐसा इसलिए है, क्योंकि खास फ़ंक्शन वाले कीबोर्ड का इस्तेमाल, आम तौर पर टाइपिंग के लिए नहीं किया जाता.

कॉन्फ़िगरेशन के उदाहरण

# This is an example input device configuration file for a built-in
# keyboard that has a DPad.

# The keyboard is internal because it is part of the device.
device.internal = 1

# The keyboard is the default built-in keyboard so it should be assigned
# an id of 0.
keyboard.builtIn = 1

# The keyboard includes a DPad which is mounted on the device.  As the device
# is rotated the orientation of the DPad rotates along with it, so the DPad must
# be aware of the display orientation.  This ensures that pressing 'up' on the
# DPad always means 'up' from the perspective of the user, even when the entire
# device has been rotated.
keyboard.orientationAware = 1

कंपैटिबिलिटी के बारे में अहम जानकारी

Honeycomb से पहले, कीबोर्ड इनपुट मैपर किसी भी कॉन्फ़िगरेशन प्रॉपर्टी का इस्तेमाल नहीं करता था. यह माना जाता था कि सभी कीबोर्ड, डिवाइस से फ़िज़िकली कनेक्ट होते हैं और उनके ओरिएंटेशन की जानकारी होती है. डिफ़ॉल्ट कीबोर्ड लेआउट और कीबोर्ड वर्ण मैप का नाम Generic के बजाय qwerty था. बटन के वर्ण मैप का फ़ॉर्मैट भी बहुत अलग था. साथ ही, फ़्रेमवर्क में पीसी स्टाइल के फ़ुल कीबोर्ड या बाहरी कीबोर्ड काम नहीं करते थे.

डिवाइसों को Honeycomb पर अपग्रेड करते समय, ज़रूरी कॉन्फ़िगरेशन और मुख्य मैप फ़ाइलें बनाना या अपडेट करना न भूलें.

एचआईडी के इस्तेमाल, Linux के कुंजी कोड, और Android के कुंजी कोड

सिस्टम, कई अलग-अलग आइडेंटिफ़ायर का इस्तेमाल करके, कुंजियों को रेफ़र करता है. यह इस बात पर निर्भर करता है कि एब्स्ट्रैक्शन की लेयर क्या है.

एचआईडी डिवाइसों के लिए, हर बटन से जुड़ा एचआईडी इस्तेमाल होता है. एचआईडी रिपोर्ट को पार्स करने और एचआईडी के इस्तेमाल को Linux के बटन कोड से मैप करने की ज़िम्मेदारी, Linux hid-input ड्राइवर और उससे जुड़े वेंडर और डिवाइस के हिसाब से एचआईडी ड्राइवर की होती है.

Android, Linux kernel से EV_KEY इवेंट पढ़ता है. साथ ही, डिवाइस की की लेआउट फ़ाइल के हिसाब से, हर Linux की कोड को उसके Android की कोड में बदल देता है.

जब मुख्य इवेंट किसी ऐप्लिकेशन को भेजा जाता है, तो android.view.KeyEvent इंस्टेंस, Linux कुंजी कोड को getScanCode() की वैल्यू के तौर पर और Android कुंजी कोड को getKeyCode() की वैल्यू के तौर पर रिपोर्ट करता है. फ़्रेमवर्क के मकसद के लिए, सिर्फ़ getKeyCode() की वैल्यू अहम है.

ध्यान दें कि Android खुद, HID के इस्तेमाल की जानकारी का इस्तेमाल नहीं करता या ऐप्लिकेशन को नहीं भेजता.

कोड टेबल

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

LKC कॉलम में, हैक्साडेसिमल में Linux पासकोड दिया गया है.

AKC कॉलम में, Android की कोड को हेक्साडेसिमल में दिखाया जाता है.

नोट कॉलम में, टेबल के बाद पोस्ट किए गए नोट दिखते हैं.

वर्शन कॉलम से पता चलता है कि Android प्लैटफ़ॉर्म के किस पहले वर्शन में, डिफ़ॉल्ट पासकोड मैप में यह पासकोड शामिल किया गया था. एक से ज़्यादा पंक्तियां तब दिखती हैं, जब वर्शन के बीच डिफ़ॉल्ट कीमैप बदल गया हो. सबसे पुराना वर्शन 1.6 है.

  • Gingerbread (2.3) और उससे पहले की रिलीज़ में, डिफ़ॉल्ट की मैप qwerty.kl था. इस की मैप का मकसद सिर्फ़ Android एमुलेटर के साथ इस्तेमाल करना था. इसका मकसद, किसी भी तरह के बाहरी कीबोर्ड के साथ इस्तेमाल करना नहीं था. इसके बावजूद, कुछ OEM ने प्लैटफ़ॉर्म में ब्लूटूथ कीबोर्ड की सुविधा जोड़ी है. साथ ही, ज़रूरी कीबोर्ड मैपिंग देने के लिए qwerty.kl पर भरोसा किया है. इसलिए, इन पुरानी मैपिंग में दिलचस्पी उन OEM की हो सकती है जो इन डिवाइसों के लिए डिवाइसों से जुड़े उपकरण बना रहे हैं. ध्यान दें कि मैपिंग, मौजूदा मैपिंग से काफ़ी अलग हैं. खास तौर पर, HOME बटन के इस्तेमाल के मामले में. हमारा सुझाव है कि सभी नए डिवाइसों को, Honeycomb या हाल ही के की मैप (जैसे, स्टैंडर्ड HID) के हिसाब से डिज़ाइन किया जाए.

  • Honeycomb (3.0) के बाद, डिफ़ॉल्ट की मैप Generic.kl है. इस की मैप को, पीसी स्टाइल के कीबोर्ड के साथ इस्तेमाल करने के लिए डिज़ाइन किया गया था. स्टैंडर्ड HID कीबोर्ड के ज़्यादातर फ़ंक्शन, बिना किसी सेटअप के काम करने चाहिए.

Linux kernel और Android के अलग-अलग वर्शन के लिए, की कोड मैपिंग अलग-अलग हो सकती है. जब Android के डिफ़ॉल्ट की मैप में बदलाव होते हैं, तो उनका पता वर्शन कॉलम में चलता है.

डिवाइस के हिसाब से HID ड्राइवर और बटन मैप, यहां बताई गई मैपिंग से अलग मैपिंग लागू कर सकते हैं.

एचआईडी कीबोर्ड और कीपैड पेज (0x07)

एचआईडी का इस्तेमाल एचआईडी डिवाइस के इस्तेमाल का नाम LKC Linux पासकोड का कोड नेम वर्शन AKC Android पासकोड का कोड नेम अहम जानकारी
0x07 0x0001 कीबोर्ड की गड़बड़ी का रोल ओवर
0x07 0x0002 कीबोर्ड POST फ़ेल
0x07 0x0003 कीबोर्ड से जुड़ी गड़बड़ी की जानकारी नहीं दी गई
0x07 0x0004 कीबोर्ड पर a और A 0x001e KEY_A 1.6 0x001d KEYCODE_A 1
0x07 0x0005 कीबोर्ड पर b और B 0x0030 KEY_B 1.6 0x001e KEYCODE_B 1
0x07 0x0006 कीबोर्ड पर c और C 0x002e KEY_C 1.6 0x001f KEYCODE_C 1
0x07 0x0007 कीबोर्ड पर d और D 0x0020 KEY_D 1.6 0x0020 KEYCODE_D 1
0x07 0x0008 कीबोर्ड पर e और E 0x0012 KEY_E 1.6 0x0021 KEYCODE_E 1
0x07 0x0009 कीबोर्ड पर f और F 0x0021 KEY_F 1.6 0x0022 KEYCODE_F 1
0x07 0x000a कीबोर्ड पर g और G 0x0022 KEY_G 1.6 0x0023 KEYCODE_G 1
0x07 0x000b कीबोर्ड पर h और H 0x0023 KEY_H 1.6 0x0024 KEYCODE_H 1
0x07 0x000c कीबोर्ड पर i और I 0x0017 KEY_I 1.6 0x0025 KEYCODE_I 1
0x07 0x000d कीबोर्ड पर j और J 0x0024 KEY_J 1.6 0x0026 KEYCODE_J 1
0x07 0x000e कीबोर्ड पर k और K 0x0025 KEY_K 1.6 0x0027 KEYCODE_K 1
0x07 0x000f कीबोर्ड पर l और L 0x0026 KEY_L 1.6 0x0028 KEYCODE_L 1
0x07 0x0010 कीबोर्ड पर m और M 0x0032 KEY_M 1.6 0x0029 KEYCODE_M 1
0x07 0x0011 कीबोर्ड पर n और N 0x0031 KEY_N 1.6 0x002a KEYCODE_N 1
0x07 0x0012 कीबोर्ड पर o और O 0x0018 KEY_O 1.6 0x002b KEYCODE_O 1
0x07 0x0013 कीबोर्ड पर p और P 0x0019 KEY_P 1.6 0x002c KEYCODE_P 1
0x07 0x0014 कीबोर्ड पर q और Q 0x0010 KEY_Q 1.6 0x002d KEYCODE_Q 1
0x07 0x0015 कीबोर्ड पर r और R 0x0013 KEY_R 1.6 0x002e KEYCODE_R 1
0x07 0x0016 कीबोर्ड पर s और S 0x001f KEY_S 1.6 0x002f KEYCODE_S 1
0x07 0x0017 कीबोर्ड पर t और T 0x0014 KEY_T 1.6 0x0030 KEYCODE_T 1
0x07 0x0018 कीबोर्ड पर u और U 0x0016 KEY_U 1.6 0x0031 KEYCODE_U 1
0x07 0x0019 कीबोर्ड पर v और V 0x002f KEY_V 1.6 0x0032 KEYCODE_V 1
0x07 0x001a कीबोर्ड पर w और W 0x0011 KEY_W 1.6 0x0033 KEYCODE_W 1
0x07 0x001b कीबोर्ड पर x और X 0x002d KEY_X 1.6 0x0034 KEYCODE_X 1
0x07 0x001c कीबोर्ड पर y और Y 0x0015 KEY_Y 1.6 0x0035 KEYCODE_Y 1
0x07 0x001d कीबोर्ड पर z और Z 0x002c KEY_Z 1.6 0x0036 KEYCODE_Z 1
0x07 0x001e कीबोर्ड पर 1 और ! 0x0002 KEY_1 1.6 0x0008 KEYCODE_1 1
0x07 0x001f कीबोर्ड 2 और @ 0x0003 KEY_2 1.6 0x0009 KEYCODE_2 1
0x07 0x0020 कीबोर्ड पर 3 और # 0x0004 KEY_3 1.6 0x000a KEYCODE_3 1
0x07 0x0021 कीबोर्ड पर 4 और $ 0x0005 KEY_4 1.6 0x000b KEYCODE_4 1
0x07 0x0022 कीबोर्ड पर 5 और % 0x0006 KEY_5 1.6 0x000c KEYCODE_5 1
0x07 0x0023 कीबोर्ड पर 6 और ^ 0x0007 KEY_6 1.6 0x000d KEYCODE_6 1
0x07 0x0024 कीबोर्ड पर 7 और & 0x0008 KEY_7 1.6 0x000e KEYCODE_7 1
0x07 0x0025 कीबोर्ड पर 8 और * 0x0009 KEY_8 1.6 0x000f KEYCODE_8 1
0x07 0x0026 कीबोर्ड पर 9 और ( 0x000a KEY_9 1.6 0x0010 KEYCODE_9 1
0x07 0x0027 कीबोर्ड पर 0 और ) 0x000b KEY_0 1.6 0x0007 KEYCODE_0 1
0x07 0x0028 कीबोर्ड पर Return (ENTER) 0x001c KEY_ENTER 1.6 0x0042 KEYCODE_ENTER 1
0x07 0x0029 कीबोर्ड पर ESCAPE 0x0001 KEY_ESC 3.0 0x006f KEYCODE_ESCAPE
"" "" "" "" 2.3 0x0004 KEYCODE_BACK
0x07 0x002a कीबोर्ड पर मौजूद मिटाएं (Backspace) बटन 0x000e KEY_BACKSPACE 1.6 0x0043 KEYCODE_DEL
0x07 0x002b कीबोर्ड टैब 0x000f KEY_TAB 1.6 0x003d KEYCODE_TAB
0x07 0x002c कीबोर्ड का स्पेसबार 0x0039 KEY_SPACE 1.6 0x003e KEYCODE_SPACE
0x07 0x002d कीबोर्ड - और _ 0x000c KEY_MINUS 1.6 0x0045 KEYCODE_MINUS 1
0x07 0x002e कीबोर्ड पर = और + 0x000d KEY_EQUAL 1.6 0x0046 KEYCODE_EQUALS 1
0x07 0x002f कीबोर्ड [ और { 0x001a KEY_LEFTBRACE 1.6 0x0047 KEYCODE_LEFT_BRACKET 1
0x07 0x0030 कीबोर्ड ] और } 0x001b KEY_RIGHTBRACE 1.6 0x0048 KEYCODE_RIGHT_BRACKET 1
0x07 0x0031 कीबोर्ड पर \ और | 0x002b KEY_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0032 अमेरिका के अलावा अन्य देशों के कीबोर्ड पर # और ~ 0x002b KEY_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0033 कीबोर्ड ; और : 0x0027 KEY_SEMICOLON 1.6 0x004a KEYCODE_SEMICOLON 1
0x07 0x0034 कीबोर्ड पर ' और " 0x0028 KEY_APOSTROPHE 1.6 0x004b KEYCODE_APOSTROPHE 1
0x07 0x0035 कीबोर्ड पर ` और ~ 0x0029 KEY_GRAVE 3.0 0x0044 KEYCODE_GRAVE 1
0x07 0x0036 कीबोर्ड , और < 0x0033 KEY_COMMA 1.6 0x0037 KEYCODE_COMMA 1
0x07 0x0037 कीबोर्ड . और > 0x0034 KEY_DOT 1.6 0x0038 KEYCODE_PERIOD 1
0x07 0x0038 कीबोर्ड / और ? 0x0035 KEY_SLASH 1.6 0x004c KEYCODE_SLASH 1
0x07 0x0039 कीबोर्ड का Caps Lock 0x003a KEY_CAPSLOCK 3.0 0x0073 KEYCODE_CAPS_LOCK
0x07 0x003a कीबोर्ड F1 0x003b KEY_F1 3.0 0x0083 KEYCODE_F1
"" "" "" "" 1.6 0x0052 KEYCODE_MENU
0x07 0x003b कीबोर्ड पर F2 0x003c KEY_F2 3.0 0x0084 KEYCODE_F2
"" "" "" "" 1.6 0x0002 KEYCODE_SOFT_RIGHT
0x07 0x003c कीबोर्ड F3 0x003d KEY_F3 3.0 0x0085 KEYCODE_F3
"" "" "" "" 1.6 0x0005 KEYCODE_CALL
0x07 0x003d कीबोर्ड F4 0x003e KEY_F4 3.0 0x0086 KEYCODE_F4
"" "" "" "" 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x003e कीबोर्ड पर F5 0x003f KEY_F5 3.0 0x0087 KEYCODE_F5
0x07 0x003f कीबोर्ड पर F6 0x0040 KEY_F6 3.0 0x0088 KEYCODE_F6
0x07 0x0040 कीबोर्ड पर F7 0x0041 KEY_F7 3.0 0x0089 KEYCODE_F7
0x07 0x0041 कीबोर्ड पर F8 0x0042 KEY_F8 3.0 0x008a KEYCODE_F8
0x07 0x0042 कीबोर्ड पर F9 0x0043 KEY_F9 3.0 0x008b KEYCODE_F9
0x07 0x0043 कीबोर्ड पर F10 0x0044 KEY_F10 3.0 0x008c KEYCODE_F10
"" "" "" "" 2.3 0x0052 KEYCODE_MENU
0x07 0x0044 कीबोर्ड F11 0x0057 KEY_F11 3.0 0x008d KEYCODE_F11
0x07 0x0045 कीबोर्ड पर F12 0x0058 KEY_F12 3.0 0x008e KEYCODE_F12
0x07 0x0046 कीबोर्ड का Print Screen बटन 0x0063 KEY_SYSRQ 3.0 0x0078 KEYCODE_SYSRQ
0x07 0x0047 कीबोर्ड का Scroll Lock 0x0046 KEY_SCROLLLOCK 3.0 0x0074 KEYCODE_SCROLL_LOCK
0x07 0x0048 कीबोर्ड से रोकें 0x0077 KEY_PAUSE 3.0 0x0079 KEYCODE_BREAK
0x07 0x0049 कीबोर्ड से शामिल करना 0x006e KEY_INSERT 3.0 0x007c KEYCODE_INSERT
0x07 0x004a कीबोर्ड होम 0x0066 KEY_HOME 3.0 0x007a KEYCODE_MOVE_HOME
"" "" "" "" 1.6 0x0003 KEYCODE_HOME
0x07 0x004b कीबोर्ड का पेज अप बटन 0x0068 KEY_PAGEUP 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x004c कीबोर्ड से आगे की ओर मिटाना 0x006f KEY_DELETE 3.0 0x0070 KEYCODE_FORWARD_DEL
0x07 0x004d कीबोर्ड पर 'एंड' बटन 0x006b KEY_END 3.0 0x007b KEYCODE_MOVE_END
"" "" "" "" 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x004e कीबोर्ड का Page Down बटन 0x006d KEY_PAGEDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x07 0x004f कीबोर्ड का राइट ऐरो 0x006a KEY_RIGHT 1.6 0x0016 KEYCODE_DPAD_RIGHT
0x07 0x0050 कीबोर्ड का लेफ़्ट ऐरो 0x0069 KEY_LEFT 1.6 0x0015 KEYCODE_DPAD_LEFT
0x07 0x0051 कीबोर्ड का डाउन ऐरो 0x006c KEY_DOWN 1.6 0x0014 KEYCODE_DPAD_DOWN
0x07 0x0052 कीबोर्ड पर अप ऐरो 0x0067 KEY_UP 1.6 0x0013 KEYCODE_DPAD_UP
0x07 0x0053 कीबोर्ड पर Num Lock और Clear 0x0045 KEY_NUMLOCK 3.0 0x008f KEYCODE_NUM_LOCK
0x07 0x0054 कीपैड / 0x0062 KEY_KPSLASH 3.0 0x009a KEYCODE_NUMPAD_DIVIDE
0x07 0x0055 कीपैड * 0x0037 KEY_KPASTERISK 3.0 0x009b KEYCODE_NUMPAD_MULTIPLY
0x07 0x0056 कीपैड - 0x004a KEY_KPMINUS 3.0 0x009c KEYCODE_NUMPAD_SUBTRACT
0x07 0x0057 कीपैड + 0x004e KEY_KPPLUS 3.0 0x009d KEYCODE_NUMPAD_ADD
0x07 0x0058 कीपैड पर ENTER 0x0060 KEY_KPENTER 3.0 0x00a0 KEYCODE_NUMPAD_ENTER
0x07 0x0059 कीपैड 1 और End 0x004f KEY_KP1 3.0 0x0091 KEYCODE_NUMPAD_1
0x07 0x005a कीपैड 2 और डाउन ऐरो 0x0050 KEY_KP2 3.0 0x0092 KEYCODE_NUMPAD_2
0x07 0x005b कीपैड 3 और PageDn 0x0051 KEY_KP3 3.0 0x0093 KEYCODE_NUMPAD_3
0x07 0x005c कीपैड 4 और लेफ़्ट ऐरो 0x004b KEY_KP4 3.0 0x0094 KEYCODE_NUMPAD_4
0x07 0x005d कीपैड 5 0x004c KEY_KP5 3.0 0x0095 KEYCODE_NUMPAD_5
0x07 0x005e कीपैड 6 और राइट ऐरो 0x004d KEY_KP6 3.0 0x0096 KEYCODE_NUMPAD_6
0x07 0x005f कीपैड 7 और होम 0x0047 KEY_KP7 3.0 0x0097 KEYCODE_NUMPAD_7
0x07 0x0060 कीपैड 8 और अप ऐरो 0x0048 KEY_KP8 3.0 0x0098 KEYCODE_NUMPAD_8
0x07 0x0061 कीपैड 9 और पेज अप 0x0049 KEY_KP9 3.0 0x0099 KEYCODE_NUMPAD_9
0x07 0x0062 कीपैड 0 और Insert 0x0052 KEY_KP0 3.0 0x0090 KEYCODE_NUMPAD_0
0x07 0x0063 कीपैड . और मिटाएं 0x0053 KEY_KPDOT 3.0 0x009e KEYCODE_NUMPAD_DOT
0x07 0x0064 कीबोर्ड पर नॉन-यूएस \ और | 0x0056 KEY_102ND 4.0 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0065 कीबोर्ड ऐप्लिकेशन 0x007f KEY_COMPOSE 3.0 0x0052 KEYCODE_MENU
"" "" "" "" 1.6 0x0054 KEYCODE_SEARCH
0x07 0x0066 कीबोर्ड की पावर 0x0074 KEY_POWER 1.6 0x001a KEYCODE_POWER
0x07 0x0067 कीपैड = 0x0075 KEY_KPEQUAL 3.0 0x00a1 KEYCODE_NUMPAD_EQUALS
0x07 0x0068 कीबोर्ड F13 0x00b7 KEY_F13
0x07 0x0069 कीबोर्ड F14 0x00b8 KEY_F14
0x07 0x006a कीबोर्ड F15 0x00b9 KEY_F15
0x07 0x006b कीबोर्ड F16 0x00ba KEY_F16
0x07 0x006c कीबोर्ड F17 0x00bb KEY_F17
0x07 0x006d कीबोर्ड F18 0x00bc KEY_F18
0x07 0x006e कीबोर्ड F19 0x00bd KEY_F19
0x07 0x006f कीबोर्ड F20 0x00be KEY_F20
0x07 0x0070 कीबोर्ड F21 0x00bf KEY_F21
0x07 0x0071 कीबोर्ड F22 0x00c0 KEY_F22
0x07 0x0072 कीबोर्ड F23 0x00c1 KEY_F23
0x07 0x0073 कीबोर्ड F24 0x00c2 KEY_F24
0x07 0x0074 कीबोर्ड से निर्देशों को लागू करना 0x0086 KEY_OPEN
0x07 0x0075 कीबोर्ड से जुड़ी सहायता 0x008a KEY_HELP
0x07 0x0076 कीबोर्ड मेन्यू 0x0082 KEY_PROPS
0x07 0x0077 कीबोर्ड से चुनें 0x0084 KEY_FRONT
0x07 0x0078 कीबोर्ड स्टॉप 0x0080 KEY_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x0079 कीबोर्ड फिर से 0x0081 KEY_AGAIN
0x07 0x007a कीबोर्ड से कार्रवाई रद्द करना 0x0083 KEY_UNDO
0x07 0x007b कीबोर्ड से काटें 0x0089 KEY_CUT
0x07 0x007c कीबोर्ड से कॉपी करना 0x0085 KEY_COPY
0x07 0x007d कीबोर्ड से चिपकाना 0x0087 KEY_PASTE
0x07 0x007e कीबोर्ड से खोजना 0x0088 KEY_FIND
0x07 0x007f कीबोर्ड को म्यूट करना 0x0071 KEY_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x0080 कीबोर्ड से वॉल्यूम बढ़ाना 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x07 0x0081 कीबोर्ड से आवाज़ कम करना 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x0082 कीबोर्ड लॉक करने वाला Caps Lock
0x07 0x0083 कीबोर्ड लॉक करने के लिए Num Lock
0x07 0x0084 कीबोर्ड लॉक करने वाला Scroll Lock
0x07 0x0085 कीपैड पर कॉमा 0x0079 KEY_KPCOMMA 3.0 0x009f KEYCODE_NUMPAD_COMMA
0x07 0x0086 कीपैड पर बराबर का निशान
0x07 0x0087 Keyboard International1 0x0059 KEY_RO
0x07 0x0088 Keyboard International2 0x005d KEY_KATAKANAHIRAGANA
0x07 0x0089 Keyboard International3 0x007c KEY_YEN
0x07 0x008a Keyboard International4 0x005c KEY_HENKAN
0x07 0x008b Keyboard International5 0x005e KEY_MUHENKAN
0x07 0x008c Keyboard International6 0x005f KEY_KPJPCOMMA
0x07 0x008d Keyboard International7
0x07 0x008e Keyboard International8
0x07 0x008f Keyboard International9
0x07 0x0090 Keyboard LANG1 0x007a KEY_HANGEUL
0x07 0x0091 Keyboard LANG2 0x007b KEY_HANJA
0x07 0x0092 Keyboard LANG3 0x005a KEY_KATAKANA
0x07 0x0093 Keyboard LANG4 0x005b KEY_HIRAGANA
0x07 0x0094 Keyboard LANG5 0x0055 KEY_ZENKAKUHANKAKU
0x07 0x0095 Keyboard LANG6
0x07 0x0096 Keyboard LANG7
0x07 0x0097 कीबोर्ड LANG8
0x07 0x0098 Keyboard LANG9
0x07 0x0099 कीबोर्ड से मिटाने का दूसरा तरीका
0x07 0x009a कीबोर्ड SysReq/Attention
0x07 0x009b कीबोर्ड से रद्द करें
0x07 0x009c कीबोर्ड से 'साफ़ करें'
0x07 0x009d Keyboard Prior
0x07 0x009e कीबोर्ड पर मौजूद 'वापस जाएं' बटन
0x07 0x009f कीबोर्ड सेपरेटर
0x07 0x00a0 कीबोर्ड आउट
0x07 0x00a1 Keyboard Oper
0x07 0x00a2 कीबोर्ड पर मौजूद 'साफ़ करें'/'फिर से' बटन
0x07 0x00a3 कीबोर्ड CrSel/Props
0x07 0x00a4 Keyboard ExSel
0x07 0x00b0 कीपैड 00
0x07 0x00b1 कीपैड 000
0x07 0x00b2 हज़ार वाले सेपरेटर
0x07 0x00b3 दशमलव वाली वैल्यू के लिए सेपरेटर
0x07 0x00b4 मुद्रा की इकाई
0x07 0x00b5 मुद्रा की उप-इकाई
0x07 0x00b6 कीपैड ( 0x00b3 KEY_KPLEFTPAREN 3.0 0x00a2 KEYCODE_NUMPAD_LEFT_PAREN
0x07 0x00b7 कीपैड ) 0x00b4 KEY_KPRIGHTPAREN 3.0 0x00a3 KEYCODE_NUMPAD_RIGHT_PAREN
0x07 0x00b8 कीपैड {
0x07 0x00b9 कीपैड }
0x07 0x00ba कीपैड Tab
0x07 0x00bb कीपैड पर Backspace
0x07 0x00bc कीपैड A
0x07 0x00bd कीपैड B
0x07 0x00be कीपैड C
0x07 0x00bf कीपैड D
0x07 0x00c0 कीपैड E
0x07 0x00c1 कीपैड F
0x07 0x00c2 कीपैड XOR
0x07 0x00c3 कीपैड ^
0x07 0x00c4 कीपैड %
0x07 0x00c5 कीपैड <
0x07 0x00c6 कीपैड >
0x07 0x00c7 कीपैड और
0x07 0x00c8 कीपैड &&
0x07 0x00c9 कीपैड |
0x07 0x00ca कीपैड ||
0x07 0x00cb कीपैड :
0x07 0x00cc कीपैड #
0x07 0x00cd कीपैड पर स्पेस
0x07 0x00ce कीपैड @
0x07 0x00cf कीपैड !
0x07 0x00d0 कीपैड मेमोरी स्टोर
0x07 0x00d1 कीपैड मेमोरी रीकॉल
0x07 0x00d2 कीपैड मेमोरी मिटाएं
0x07 0x00d3 कीपैड मेमोरी जोड़ना
0x07 0x00d4 कीपैड से मेमोरी घटाना
0x07 0x00d5 कीपैड मेमोरी मल्टीप्लायर
0x07 0x00d6 कीपैड की मदद से मेमोरी को बांटना
0x07 0x00d7 कीपैड पर +/–
0x07 0x00d8 कीपैड से मिटाएं
0x07 0x00d9 कीपैड से डाली गई जानकारी मिटाना
0x07 0x00da कीपैड बाइनरी
0x07 0x00db कीपैड ऑक्टल
0x07 0x00dc कीपैड पर दशमलव
0x07 0x00dd कीपैड हेक्साडेसिमल
0x07 0x00e0 कीबोर्ड का बायां कंट्रोल 0x001d KEY_LEFTCTRL 3.0 0x0071 KEYCODE_CTRL_LEFT
0x07 0x00e1 कीबोर्ड पर बाईं ओर मौजूद Shift बटन 0x002a KEY_LEFTSHIFT 1.6 0x003b KEYCODE_SHIFT_LEFT
0x07 0x00e2 कीबोर्ड का बायां Alt बटन 0x0038 KEY_LEFTALT 1.6 0x0039 KEYCODE_ALT_LEFT
0x07 0x00e3 कीबोर्ड का बायाँ जीयूआई 0x007d KEY_LEFTMETA 3.0 0x0075 KEYCODE_META_LEFT
0x07 0x00e4 कीबोर्ड का राइट कंट्रोल 0x0061 KEY_RIGHTCTRL 3.0 0x0072 KEYCODE_CTRL_RIGHT
0x07 0x00e5 कीबोर्ड का राइट Shift बटन 0x0036 KEY_RIGHTSHIFT 1.6 0x003c KEYCODE_SHIFT_RIGHT
0x07 0x00e6 कीबोर्ड का दायां Alt बटन 0x0064 KEY_RIGHTALT 1.6 0x003a KEYCODE_ALT_RIGHT
0x07 0x00e7 कीबोर्ड राइट जीयूआई 0x007e KEY_RIGHTMETA 3.0 0x0076 KEYCODE_META_RIGHT
0x07 0x00e8 0x00a4 KEY_PLAYPAUSE 3.0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x07 0x00e9 0x00a6 KEY_STOPCD 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00ea 0x00a5 KEY_PREVIOUSSONG 3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x07 0x00eb 0x00a3 KEY_NEXTSONG 3.0 0x0057 KEYCODE_MEDIA_NEXT
0x07 0x00ec 0x00a1 KEY_EJECTCD 3.0 0x0081 KEYCODE_MEDIA_EJECT
0x07 0x00ed 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x07 0x00ee 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x00ef 0x0071 KEY_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x00f0 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x07 0x00f1 0x009e KEY_BACK 1.6 0x0004 KEYCODE_BACK
0x07 0x00f2 0x009f KEY_FORWARD 3.0 0x007d KEYCODE_FORWARD
0x07 0x00f3 0x0080 KEY_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00f4 0x0088 KEY_FIND
0x07 0x00f5 0x00b1 KEY_SCROLLUP 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x00f6 0x00b2 KEY_SCROLLDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x07 0x00f7 0x00b0 KEY_EDIT
0x07 0x00f8 0x008e KEY_SLEEP
0x07 0x00f9 0x0098 KEY_COFFEE 4.0 0x001a KEYCODE_POWER
0x07 0x00fa 0x00ad KEY_REFRESH
0x07 0x00fb 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR

एचआईडी का सामान्य डेस्कटॉप पेज (0x01)

एचआईडी का इस्तेमाल एचआईडी डिवाइस के इस्तेमाल का नाम LKC Linux पासकोड का कोड नेम वर्शन AKC Android पासकोड का कोड नेम अहम जानकारी
0x01 0x0081 सिस्टम बंद होना 0x0074 KEY_POWER 1.6 0x001a KEYCODE_POWER
0x01 0x0082 सिस्टम स्लीप 0x008e KEY_SLEEP 4.0 0x001a KEYCODE_POWER
0x01 0x0083 सिस्टम को चालू करना 0x008f KEY_WAKEUP 4.0 0x001a KEYCODE_POWER
0x01 0x0084 सिस्टम कॉन्टेक्स्ट मेन्यू
0x01 0x0085 सिस्टम का मुख्य मेन्यू
0x01 0x0086 सिस्टम ऐप्लिकेशन मेन्यू
0x01 0x0087 सिस्टम मेन्यू के बारे में सहायता
0x01 0x0088 सिस्टम मेन्यू से बाहर निकलें
0x01 0x0089 सिस्टम मेन्यू चुनना
0x01 0x008a सिस्टम मेन्यू राइट
0x01 0x008b सिस्टम मेन्यू बाईं ओर
0x01 0x008c सिस्टम मेन्यू अप
0x01 0x008d सिस्टम मेन्यू को नीचे की ओर ले जाना
0x01 0x008e सिस्टम को कोल्ड रीस्टार्ट करना
0x01 0x008f सिस्टम को वॉर्म रीस्टार्ट करना
0x01 0x00a0 सिस्टम डॉक
0x01 0x00a1 सिस्टम अनडॉक करना
0x01 0x00a2 सिस्टम सेटअप
0x01 0x00a3 सिस्टम ब्रेक
0x01 0x00a4 सिस्टम डीबगर ब्रेक
0x01 0x00a5 ऐप्लिकेशन के लिए ब्रेक
0x01 0x00a6 ऐप्लिकेशन डीबगर ब्रेक
0x01 0x00a7 सिस्टम स्पीकर को म्यूट करना
0x01 0x00a8 सिस्टम हाइबरनेट करना
0x01 0x00b0 सिस्टम डिसप्ले को उलटा करना
0x01 0x00b1 सिस्टम डिसप्ले इंटरनल
0x01 0x00b2 सिस्टम डिसप्ले एक्सटर्नल
0x01 0x00b3 सिस्टम डिसप्ले, दोनों
0x01 0x00b4 सिस्टम डिसप्ले ड्यूअल
0x01 0x00b5 सिस्टम डिसप्ले को टॉगल करके अंदरूनी/बाहरी डिसप्ले पर स्विच करना
0x01 0x00b6 सिस्टम डिसप्ले स्वैप प्राइमरी/सेकंडरी
0x01 0x00b7 सिस्टम डिसप्ले एलसीडी का अपने-आप स्केल होना

एचआईडी उपभोक्ता पेज (0x0c)

एचआईडी का इस्तेमाल एचआईडी डिवाइस के इस्तेमाल का नाम LKC Linux पासकोड का कोड नेम वर्शन AKC Android पासकोड का कोड नेम अहम जानकारी
0x0c 0x0030 ताकत
0x0c 0x0031 रीसेट करें
0x0c 0x0032 नींद
0x0c 0x0033 सोने का समय
0x0c 0x0034 प्रयोग में नहीं मोड 0x008e KEY_SLEEP 4.0 0x001a KEYCODE_POWER
0x0c 0x0040 मेन्यू 0x008b KEY_MENU 1.6 0x0052 KEYCODE_MENU
0x0c 0x0041 मेन्यू पिक
0x0c 0x0042 मेन्यू अप
0x0c 0x0043 मेन्यू डाउन
0x0c 0x0044 मेन्यू बाईं ओर
0x0c 0x0045 मेन्यू राइट 0x0181 KEY_RIGHT
0x0c 0x0046 मेन्यू एस्केप
0x0c 0x0047 मेन्यू की वैल्यू में बढ़ोतरी
0x0c 0x0048 मेन्यू वैल्यू में कमी
0x0c 0x0067 पिक्चर में पिक्चर मोड टॉगल करना 0x00ab KEYCODE_WINDOW aosp/1365553 में जोड़ा गया
0x0c 0x0069 लाल रंग का मेन्यू बटन 0x18e KEY_RED 0x00b7 KEYCODE_PROG_RED aosp/1388616 में जोड़ा गया
0x0c 0x006a हरा मेन्यू बटन 0x18f KEY_GREEN 0x00b8 KEYCODE_PROG_GREEN aosp/1388616 में जोड़ा गया
0x0c 0x006b नीले रंग का मेन्यू बटन 0x191 KEY_BLUE 0x00ba KEYCODE_PROG_BLUE aosp/1388616 में जोड़ा गया
0x0c 0x006c पीला मेन्यू बटन 0x190 KEY_YELLOW 0x00b9 KEYCODE_PROG_YELLOW aosp/1388616 में जोड़ा गया
0x0c 0x0081 चुने गए आइटम असाइन करना
0x0c 0x0082 मोड का चरण
0x0c 0x0083 आखिरी बार देखे गए वीडियो को फिर से चलाना 0x0195 KEY_LAST 0xe5 KEYCODE_LAST_CHANNEL aosp/1365551 में जोड़ा गया
0x0c 0x0084 Enter Channel
0x0c 0x0085 मूवी ऑर्डर करना
0x0c 0x0088 Media Select Computer 0x0178 KEY_PC
0x0c 0x0089 Media Select TV 0x0179 KEY_TV 3.0 0x00aa KEYCODE_TV
0x0c 0x008a Media Select WWW 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x008b Media Select डीवीडी 0x0185 KEY_DVD
0x0c 0x008c Media Select Telephone 0x00a9 KEY_PHONE 3.0 0x0005 KEYCODE_CALL
0x0c 0x008d Media Select प्रोग्राम गाइड 0x016a KEY_PROGRAM 3.0 0x00ac KEYCODE_GUIDE
0x0c 0x008e Media Select Video Phone 0x01a0 KEY_VIDEOPHONE
0x0c 0x008f Media Select Games 0x01a1 KEY_GAMES
0x0c 0x0090 Media Select Messages 0x018c KEY_MEMO
0x0c 0x0091 Media Select CD 0x017f KEY_CD
0x0c 0x0092 Media Select वीसीआर 0x017b KEY_VCR
0x0c 0x0093 Media Select ट्यूनर 0x0182 KEY_TUNER
0x0c 0x0094 छोड़ें 0x00ae KEY_EXIT
0x0c 0x0095 सहायता 0x008a KEY_HELP
0x0c 0x0096 Media Select टेप 0x0180 KEY_TAPE
0x0c 0x0097 मीडिया चुनने के लिए केबल 0x017a KEY_TV2
0x0c 0x0098 Media Select Satellite 0x017d KEY_SAT
0x0c 0x0099 Media Select Security
0x0c 0x009a Media Select होम 0x016e KEY_PVR 3.0 0x00ad KEYCODE_DVR
0x0c 0x0061 बंद कैप्‍शन 0x0172 KEY_SUBTITLE 0x00af KEYCODE_CAPTIONS aosp/1365552 में जोड़ा गया
0x0c 0x009c चैनल कंट्रोलर 0x0192 KEY_CHANNELUP 3.0 0x00a6 KEYCODE_CHANNEL_UP
0x0c 0x009d चैनल की संख्या कम करना 0x0193 KEY_CHANNELDOWN 3.0 0x00a7 KEYCODE_CHANNEL_DOWN
0x0c 0x009e Media Select SAP
0x0c 0x00a0 VCR Plus 0x017c KEY_VCR2
0x0c 0x00a1 एक बार
0x0c 0x00a2 हर दिन
0x0c 0x00a3 हर हफ़्ते
0x0c 0x00a4 हर महीने
0x0c 0x00b0 चलाएं 0x00cf KEY_PLAY 3.0 0x007e KEYCODE_MEDIA_PLAY
0x0c 0x00b1 रोकें 0x0077 KEY_PAUSE 3.0 0x0079 KEYCODE_BREAK
0x0c 0x00b2 कॉन्टेंट रिकॉर्ड करने का बटन 0x00a7 KEY_RECORD 3.0 0x0082 KEYCODE_MEDIA_RECORD
0x0c 0x00b3 फ़ास्ट फ़ॉरवर्ड 0x00d0 KEY_FASTFORWARD 3.0 0x005a KEYCODE_MEDIA_FAST_FORWARD
0x0c 0x00b4 रिवाइंड करने का बटन 0x00a8 KEY_REWIND 3.0 0x0059 KEYCODE_MEDIA_REWIND
0x0c 0x00b5 अगला ट्रैक स्कैन करना 0x00a3 KEY_NEXTSONG 3.0 0x0057 KEYCODE_MEDIA_NEXT
0x0c 0x00b6 पिछले ट्रैक को स्कैन करना 0x00a5 KEY_PREVIOUSSONG 3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x0c 0x00b7 रोकें 0x00a6 KEY_STOPCD 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x00b8 निकालें 0x00a1 KEY_EJECTCD 3.0 0x0081 KEYCODE_MEDIA_EJECT
0x0c 0x00b9 रैंडम तरीके से चलाना
0x0c 0x00ba डिस्क चुनना
0x0c 0x00bb Enter Disc
0x0c 0x00bc दोहराएं 0x01b7 KEY_MEDIA_REPEAT
0x0c 0x00be ट्रैक नॉर्मल
0x0c 0x00c0 फ़्रेम फ़ॉरवर्ड
0x0c 0x00c1 फ़्रेम बैक
0x0c 0x00c2 बुकमार्क जोड़ें
0x0c 0x00c3 निशान हटाएं
0x0c 0x00c4 मार्क से दोहराएं
0x0c 0x00c5 मार्क पर वापस जाना
0x0c 0x00c6 Search Mark Forward
0x0c 0x00c7 खोज के लिए, पीछे की ओर मार्क करना
0x0c 0x00c8 काउंटर रीसेट करना
0x0c 0x00c9 काउंटर दिखाएं
0x0c 0x00ca ट्रैकिंग में हुई बढ़ोतरी
0x0c 0x00cb ट्रैकिंग में कमी
0x0c 0x00cc रोकें / निकालें
0x0c 0x00cd चलाएं / रोकें 0x00a4 KEY_PLAYPAUSE 3.0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x0c 0x00ce चलाएं / स्किप करें
0x0c 0x00e2 म्यूट करें 0x0071 KEY_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x0c 0x00e5 बेस बढ़ाएं 0x00d1 KEY_BASSBOOST
0x0c 0x00e6 सराउंड मोड
0x0c 0x00e7 आवाज़
0x0c 0x00e8 MPX
0x0c 0x00e9 आवाज़ बढ़ाना 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x0c 0x00ea आवाज़ कम करना 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x0c 0x0173 ऑडियो में बदलाव करना 0x00de KEYCODE_MEDIA_AUDIO_TRACK aosp/1365554 में जोड़ा गया
0x0c 0x0181 AL लॉन्च बटन का कॉन्फ़िगरेशन. टूल
0x0c 0x0182 एआई से प्रोग्राम किए जा सकने वाले बटन का कॉन्फ़िगरेशन. 0x009c KEY_BOOKMARKS 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x0183 AL Consumer Control Config. 0x00ab KEY_CONFIG 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x0184 AL Word Processor 0x01a5 KEY_WORDPROCESSOR
0x0c 0x0185 AL Text Editor 0x01a6 KEY_EDITOR
0x0c 0x0186 AL स्प्रेडशीट 0x01a7 KEY_SPREADSHEET
0x0c 0x0187 एआई ग्राफ़िक्स एडिटर 0x01a8 KEY_GRAPHICSEDITOR
0x0c 0x0188 एआई प्रज़ेंटेशन ऐप्लिकेशन 0x01a9 KEY_PRESENTATION
0x0c 0x0189 एआई डेटाबेस ऐप्लिकेशन 0x01aa KEY_DATABASE
0x0c 0x018a AL Email Reader 0x009b KEY_MAIL 1.6 0x0041 KEYCODE_ENVELOPE
0x0c 0x018b AL Newsreader 0x01ab KEY_NEWS
0x0c 0x018c AL Voicemail 0x01ac KEY_VOICEMAIL
0x0c 0x018d AL Contacts / Address Book 0x01ad KEY_ADDRESSBOOK 4.0.3 0x00cf KEYCODE_CONTACTS
0x0c 0x018e AL Calendar / Schedule 0x018d KEY_CALENDAR 4.0.3 0x00d0 KEYCODE_CALENDAR
0x0c 0x018f एएल टास्क / प्रोजेक्ट मैनेजर
0x0c 0x0190 AL लॉग / जर्नल / टाइमकार्ड
0x0c 0x0191 AL Checkbook / Finance 0x00db KEY_FINANCE
0x0c 0x0192 AL Calculator 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR
0x0c 0x0193 एआई (AI) की मदद से ए/वी कैप्चर / प्लेबैक
0x0c 0x0194 AL Local Machine Browser 0x0090 KEY_FILE
0x0c 0x0195 AL LAN/WAN ब्राउज़र
0x0c 0x0196 AL Internet Browser 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x0197 AL Remote Networking/ISP Connect
0x0c 0x0198 AL Network Conference
0x0c 0x0199 एआई नेटवर्क चैट 0x00d8 KEY_CHAT
0x0c 0x019a AL Telephony / Dialer
0x0c 0x019b AL Logon
0x0c 0x019c AL Logoff 0x01b1 KEY_LOGOFF
0x0c 0x019d AL Logon / Logoff
0x0c 0x019e AL Terminal Lock / Screensaver 0x0098 KEY_COFFEE 4.0 0x001a KEYCODE_POWER
0x0c 0x019f एआई कंट्रोल पैनल
0x0c 0x01a0 AL Command Line Processor / Run
0x0c 0x01a1 एआई प्रोसेस / टास्क मैनेजर
0x0c 0x01a2 AL Select Task / Application
0x0c 0x01a3 एआई का अगला टास्क / ऐप्लिकेशन
0x0c 0x01a4 AL पिछला टास्क / ऐप्लिकेशन
0x0c 0x01a5 एआई की मदद से, टास्क / ऐप्लिकेशन को पहले से रोकना.
0x0c 0x01a6 AL Integrated सहायता केंद्र 0x008a KEY_HELP
0x0c 0x01a7 AL दस्तावेज़ 0x00eb KEY_DOCUMENTS
0x0c 0x01a8 एआई डिक्शनरी
0x0c 0x01a9 AL Dictionary
0x0c 0x01aa AL Desktop
0x0c 0x01ab AL Spell Check 0x01b0 KEY_SPELLCHECK
0x0c 0x01ac AL Grammar Check
0x0c 0x01ad अल्बानिया में वायरलेस सेवा की स्थिति
0x0c 0x01ae अल्बानियाई कीबोर्ड लेआउट
0x0c 0x01af AL Virus Protection
0x0c 0x01b0 एआई से एन्क्रिप्ट (सुरक्षित) करना
0x0c 0x01b1 AL स्क्रीन सेवर
0x0c 0x01b2 AL Alarms
0x0c 0x01b3 AL Clock
0x0c 0x01b4 AL File Browser
0x0c 0x01b5 AL Power Status
0x0c 0x01b6 एआई (AI) इमेज ब्राउज़र 0x00e2 KEY_MEDIA 3.0 0x004f KEYCODE_HEADSETHOOK
0x0c 0x01b7 AL Audio Browser 0x00d5 KEY_SOUND 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x01b8 AL Movie Browser
0x0c 0x01b9 AL Digital Rights Manager
0x0c 0x01ba AL Digital Wallet
0x0c 0x01bc AL Instant Messaging 0x01ae KEY_MESSENGER
0x0c 0x01bd AL OEM Features / Tips Browser 0x0166 KEY_INFO
0x0c 0x01be AL OEM सहायता
0x0c 0x01bf AL Online Community
0x0c 0x01c0 AL Entertainment Content Browser
0x0c 0x01c1 AL Online Shopping Browser
0x0c 0x01c2 AL SmartCard की जानकारी / सहायता
0x0c 0x01c3 AL Market / Finance Browser
0x0c 0x01c4 AL Customized Corp. News Browser
0x0c 0x01c5 AL Online Activity Browser
0x0c 0x01c6 एआई रिसर्च / Search Browser
0x0c 0x01c7 AL Audio Player
0x0c 0x0201 AC New 0x00b5 KEY_NEW
0x0c 0x0202 एसी ओपन 0x0086 KEY_OPEN
0x0c 0x0203 AC Close 0x00ce KEY_CLOSE
0x0c 0x0204 एसी से बाहर निकलना 0x00ae KEY_EXIT
0x0c 0x0205 एसी ज़्यादा से ज़्यादा चलाना
0x0c 0x0206 AC Minimize
0x0c 0x0207 AC Save 0x00ea KEY_SAVE
0x0c 0x0208 AC Print 0x00d2 KEY_PRINT
0x0c 0x0209 AC प्रॉपर्टी 0x0082 KEY_PROPS
0x0c 0x021a AC Undo 0x0083 KEY_UNDO
0x0c 0x021b AC Copy 0x0085 KEY_COPY
0x0c 0x021c AC Cut 0x0089 KEY_CUT
0x0c 0x021d AC Paste 0x0087 KEY_PASTE
0x0c 0x021e AC Select All
0x0c 0x021f AC Find 0x0088 KEY_FIND
0x0c 0x0220 AC Find and Replace
0x0c 0x0221 AC Search 0x00d9 KEY_SEARCH 1.6 0x0054 KEYCODE_SEARCH
0x0c 0x0222 AC Go To 0x0162 KEY_GOTO
0x0c 0x0223 AC Home 0x00ac KEY_HOMEPAGE 3.0 0x0003 KEYCODE_HOME
0x0c 0x0224 एसी बैक 0x009e KEY_BACK 1.6 0x0004 KEYCODE_BACK
0x0c 0x0225 AC फ़ॉरवर्ड 0x009f KEY_FORWARD 3.0 0x007d KEYCODE_FORWARD
0x0c 0x0226 एसी स्टॉप 0x0080 KEY_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x0227 AC Refresh 0x00ad KEY_REFRESH
0x0c 0x0228 एसी का पिछला लिंक
0x0c 0x0229 AC Next Link
0x0c 0x022a AC बुकमार्क 0x009c KEY_BOOKMARKS 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x022b एसी का इतिहास
0x0c 0x022c AC की सदस्यताएं
0x0c 0x022d एसी ज़ूम इन 0x01a2 KEY_ZOOMIN
0x0c 0x022e AC Zoom Out 0x01a3 KEY_ZOOMOUT
0x0c 0x022f AC Zoom 0x01a4 KEY_ZOOMRESET 2
0x0c 0x0230 एसी का फ़ुल स्क्रीन व्यू
0x0c 0x0231 एसी का सामान्य व्यू
0x0c 0x0232 एसी व्यू टॉगल
0x0c 0x0233 AC Scroll Up 0x00b1 KEY_SCROLLUP 3.0 0x005c KEYCODE_PAGE_UP
0x0c 0x0234 AC Scroll Down 0x00b2 KEY_SCROLLDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x0c 0x0236 AC Pan Left
0x0c 0x0237 एसी पैन राइट
0x0c 0x0239 एसी नई विंडो
0x0c 0x023a AC टाइल हॉरिज़ॉन्टल
0x0c 0x023b AC टाइल वर्टिकल
0x0c 0x023c AC फ़ॉर्मैट
0x0c 0x023d AC Edit
0x0c 0x023e AC Bold
0x0c 0x023f AC Italics
0x0c 0x0240 AC Underline
0x0c 0x0241 एसी स्ट्राइकथ्रू
0x0c 0x0242 एसी सबस्क्रिप्ट
0x0c 0x0243 AC सुपरस्क्रिप्ट
0x0c 0x0244 AC All Caps
0x0c 0x0245 एसी रोटेट
0x0c 0x0246 एसी का साइज़ बदलना
0x0c 0x0247 एसी को हॉरिज़ॉन्टल तरीके से फ़्लिप करना
0x0c 0x0248 AC फ़्लिप वर्टिकल
0x0c 0x0249 एसी मिरर हॉरिज़ॉन्टल
0x0c 0x024a एसी मिरर वर्टिकल
0x0c 0x024b AC Font Select
0x0c 0x024c AC फ़ॉन्ट का रंग
0x0c 0x024d AC फ़ॉन्ट साइज़
0x0c 0x024e AC Justify Left
0x0c 0x024f AC Justify Center H
0x0c 0x0250 AC Justify Right
0x0c 0x0251 AC Justify Block H
0x0c 0x0252 AC Justify Top
0x0c 0x0253 AC Justify Center V
0x0c 0x0254 एसी जस्टिफ़ाई बॉटम
0x0c 0x0255 AC Justify Block V
0x0c 0x0256 एसी इंडेंट घटाएं
0x0c 0x0257 एसी इंडेंट में बढ़ोतरी
0x0c 0x0258 AC नंबर वाली सूची
0x0c 0x0259 AC रीस्टार्ट नंबरिंग
0x0c 0x025a AC Bulleted List
0x0c 0x025b AC Promote
0x0c 0x025c AC Demote
0x0c 0x025d एसी है
0x0c 0x025e एसी नंबर
0x0c 0x025f AC Cancel 0x00df KEY_CANCEL
0x0c 0x0260 AC Catalog
0x0c 0x0261 AC Buy / Checkout
0x0c 0x0262 AC Add to Cart
0x0c 0x0263 AC Expand
0x0c 0x0264 एसी सभी को बड़ा करें
0x0c 0x0265 एसी कॉलपज़
0x0c 0x0266 एसी Collapse All
0x0c 0x0267 AC Print Preview
0x0c 0x0268 AC Paste Special
0x0c 0x0269 एसी इंसर्ट मोड
0x0c 0x026a AC Delete
0x0c 0x026b एसी लॉक
0x0c 0x026c AC Unlock
0x0c 0x026d AC Protect
0x0c 0x026e AC Unprotect
0x0c 0x026f AC Attach Comment
0x0c 0x0270 AC Delete Comment
0x0c 0x0271 AC View Comment
0x0c 0x0272 AC Select Word
0x0c 0x0273 AC Select Sentence
0x0c 0x0274 AC Select Paragraph
0x0c 0x0275 AC Select Column
0x0c 0x0276 AC Select Row
0x0c 0x0277 AC Select टेबल
0x0c 0x0278 AC Select Object
0x0c 0x0279 एसी को फिर से चालू करना / दोहराना 0x00b6 KEY_REDO
0x0c 0x027a AC सॉर्ट
0x0c 0x027b AC Sort Ascending
0x0c 0x027c AC Sort Descending
0x0c 0x027d एसी फ़िल्टर
0x0c 0x027e एसी सेट क्लॉक
0x0c 0x027f AC व्यू घड़ी
0x0c 0x0280 AC Select Time Zone
0x0c 0x0281 AC Edit Time Zones
0x0c 0x0282 एसी सेट करने वाला अलार्म
0x0c 0x0283 AC Clear Alarm
0x0c 0x0284 एसी के लिए अलार्म को स्नूज़ (थोड़ी देर के लिए बंद) करने की सुविधा
0x0c 0x0285 एसी रीसेट करने का अलार्म
0x0c 0x0286 एसी सिंक करें
0x0c 0x0287 एसी भेजना/पाना
0x0c 0x0288 AC Send To
0x0c 0x0289 AC Reply 0x00e8 KEY_REPLY
0x0c 0x028a AC Reply All
0x0c 0x028b AC फ़ॉरवर्ड मैसेज 0x00e9 KEY_FORWARDMAIL
0x0c 0x028c AC Send 0x00e7 KEY_SEND
0x0c 0x028d AC Attach File
0x0c 0x028e AC Upload
0x0c 0x028f AC Download (Save Target As)
0x0c 0x0290 AC Set Borders
0x0c 0x0291 AC Insert Row
0x0c 0x0292 AC Insert Column
0x0c 0x0293 AC Insert File
0x0c 0x0294 एसी की इमेज डालना
0x0c 0x0295 AC Insert Object
0x0c 0x0296 एसी का सिंबल डालना
0x0c 0x0297 AC Save and Close
0x0c 0x0298 एसी का नाम बदलना
0x0c 0x0299 AC मर्ज
0x0c 0x029a एसी स्प्लिट
0x0c 0x029b AC Distribute Horizontally
0x0c 0x029c AC Distribute वर्टिकल

अतिरिक्त नॉन-एचआईडी मैपिंग

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

LKC Linux पासकोड का कोड नेम वर्शन AKC Android पासकोड का कोड नेम अहम जानकारी
0x01d0 KEY_FN 3.0 0x0077 KEYCODE_FUNCTION
0x01d1 KEY_FN_ESC 3.0 0x006f KEYCODE_ESCAPE 3
0x01d2 KEY_FN_F1 3.0 0x0083 KEYCODE_F1 3
0x01d3 KEY_FN_F2 3.0 0x0084 KEYCODE_F2 3
0x01d4 KEY_FN_F3 3.0 0x0085 KEYCODE_F3 3
0x01d5 KEY_FN_F4 3.0 0x0086 KEYCODE_F4 3
0x01d6 KEY_FN_F5 3.0 0x0087 KEYCODE_F5 3
0x01d7 KEY_FN_F6 3.0 0x0088 KEYCODE_F6 3
0x01d8 KEY_FN_F7 3.0 0x0089 KEYCODE_F7 3
0x01d9 KEY_FN_F8 3.0 0x008a KEYCODE_F8 3
0x01da KEY_FN_F9 3.0 0x008b KEYCODE_F9 3
0x01db KEY_FN_F10 3.0 0x008c KEYCODE_F10 3
0x01dc KEY_FN_F11 3.0 0x008d KEYCODE_F11 3
0x01dd KEY_FN_F12 3.0 0x008e KEYCODE_F12 3
0x01de KEY_FN_1 3.0 0x0008 KEYCODE_1 3
0x01df KEY_FN_2 3.0 0x0009 KEYCODE_2 3
0x01e0 KEY_FN_D 3.0 0x0020 KEYCODE_D 3
0x01e1 KEY_FN_E 3.0 0x0021 KEYCODE_E 3
0x01e2 KEY_FN_F 3.0 0x0022 KEYCODE_F 3
0x01e3 KEY_FN_S 3.0 0x002f KEYCODE_S 3
0x01e4 KEY_FN_B 3.0 0x001e KEYCODE_B 3

काम न करने वाली लेगसी कुंजियां

ये मैपिंग, Android के पिछले वर्शन में दिखती थीं, लेकिन ये एचआईडी के साथ काम नहीं करती थीं या इनमें स्टैंडर्ड लिनक्स बटन कोड का इस्तेमाल नहीं किया जाता था. ये अब काम नहीं करते.

LKC Linux पासकोड का कोड नेम वर्शन AKC Android पासकोड का कोड नेम अहम जानकारी
0x00db KEY_EMAIL 1.6 0x004d KEYCODE_AT 4
"" "" 4.0 4
0x00e3 KEY_STAR 1.6 0x0011 KEYCODE_STAR 4
"" "" 4.0 4
0x00e4 KEY_SHARP 1.6 0x0012 KEYCODE_POUND 4
"" "" 4.0 4
0x00e5 KEY_SOFT1 1.6 0x0052 KEYCODE_MENU 4
"" "" 4.0 4
0x00e6 KEY_SOFT2 1.6 0x0002 KEYCODE_SOFT_RIGHT 4
"" "" 4.0 4
0x00e7 KEY_SEND 1.6 0x0005 KEYCODE_CALL 4
"" "" 4.0 4
0x00e8 KEY_CENTER 1.6 0x0017 KEYCODE_DPAD_CENTER 4
"" "" 4.0 4
0x00e9 KEY_HEADSETHOOK 1.6 0x004f KEYCODE_HEADSETHOOK 4
"" "" 4.0 4
0x00ea KEY_0_5 1.6 4
0x00eb KEY_2_5 1.6 4

अहम जानकारी

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

    अमेरिकन इंग्लिश (QWERTY) कीबोर्ड पर, सबसे ऊपर बाईं ओर मौजूद अक्षर वाली बटन पर Q लेबल होता है. फ़्रेंच (AZERTY) कीबोर्ड पर, उसी जगह पर मौजूद बटन को A लेबल किया गया है. लेबल के बावजूद, दोनों कीबोर्ड पर सबसे ऊपर बाईं ओर मौजूद अक्षर वाली बटन को, एचआईडी इस्तेमाल 0x07 0x0014 का इस्तेमाल करके रेफ़र किया जाता है. इसे Linux कीबोर्ड कोड KEY_Q पर मैप किया गया है.

    जब Android को अमेरिकन इंग्लिश कीबोर्ड लेआउट के साथ कॉन्फ़िगर किया जाता है, तो Linux कीबोर्ड कोड KEY_Q को Android कीबोर्ड कोड KEYCODE_Q पर मैप किया जाएगा. साथ ही, 'Q' और 'q' वर्ण जनरेट होंगे. हालांकि, जब Android को फ़्रेंच कीबोर्ड लेआउट के साथ कॉन्फ़िगर किया जाता है, तो Linux कीबोर्ड कोड KEY_Q को Android कीबोर्ड कोड KEYCODE_A पर मैप किया जाएगा. साथ ही, 'A' और 'a' वर्ण जनरेट होंगे.

    आम तौर पर, Android कीवर्ड कोड में, भाषा के हिसाब से कीवर्ड का मतलब दिखता है. इसलिए, अलग-अलग भाषाओं के लिए, Android कीवर्ड कोड का इस्तेमाल किया जा सकता है.

  2. 0x0c 0x022f AC Zoom को एचआईडी में लीनियर कंट्रोल के तौर पर परिभाषित किया गया है, लेकिन कर्नेल इसे बटन के तौर पर मैप करता है, जो शायद गलत है.

  3. Linux फ़ंक्शन बटन KEY_FN_* को आसान की कोड पर मैप किया जाता है, लेकिन इन्हें META_FUNCTION मेटा स्टेटस बिट के 'सही है' पर सेट होने के साथ डिस्पैच किया जाता है.

  4. Android Ice Cream Sandwich 4.0 से पहले, डिफ़ॉल्ट की लेआउट में कुछ अतिरिक्त की कोड के लिए मैपिंग शामिल थीं. ये कोड, मुख्य Linux kernel हेडर में तय नहीं किए गए थे. इन मैपिंग को तब से हटा दिया गया है, क्योंकि पहले से तय नहीं किए गए इन कुंजी कोड को, Linux kernel के नए वर्शन में अलग-अलग मतलब असाइन किए गए हैं.

सोर्स

  1. यूएसबी एचआईडी के इस्तेमाल से जुड़ी टेबल का वर्शन 1.12
  2. Linux 2.6.39 kernel: include/linux/input.h, drivers/hid/hid-input.c
  3. Android ICS: qwerty.kl, Generic.kl, KeyEvent.java