Проблема с чтением Backspace заключается в том, что большинство терминалов «готовятся» в том смысле, что ключи, такие как backspace, обрабатываются драйвером терминала. Тем не менее, функция curses getch()
может считывать клавишу возврата, поскольку она не привязана к терминалу.
Редактировать
Я только что заметил, что ваш код равен с использованием getch()
для ввода. Я запустил небольшую тестовую программу и getch()
возвращает 127, когда вы нажимаете клавишу Backspace. Поэтому попробуйте:
if (key == 127 || key == 8) { ... /* Checks for both Delete or Backspace */
Также обратите внимание, что ваш пример кода использует оператор присваивания =
, когда он должен использовать оператор равенство ==