سؤال

في محاولة للحصول على إدخال من مفاتيح الأسهم عبر اللعنات (NCURSES)، لن يمسك ك Key_UP وما إلى ذلك. استخدمت وظيفة لوحة المفاتيح مع حجة حقيقية ولكن Getch لا يزال بإرجاع تسلسل هارب. كيف يمكنني تجنب القيم التي تم إرجاعها بواسطة Getch () والاستيلاء على مفاتيح الأسهم على وجه التحديد؟

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

المحلول 2

كنت تخزن getch() يدعو كتشار عندما كان من المفترض أن يكونوا int's. يعمل تماما بعد التبديل.

نصائح أخرى

لقد وجدت نفس المشكلة على Mac OS X. ولكن تم حلها عن طريق إضافة ما يلي:

keypad(stdscr, TRUE);

تقوم المحطات الطرفية (VT100-Like) بإرسال تسلسل من الأحرف عند الضغط على مفاتيح الأسهم. عليك فقط أن تتبع ما إذا كانت هذه يتم ضغطها في تسلسل أم لا. فيما يلي شار لمشاهدة من أجل:

Down Arrow  0x1B 0x5B 0x42
Left Arrow  0x1B 0x5B 0x44
Right Arrow 0x1B 0x5B 0x43
Up Arrow    0x1B 0x5B 0x41
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top