PDCurses KEY_ENTER не работает

Начнем с того, как выглядит мой код, а затем я объясню свою проблему:

int main {

char ch;  //Stores key presses

initscr();
raw();
nonl();
keypad(stdscr, TRUE);
noecho();

//Some code

ch = getch();
switch (ch) {
case KEY_UP:{
//Code that works
break;
}
case KEY_ENTER:{
//Some code- that doesn't work problem being the above
break;
}
//Other case statements
}

Теперь проблема:
Проблема, с которой я сталкиваюсь, если вы еще не решили ее, заключается в том, что когда я нажимаю клавишу ввода / возврата на моей клавиатуре, абсолютно ничего не происходит.
Я пытался изменить KEY_ENTER в '\n' — не работал — даже изменил char ch который, когда через несколько итераций, включая int а также wchar_t,
Все безрезультатно, и прежде чем вы скажете, ищите ответы и отправляйте меня собирать чемоданы, чтобы отправиться в опасное приключение через каждый уголок сетей, я уже попробовал это, если бы не было, я бы не рискнул здесь, в поисках помощи.
Так что теперь мой поиск привел меня сюда, и я прошу вас — милых людей из паутины — помочь мне в поиске ответа, который я искал
И тому, кто когда-либо будет достаточно храбрым, чтобы ответить на него, я выражаю вам свою благодарность и благодарность

0

Решение

Пытаться case '\r':, (Для хорошей меры, вы могли бы сделать case '\r': case '\n': case KEY_ENTER:, как это обычно делается в testcurs.c, чтобы охватить все возможности.) Призыв к nonl() Вот почему вы получаете ‘\ r’ вместо ‘\ n’.

Что касается KEY_ENTERМоим единственным оправданием является то, что он отмечен как «ненадежный» в комментариях PDCurses. Я мог бы притвориться, что он представляет собой клавишу «Enter» на клавиатуре, а не клавишу, обычно помеченную как «Return» в основной части клавиатуры … за исключением того, что PDCurses также имеет PADENTERспециально для этой цели. По правде говоря, как много вещей в PDCurses, причина KEY_ENTER есть и определено так, как есть, это немного исторический беспорядок.

0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector