Unix Man (Справочное руководство)


TERMINFO(4) - часть 7


Если существует код, перемещающий курсор на одну позицию влево (обычно это CTRL+H, возврат на шаг), укажите его в символьной характеристике cub1. Аналогично, коды, перемещающие курсор вправо, вверх и вниз задаются в характеристиках cuf1, cuu1 и cud1. Эти локальные перемещения курсора не должны изменять текст, через который проходит курсор. Например, обычно нельзя использовать cuf1=\s, поскольку пробел стирает символ, находящийся в текущей позиции.

Важно отметить, что локальные перемещения курсора нельзя применять, если курсор находится на верхнем или левом краю экрана. Если терминал не обладает характеристикой bw, программа не должна пытаться сдвинуть курсор влево из самой левой позиции. Нельзя также пытаться переместиться вверх из самой верхней строки.

Для того, чтобы сдвинуть текст вверх, необходимо переместиться в левый нижний угол экрана и послать на терминал цепочку символов, заданную в характеристике ind. Для того, чтобы сдвинуть текст вниз, необходимо переместиться в левый верхний угол экрана и послать цепочку, заданную в характеристике ri. Если курсор не находится в указанных позициях, цепочки ind и ri применять нельзя. Существуют также параметризованные характеристики indn и rin, которые отличаются от характеристик ind и ri только тем, что у них есть один параметр, задающий число строк, на которое необходимо сдвинуться. Параметризованные характеристики можно применять только в указанных позициях.

Хотя наличие булевой характеристики am свидетельствует о том, что терминал автоматически переводит курсор на следующую строку при достижении последней колонки, это не обязательно верно для сдвига вправо (cuf1) из последней колонки. Единственное допустимое локальное перемещение, когда курсор находится на границе экрана - это cub1 на левой границе, если терминал обладает характеристикой bw, при этом курсор перемещается на правую границу предыдущей строки, что удобно, например, использовать для рисования рамки по границе экрана. Однако, если терминал не обладает характеристикой bw, эффект перемещения влево с левой границы не определен. Если на терминале есть переключатель, включающий и выключающий автоматические границы, в базе данных terminfo предполагается, что он находится в положении "включено". Если у терминала есть команда, переводящая курсор в первую колонку следующей строки, она задается в символьной характеристике nel.




Начало  Назад  Вперед



Книжный магазин