निम्नलिखित का प्रयास करें: केवल प्राप्त भौतिक keydown/KeyUp के लिए
- उपयोग
glutIgnoreKeyRepeat
घटनाओं
- कुंजीपटल घटनाओं को सुनने के लिए कॉलबैक पंजीकृत करने के लिए
glutKeyboardFunc
का उपयोग करें।
- कुंजीपटल ईवेंट सुनने के लिए कॉलबैक पंजीकृत करने के लिए
glutKeyboardUpFunc
का उपयोग करें।
- कीबोर्ड कुंजी की स्थिति को संग्रहीत करने के लिए
bool keystates[256]
सरणी बनाएं।
- अपने कीडाउन कॉलबैक के माध्यम से कोई ईवेंट प्राप्त करते समय,
keystates[key] = true
सेट करें।
- अपने कीप कॉलबैक के माध्यम से कोई ईवेंट प्राप्त करते समय,
keystates[key] = false
सेट करें।
- अपने रन लूप में,
(keystates['a'] || keystates['A']) && (keystates['j'] || keystates['J'])
पर परीक्षण करें।
उस दिशा में देखें। हालांकि मैंने इसका परीक्षण नहीं किया है, इसे काम करना चाहिए। 'विशेष' कुंजी के लिए संदेश प्राप्त करने के लिए आपको glutSpecialFunc
और glutSpecialUpFunc
की भी आवश्यकता हो सकती है।
साथ ही, जागरूक रहें कि जीएलयूटी वास्तव में पुरानी चीजें है और इसमें बहुत अच्छे विकल्प हैं।
आप इन अच्छे विकल्प के बारे में और अधिक बता सकते हैं? – colorfulgrayscale