Разработка приложений в среде Linux. Второе издание
Шрифт:
Последовательности setterm представляют собой набор последовательностей CSI с управляющим символом
Таблица 21.10. Консольные последовательности setterm
par | Описание |
---|---|
1 | Устанавливает цвет для представления атрибута подчеркивания параметра par2. |
2 | Устанавливает цвет для представления атрибута тусклости параметра par2. |
8 | Текущие атрибуты setterm сохраняются как значения по умолчанию, тем самым они становятся стандартными атрибутами изображения символов. |
9 | Устанавливает интервал гашения экрана на par2 минуты, но не более чем на 60 минут. Если параметр par2 равен нулю, то гашение экрана блокируется. |
10 | Частота звонковой сигнализации
|
11 | Длительность звукового сигнала консоли приравнивается к par2 миллисекундам, если параметр par2 указан, но не более чем 2000. Если par2 не задан, то восстанавливается стандартная длительность. |
12 | Если для консоли par2 выделена память, то консоль par2 становится активной (см. главу 20). |
13 | Восстанавливает экран после гашения. |
14 | Интервал выключения питания VESA приравнивается к par2 минутам, но не более чем 60 минут. Если параметр par2 равен нулю, то отключение питания VESA блокируется. |
Сообщение консоли того, что она должна отображать — далеко не все; вы также обязаны распознавать последовательности нажатия клавиш и знать, к каким клавишам они привязаны. Некоторые из этих последовательностей определены в базе данных
Последовательности нажатия клавиш описаны в табл. 21.11. Обратите внимание на то, что в нумерации функциональных клавиш имеются пропуски. Это спланировано для того, чтобы пользователи клавиатур, у которых нет клавиш <F11> и <F12>, не были ущемлены.
Таблица 21.11. Кодирование функциональных клавиш
Последовательности нажатия клавиш | Клавиша (клавиши) |
---|---|
^[[[А | <F1> |
^[[[В | <F2> |
^[[[С | <F3> |
^[[[D | <F4> |
^[[[Е | <F5> |
^[[17~ | <F6> |
^[[18~ | <F7> |
^[[19~ | <F8> |
^[[20~ | <F9> |
^[[21~ | <F10> |
^[[23~ | <F11>, <Shift+F1>, <Shift+F11> |
^[[24~ | <F12>, <Shift+F2>, <Shift+F11> |
^[[25~ | <Shift+F3> |
^[[26~ | <Shift+F4> |
^[[28~ | <Shift+F5> |
^[[29~ | <Shift+F6> |
^[[31~ | <Shift+F7> |
^[[32~ | <Shift+F8> |
^[[33~ | <Shift+F9> |
^[[34~ | <Shift+F10> |
^[[А | <Стрелка вверх> |
^[[D | <Стрелка влево> |
^[[В | <Стрелка вниз> |
^[[С | <Стрелка вправо> |
^[[1~ | <Home> |
^[[2~ | <Insert> |
^[[3~ | <Delete> |
^[[4~ | <End> |
^[[5~ | <Page Up> |
^[[6~ | <Page Down> |
21.4.
В некоторых случаях наличие одной только способности выводить символы на экран не является достаточным. Частично это связано с невозможностью определить текущее состояние экрана. В системе Unix принята стандартная практика — состояние экрана игнорируется. Если нужно, вы можете задать настройки экрана, при появлении необходимости внести в них изменения, после чего полностью перерисовывать экран всякий раз, когда этого требует пользователь (как правило, нажатием комбинации
В частности, для работы программ и функций, предназначенных для фиксирования и восстановления экрана, требуется доступ к текущему содержимому экрана. Система Linux предоставляет такой доступ через два интерфейса. Один из них предлагает только текстовое содержимое экрана, второй содержит атрибуты (цвет и так далее).
Простейший текстовый механизм носит название
155
Эта тема логически относится к главе 20, поскольку она имеет отношение к виртуальным консолям. Однако практический смысл вынуждает поместить этот раздел в данную главу — поскольку, как упоминалось во введении, настоящую книгу можно читать и выборочно.
При чтении файла
Один из удобных способов — это использование
Для того чтобы создавать надежные программы, вам, тем не менее, нужны некоторые базовые сведения о состоянии экрана, который не предоставляет механизм
• Цвета.
• Другие атрибуты (например, мерцание).
• Текущая позиция курсора.
• Конфигурация экрана (количество строк и столбцов).
Механизм
Таким образом, если вам требуется знать только размеры консоли и ее текстовое содержимое, то вы можете прочитать первые два байта из соответствующего механизма
Параметр
Атрибуты и символьное содержимое отображаются как переменные байты, первый из которых содержит символ, а второй — атрибуты для применения к этому символу. Байт атрибута, как правило, определяется по аналогии с байтом атрибута, используемым на оборудовании VGA. Остальные виды технических средств, включая карты TGA, применяемые во многих машинах Linux/Alpha, и консольный драйвер SPARC, эмулируют обработку атрибутов VGA. На видеоаппаратуре без поддержки цвета, но с поддержкой подчеркивания, атрибуты могут считываться несколько по-другому. Однако способ разработки позволяет делать вид, что все оборудование ведет себя как VGA.