LINUX.ORG.RU

Опредление факта нажатия на клавишу Enter

 ,


0

1
while((ch = getch()) != KEY_F(1))
{
     switch(ch)
     {
          case KEY_ENTER:


Такой код срабатывает лишь на тот Enter, который на цифровом блоке клавиатуры. А как отследить «нормальный» Enter?
P.S. keypad(win, true); сделал. Хотя и нихрена не понял что эта функция делает.

★★☆
Ответ на: комментарий от cdshines

Ну можно конечно, но по сравнению с «KEY_ENTER» это стыд и срам. Тем более, что, скорее всего, это не ограничение библиотеки, а я просто что-то делаю не так. Или вовсе не делаю.

Stahl ★★☆
() автор топика

Key_Return же

anonymous
()
Ответ на: комментарий от Stahl

я просто что-то делаю не так

Все правильно делаешь. С Enter особых проблем нет, можно ловить как \n. А вот комбинации с Ctrl гораздо сложнее. Можно использовать libtermkey и не городить своих костылей.

tusk
()
Ответ на: комментарий от mix_mix

Конечно нет. Но сейчас попробовал — ничего не изменилось.

Stahl ★★☆
() автор топика
Ответ на: комментарий от Stahl

Да, видимо, в ncurses такого дефайна нет.

Ну тогда пользуйся '\n', в чём проблема? Код нажатия всё равно один и тот же.

E ★★★
()
Ответ на: комментарий от Stahl

А как же эстетика

Так эстетика или ncurses?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.