मैं एक बारकोड स्कैनर से इनपुट को पढ़ने की कोशिश कर रहा हूं जो हिदापी (https://github का उपयोग करके एक कीबोर्ड की तरह व्यवहार करता है। कॉम/सिग्नल11/हिडापी)। जाहिरा तौर पर ओएस मुझे स्कैनर तक पहुंचने की अनुमति नहीं देता है क्योंकि यह एक कीबोर्ड की तरह व्यवहार करता है और सुरक्षा कारणों से ओएस सभी कीबोर्ड और चूहों के उपकरणों का मालिक है। इस बारकोड स्कैनर का निर्माता कोई ड्राइवर प्रदान नहीं करता है। क्या ओएस को इस बारकोड स्कैनर के मालिक होने से रोकने का कोई तरीका है या शायद इसे सीरियल पोर्ट में बदलने और इससे पढ़ने का कोई तरीका है?

यदि इसके लिए कोई समाधान नहीं है, तो क्या किसी को सस्ते बारकोड स्कैनर के बारे में पता है जो एक कीबोर्ड की तरह व्यवहार नहीं करता है ताकि मैं इसे एक्सेस करने के लिए हिदापी का उपयोग कर सकूं? या मैं कैसे जान सकता हूँ कि एक बारकोड एक कीबोर्ड की तरह व्यवहार नहीं करेगा? यह एक बहुत ही विशिष्ट प्रश्न है जिसका अधिकांश विक्रेता उत्तर देना नहीं जानते हैं।

धन्यवाद।

0
Daniel Oliveira 3 नवम्बर 2019, 22:53

2 जवाब

एक उपकरण जो केवल कीबोर्ड इनपुट का अनुकरण करता है, जैसे कि बारकोड स्कैनर, के पास गेम कंट्रोलर जैसे इंटरैक्टिव डिवाइस के बजाय प्रोग्रामेटिक रूप से नियंत्रित करने का कोई तरीका नहीं है।

आप बस बारकोड डेटा को कीबोर्ड इनपुट डेटा के रूप में अधिसूचित किए जाने की प्रतीक्षा करें।

यदि आपके पास डिवाइस नहीं है तो भी यह आपको सूचित करेगा। दूसरे शब्दों में, आपको कीबोर्ड फ़ोकस का स्वामी होना चाहिए। यह सामान्य विंडोज प्रोग्रामिंग ज्ञान है।

कई कीबोर्ड इनपुट बारकोड स्कैनर में प्रीफ़िक्स/प्रत्यय कोड को कस्टमाइज़ करने की क्षमता होती है जो बारकोड डेटा इनपुट की पहचान करने के लिए आगे और पीछे जोड़े जाते हैं।

सेटिंग्स बारकोड को पढ़कर उन्हें कस्टमाइज किया जा सकता है।

एप्लिकेशन प्रोग्राम में अधिसूचित कुंजी कोड को एक-एक करके जांचें, और यदि ऐसा विशेष डेटा आता है, तो कृपया इसे बारकोड डेटा के रूप में मानें।

0
kunif 4 नवम्बर 2019, 08:07

"ओएस" से आपका मतलब विंडोज़ है? अन्य ऑपरेटिंग सिस्टम आमतौर पर कीस्ट्रोक्स को इंटरसेप्ट करने का एक साधन प्रदान करते हैं। उदाहरण के लिए, Linux में इनपुट सबसिस्टम है जो आपको कीबोर्ड ईवेंट को इंटरसेप्ट करने देता है जैसे कि कीज़ को दबाया और छोड़ा जा रहा है। दुर्भाग्य से, ये आप पर छोड़ देते हैं कि आप स्वयं ASCII/UTF-8 वर्णों में कनवर्ट करें।

एक आसान विकल्प, ओएस की परवाह किए बिना, एक बारकोड स्कैनर की तलाश करना हो सकता है जो एक यूएसबी-सीरियल डिवाइस का अनुकरण करता है। यह सिस्टम को विंडोज़ में COMx, लिनक्स में /dev/ttyUSBx आदि के रूप में दिखाई देगा। फिर आप सीरियल पोर्ट लाइब्रेरी का उपयोग करके केवल डेटा पढ़ सकते हैं और कीबोर्ड फोकस के बारे में चिंता न करें।

0
Frank P 22 फरवरी 2020, 00:34