Управление курсором с помощью curses

В этом разделе рассмотрены различные типы курсоров из библиотеки curses.

В библиотеке curses есть следующие типы курсоров:
логический курсор
Определяет расположение курсора в каждом окне. Структура данных каждого окна отслеживает расположение своего логического курсора. Для каждого окна существует логический курсор.
физический курсор
Курсор дисплея. Этот курсор служит для вывода данных на дисплей рабочей станции. У каждого дисплея существует только один физический курсор.
Логический курсор в окне позволяет только выводить символы или удалять их. Для управления курсором предусмотрены следующие функции:
getbegyx
Помещает начальные координаты окна в целочисленные переменные y и x
getmaxyx
Помещает сведения о размере окна в целочисленные переменные y и x
getsyx
Выдает текущие координаты виртуального курсора дисплея
getyx
Возвращает координаты логического курсора, связанного с определенным окном
leaveok
Позволяет управлять положением физического курсора после вызова функции wrefresh.
перемещение
Перемещает логический курсор, связанный с stdscr.
mvcur
Перемещает физический курсор.
setsyx
Помещает виртуальный курсор дисплея в точку с заданными координатами.
wmove
Перемещает логический курсор, связанный с пользовательским окном.

После вызова функции refresh или wrefresh curses перемещает физический курсор на последний измененный символ в окне. Для того чтобы после обновления физический курсор оставался на первоначальном месте, следует выполнить функцию leaveok, указав нужное окно в параметре Window и значение TRUE в параметре Flag.