श्रापों (ncurses) के माध्यम से तीर कुंजियों से इनपुट प्राप्त करने का प्रयास करने में यह KEY_UP आदि के रूप में नहीं पकड़ेगा। मैंने एक असली तर्क के साथ कीपैड फ़ंक्शन का उपयोग किया लेकिन अभी भी एक बच निकला अनुक्रम लौटाता है। मैं getch() द्वारा दिए गए मानों के माध्यम से कैसे जा सकता हूं और तीर कुंजियों को विशेष रूप से पकड़ सकता हूं?शापित तीर कुंजियां
15
A
उत्तर
13
मैं चार के रूप में getch()
कॉल भंडारण किया गया था जब वे पूर्णांक के होना चाहिए गया: यहाँ चार के लिए देखने के लिए कर रहे हैं। स्विच के बाद पूरी तरह से काम करता है। निम्नलिखित
5
मानक (वीटी 100-जैसे) टर्मिनल तीर कुंजी दबाए जाने पर वर्णों का अनुक्रम भेजते हैं। आपको केवल ट्रैक रखना होगा कि इन्हें अनुक्रम में दबाया गया है या नहीं।
Down Arrow 0x1B 0x5B 0x42
Left Arrow 0x1B 0x5B 0x44
Right Arrow 0x1B 0x5B 0x43
Up Arrow 0x1B 0x5B 0x41
11
मैं मैक ओएस एक्स पर एक ही समस्या पाया लेकिन यह जोड़ कर हल किया गया था:
keypad(stdscr, TRUE);
+2
हालांकि, ओपी ने कहा है कि यह उसके लिए काम नहीं करता है। – augurar
वहाँ कोड आप इन के लिए एक महत्वपूर्ण ctrl संयोजन या अनुक्रम का उपयोग के रूप में प्रवेश कर सकता है बच रहे हैं? –
कोई ज़रूरत नहीं है; आप उन्हें सीधे टाइप कर सकते हैं। 0x1B = esc, 0x5B = [, और 0x41 - 0x44 = ए - डी टाइप करें esc [डी आपके टर्मिनल में, और कर्सर बाईं ओर चला जाता है। –
यह दृष्टिकोण पहली बार शाप पुस्तकालय के साथ काम करने के पूरे उद्देश्य को पूरी तरह से हरा देता है :-) –