इस प्रोजेक्ट के बारे में

यह प्रोजेक्ट हानवांग PV60 (Ai Pointer) वॉइस पेन को डेमो पेज-टर्नर से इनपुट डिवाइस में बदलता है। डिवाइस का वास्तविक विक्रेता शेनझेन शुआंगहोउ टेक्नोलॉजी (dosmono) है, हानवांग OEM ब्रांड है। मुख्य सुविधाएँ: शॉर्ट प्रेस ऊपर/नीचे कुंजी से पेज टर्न या स्क्रॉल; लंबा प्रेस ऊपर कुंजी से एंटर, लंबा प्रेस नीचे कुंजी से बैकस्पेस; वॉइस कुंजी एक बार दबाने पर माइक्रोफ़ोन खुलता है और इनपुट विधि वॉइस हॉटकी (राइट Alt) ट्रिगर होती है, दोबारा दबाने पर समाप्त; वॉइस कुंजी दबाए रखने पर एयर माउस मोड (जायरोस्कोप से कर्सर नियंत्रण); ट्रे में बैटरी प्रतिशत, कनेक्शन स्थिति और इंटरसेप्ट विधि प्रदर्शित होती है। हार्डवेयर USB कंपोज़िट डिवाइस (VID_0611 / PID_3001) है, जिसमें USB Audio माइक्रोफ़ोन, HID कीबोर्ड, HID माउस और विक्रेता पेज 0xFF00 का 33-बाइट सेंड/रिसीव चैनल शामिल है, सभी कुंजियाँ और कॉन्फ़िगरेशन विक्रेता पेज से होकर जाते हैं। दस्तावेज़ में कुंजी कोड और बैटरी रिपोर्ट प्रारूप (मिलीवोल्ट लिटिल-एंडियन, आधिकारिक प्रतिशत सूत्र) दर्ज हैं, और बताया गया है कि पेन केवल जागृत अवस्था में हर 10 सेकंड में एक बार बैटरी रिपोर्ट करता है। कार्यान्वयन Interception कीबोर्ड फ़िल्टर ड्राइवर पर निर्भर है ताकि पेन की कुंजियाँ साफ़ तौर पर इंटरसेप्ट की जा सकें, README स्पष्ट रूप से चेतावनी देता है कि यह ड्राइवर ऑनलाइन गेम एंटी-चीट सिस्टम (ACE, Vanguard, VAC/EAC/BattlEye आदि) द्वारा संदिग्ध माना जा सकता है, खेलने से पहले ड्राइवर अनइंस्टॉल करके रीस्टार्ट करने की सलाह दी जाती है; अनइंस्टॉल के बाद प्रोग्राम लो-लेवल कीबोर्ड हुक डिग्रेडेड मोड में चला जाता है, सुविधाएँ अभी भी काम करती हैं लेकिन लंबे प्रेस पर अक्षर लीक हो सकते हैं। README में कई परीक्षण निष्कर्ष भी दर्ज हैं: लंबे प्रेस का व्यवहार फ़र्मवेयर मैक्रो द्वारा कब्जा किया गया है, यूज़र-स्पेस हुक साफ़ तौर पर इंटरसेप्ट नहीं कर सकते; विक्रेता DLL (kwma_x64.dll) प्रोसेस हीप को भ्रष्ट करती है, इसे अलग चाइल्ड प्रोसेस में आइसोलेट करना और गार्डियन रीस्टार्ट जोड़ना आवश्यक है; SDK स्लीपिंग पेन के लिए झूठी सफलता रिपोर्ट करता है, कमांड दोबारा भेजना और केवल-पढ़ने वाले अनुरोध से जीवंतता जाँचना आवश्यक है; कुछ इनपुट विधियाँ इंजेक्शन मार्कर वाले SendInput इवेंट को अनदेखा करती हैं, ड्राइवर लेवल पर कुंजी भेजनी होती है, और वर्चुअल की को स्कैन कोड में बदलने के लिए MAPVK_VK_TO_VSC_EX उपयोग करना होता है; फ़र्मवेयर मैक्रो कॉन्फ़िगरेशन से बदला नहीं जा सकता, और कॉन्फ़िगरेशन लेखन अस्थिर है। रिपॉज़िटरी में मुख्य प्रोग्राम, ऑडियो होस्ट चाइल्ड प्रोसेस, कई रिवर्स-इंजीनियरिंग टूल (पैकेट कैप्चर, A/B तुलना, कमांड एन्यूमरेशन, जीवंतता स्ट्रेस टेस्ट आदि) और डिज़ाइन दस्तावेज़ शामिल हैं। बिल्ड के लिए .NET 8 SDK आवश्यक है, सेल्फ-कंटेन्ड सिंगल फ़ाइल के रूप में प्रकाशित किया जा सकता है। तृतीय-पक्ष घटक (विक्रेता DLL और Interception) रिपॉज़िटरी के साथ वितरित नहीं होते, स्वयं तैयार करने होंगे; विक्रेता DLL के बिना वॉइस सुविधा काम नहीं करती, बाकी सुविधाएँ सामान्य रहती हैं। पथ वर्तमान में हार्डकोडेड D:\pen-hack\ है, कॉन्फ़िगरेशन सहेजने के बाद हॉट-इफेक्टिव होता है। लाइसेंस GNU GPL v3 है, केवल स्वयं के कोड को कवर करता है।