كيف يمكنني معرفة ما إذا كان هناك زر مضغوط في OpenGL/Glut؟(لينكس)

StackOverflow https://stackoverflow.com/questions/808825

  •  03-07-2019
  •  | 
  •  

سؤال

هذه مشكلة مماثلة: وصلة
والتي تم حلها عن طريق استدعاء GetAsyncKeyState().على الرغم من أن كل شيء على ما يرام ومدهش، إلا أنني بحاجة إلى بديل Linux.أريد أن أعرف إذا كان هناك زر محتجز لأسفل، وليس مجرد الضغط عليه (بسبب تأخير المخزن المؤقت للوحة المفاتيح).

هل يوجد شيء مثل هذا في مكتبات OpenGL/Glut، أم سأضطر إلى البحث في مكان آخر؟

هل كانت مفيدة؟

المحلول

لم أستخدم التخمة مطلقًا، لكنني أعلم أن الكثير من الناس سيقولون ذلك SDL أفضل.لقد استخدمت SDL وأعجبني كثيرًا.إنه يفعل كل ما يفعله Glut وأكثر من ذلك بكثير.في SDL، يمكنك استخدام SDL_PollEvent() للحصول على حالة المفتاح دون تأخير المخزن المؤقت للوحة المفاتيح.

يحرر:لا أعرف شيئًا تقريبًا عن التخمة، ولكن يبدو أنه يمكنك استخدامها glutKeyboardFunc للكشف عن المفاتيح العادية، و glutSpecialFunc للمفاتيح التي لا تولد أحرف ASCII (مثل Shift).لست متأكدًا مما إذا كانت هناك طريقة أفضل، لأن هذا لا يبدو لطيفًا جدًا.

نصائح أخرى

ويمكنك الكشف عند حدوث حدث بضغطة وتسجيل تلك الدولة، ومن ثم الاستماع لحدث إطلاق رئيسي.

وكما قال، سيكون لديك لجعل جهازك الدولة الخاصة، والتي من السهل. ولكن تحتاج أيضا إلى استخدام هذا الأسلوب رد على ما أعتقد.

http://pyopengl.sourceforge.net/documentation/manual/glutKeyboardUpFunc. 3GLUT.xml

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top