Настроить “стрелки” в ncurses

306
21 июня 2017, 01:18

Всем привет. Делаю текстовый редактор используя односвязный список.

int main()
{
    List text;
    initscr();
    keypad(stdscr, true);   //Включаем режим чтения функциональных клавиш
    noecho();               //Выключаем отображение вводимых символов, нужно для getch()
    halfdelay(100);         //Устанавливаем ограничение по времени ожидания getch() в 10 сек
    raw();
    int row,col;
    char symbol;
    bool ex = false;
    getmaxyx(stdscr, row, col);
    while ( !ex )
    {
        char symbol = getch();
        switch( symbol )
        {
        case char(KEY_F(2)):
            ex = true;
            break;
        case char(KEY_F(3)):
            text.DeleteLastNode();
            clear();
            text.printList();
            break;
        default:
            text.AddNode(symbol);
            text.printNode();
            break;
        }
    }
    refresh();

    // refresh(); //Выводим на настоящий экран
    endwin(); //Выход из curses
    return 0;
}

На данный момент функционал такой: Можно печатать текст, и нажимая F3 удаляется последний элемент. И у меня есть пара вопросов:

  1. Почему-то KEY_BACKSPACE не работает ( не важно в принципе, но хотелось бы нормальную клавишу).

  2. Можете подсказать, как настроить стрелочки, чтоб бегать по тексту? Хотя бы влево и вправо.

Список наверное сюда не уместиться, но если надо то могу куда нибудь залить. Заранее спасибо.

READ ALSO
Частичная специализация C++

Частичная специализация C++

Почему этот пример считается частичной специализацией:

289
Как правильно переопределить класс QSqlTableModel?

Как правильно переопределить класс QSqlTableModel?

Я нашел в интернете переопределенный класс tablemodelh:

298
Не работают манипуляторы вывода потока ostream

Не работают манипуляторы вывода потока ostream

Не работает такой простейший вывод:

306
Странное падение программы [требует правки]

Странное падение программы [требует правки]

Добрый день! Наблюдаю странное падение программы на 20-30 раз запуска, а иногда может и совсем не упастьПодцепив отладчик вчера сидел целый...

220