НАИМЕНОВАНИЕ

     console, keyboard, log - системная консоль


ОПИСАНИЕ

     Драйвер TTY управляет двумя устройствами, связанными с главным
     интерфейсом  пользователя, системным  экраном  и  клавиатурой.
     Вместе они составляют "Консоль".

  Экран
     Экран ПК может управляться  при  помощи  Monochrome  Display
     Adapter,  Hercules  card,  Color Graphics Adapter,  Enhanced
     Graphics Adapter, или  Video  Graphics  Array.  В   драйвере
     консоли эти устройства  представлены как блок видео памяти в
     который могут быть записаны значения  и отображены,  регистр
     ввода/вывода  устанавливающий  видеопамять   на  отображение
     символа, который  должен  быть  отображен   в  главной-левой
     позиции    экрана    и    регистра    ввода/вывода,  который
     устанавливает позицию аппаратного курсора.
     Каждый символ  в  пределах видеопамяти - двухбайтовое слово.
     Низший байт представляет собой символьный код, и высший байт
     является  "приписывающим байтом", который управляет способом
     отображения символа и  его цветом, а  также цветом фона, или
     видео   интенсивности/четкости/изменения   для  монохромного
     видео.

     Это  характеристики  адаптеров  в  текстовом  режиме:

         Адаптер   Используемая память  Моно/Цв
           MDA            4K              M
           Hercules       4K              M
           CGA            16K             C
           EGA            32K             M or C
           VGA            32K             M or C

     Драйвер  консоли  для  MDA  и  Hercules такой же,  поскольку
     графический режим Hercules не используется в MINIX 3.  EGA и
     VGA также ведут себя одинаково в текстовом режиме.
     EGA  адаптер  может  быть  или  монохромным или цветным, это
     зависит  от  экрана прилагаемого  к  нему. VGA адаптер может
     быть запущен  как  в  монохромном, так и в цветном режиме, в
     зависимости   от  того,   как  его  инициализировал  Монитор
     Начальной Загрузки (Boot Monitor).

     Драйвер проверяет источник видео, чтобы избежать копирования
     содержимого экрана  при  прокрутке вниз, перемещая  при этом
     лишь   одну   линию.   Это  называют  "прокруткой аппаратных
     средств", в противоположность копированию памяти ("прокрутка
     программного обеспечения").

     Источник видео также используется, чтобы запустить несколько
     виртуальных  консолей   в   видеопамяти  адаптера. Каждая из
     этих виртуальных консолей  получает  свою часть видеопамяти.
     Драйвер  определяет  какая  консоль  будет  задействована  и
     перемещает источник  видео.  Обратите  внимание, что MDA или
     адаптер Hercules могут поддерживать только одну консоль.
     CGA может поддержать  до  четыре консолей 80x25, а EGA и VGA
     могут иметь восемь.  Наилучший  вариант, конфигурировать  на
     одну  консоль  меньше  чем   это  возможно,  чтобы  оставить
     некоторую видеопамять свободной для использвания аппаратными
     средствами.

     Символьные коды используются как индексы в  экранном шрифте,
     который  сохранен   в   адаптере.   Заданный   по  умолчанию
     шрифт -  IBM   набор  символов,  который   является  набором
     символов   ASCII   в   низших   128  кодах,   и    множестве
     математической, греческой, непонятной графики, и символах  с
     диакритическим знаком   в   высших  128  кодах.  Этот  шрифт
     установлен в MDA, Hercules и CGA адаптерах,  но  может  быть
     заменен пользователем, выбрав  шрифт  для  адаптеров  VGA  и
     EGA.

     Множество символов  управления  и управляющих последователь-
     ностей осуществляются при  помощи  драйвера. Как  результат,
     совместимость с терминалом стандарта ANSI. Termcap(5) -  тип
     используемый  в  minix.   Нормальное  отображение   символов
     консолью, когда они в позиции курсора и курсор продвинут  на
     один столбец правее. Данные на экране будут прокручены, если
     необходим   запуск  новой строки.  Некоторые  символы  имеют
     специальные эффекты, когда они посланы на консоль. Некоторые
     даже  имеют  отображаются    в   форме  запятой,  отделяющей
     десятичные числа. Верхний  левый  символ  в  позиции (1, 1).
     Ниже    приведены    символы    управления   и   управляющие
     последовательности доступные в консоли:

     Последовательность       Наименование                       Функция
      ^@      		         Null                 Игнорируемый (дополняющий символ)
      ^G                         Bell                 производит короткий сигнал из динамика "спикера"

      ^H                         Backspace            перемещает курсор обратно на один столбец, левее.

      ^I                         Horizontal Tab       перемещает курсор к следующей позиции табуляции.
      ^J                         Line Feed            перемещает на одну строку вниз, используя прокрутку при необходимости.
      ^K                         Vertical Tab         тоже самое что и LF
      ^L                         Form Feed            тоже самое что и LF
      ^M                         Carriage Return      обозначает перевод каретки. Перемещает в столбец 1.
      ^[                         Escape               начало управляющей последовательности
      ^[M                        Reverse Index        переход на одну строку выше, прокрутка при необходимости
      ^[[nA                      Cursor Up            перемещает курсор вверх на n строк
      ^[[nB                      Cursor Down          перемещает курсор вниз на n строк
      ^[[nC                      Cursor  Forward      перемещает курсор вправо на n столбцов
      ^[[nD                      Cursor  Backward     перемещает курсор влево на n столбцов
      ^[[m;nH                    Cursor Position      перемещает курсор на строку m,и столбец n
      ^[[sJ                      Erase in Display     Очищает символы следующим образом:
                                                      s = 0: от курсора до конца экрана
                                                      s = 1: от начала экран до позиции курсора
                                                      s = 2: весь экран
      ^[[sK                      Erase in Line        Очищает символы следующим образом:
                                                      s = 0: от курсора до конца строки
                                                      s = 1: от начала строки до позиции курсора
                                                      s = 2: вся строка
      ^[[nL                      Insert Lines         вставляет n пустых строк
      ^[[nM                      Delete Lines         удаляет n строк
      ^[[n@                      Insert Characters    вставляет n пустых символов
      ^[[nP                      Delete Characters    удаляет n символов
      ^[[nm                      Character Attribute  устанавливает символу следующие атрибуты:
                                                      n  =  0:   нормальный (по умолчанию)
                                                      n = 1: полужирный  (высокоинтенсивный цвет)
                                                      n =  4: подчеркивание (моно) / Циан (цвет)
                                                      n = 5: мигание
                                                      n = 7: обратное видео (reverse)
                                                      n  =  30:  на черном фоне
                                                      n = 31: красный
                                                      n = 32: зеленый
                                                      n = 33: коричневый
                                                      n = 34: синий
                                                      n = 35: фуксин
                                                      n = 36: циан
                                                      n = 37: светло серый
                                                      n = 39: цвет по умолчанию (светло серый)
                                                      n =  40-47: то же самое для фонового цвета
                                                      n =  49: по умолчанию (черный)
                                                               Примечание:  в версии "полужирный" черным, коричневый и
                                                               светло серый - становятся темно серым, желтым и белым.


     Копирование шрифта в память на адаптерах VGA и EGA:

          ioctl(fd, TIOCSFON, u8_t font[256][32]);

     Память шрифта представляет собой 256 символов в 32 строки и
     8 пикселей  на  строку.  Первая строка - главная символьная
     строка.   Крайний   левый   символ   подсвечивается,   если
     установлен главный самый существенный  бит  и  т.д. Сколько
     строк используется, зависит от текущего видео режима. Видео
     режим используемый  в  MINIX 3  80x25 имеет 8x16 символов в
     ячейке, 80x28  имеет  8x14 символов, и  132x43  или  132x50
     имеет   8x8   символов.    Переменная   загрузки    консоли
     используется и Boot Monitor ("Монитор Загрузки")и драйвером
     консоли для того, чтобы установить видео режим, программную
     прокрутку ("скроллиг")  on/off,  и  VGA  экран   временного
     простоя. См. boot(8).

  Клавиатура
     Клавиатура  выполняет ключевые  коды  для  каждой  нажатой
     клавиши. Нажатие клавиш преобразуется  в  символьные  коды
     или  последовательности  согласно текущей таблице перевода
     клавиатуры. Формат этой таблицы описан в keymap(5).
     Символьные коды  могут заданы ("прочитаны") консолью, если
     не были использованы специальные клавиши быстрого вызова.
     Ниже приведены примеры сочетания клавиш:

     Клавиши             Назначение клавиш
      CTRL-ALT-DEL     Посылает  сигнал  аварийного  завершения
                       работы системы

      CTRL-ALT-KP-.    аналогично  времени  дополнительной клавиатуры
      F1               дамп таблицы процесса
      F2               показать карту памяти
      F3               переключатель программная/аппаратная прокрутка
      F5               показать сетевую статистику
      CTRL-F7          посылает сигнал выхода всем процесам в консоли
      CTRL-F8          посылает сигнал прерывания
      CTRL-F9          посылает  сигнал  убить  процесс.  При условии
                       что  не будет получен сигнал  от  CTRL-F8  или
                       CTRL-F7, эта комбинация клавиш отменит сигнал.
                       Обычно  использование  DEL   и   CTRL-\, чтобы
                       послать сигнал выхода и прерывания.
      ALT-F1           выбрать виртуальной консоли 0 (/dev/console)
      ALT-F2           выбрать виртуальной консоли 1 (/dev/ttyc1)
      ALT-F(n+1)       выбрать виртуальную консоль n (/dev/ttycn)
      ALT-Left         выбрать предыдущую виртуальную консоль
      ALT-Right        выбрать следующую виртуальную консоль

     Карта  клавиатуры  установлена  с  KIOCSMAP  и  все  необходимые
     настройки скрыты в утилите loadkeys.


  Устройство регистрирования ("лог процессов" )
     Устройство регистрирования может использоваться процессами, чтобы
     затем  отображать сообщения  об  отладке  в  консоли.  Устройство
     регистрирует все процесс происходящие во время сеанса.


СМ. ТАКЖЕ

     tty(4), loadkeys(1), keymap(5), boot(8).


ПРИМЕЧАНИЕ

     Процесс вывода превращает Line Feeds  в  CR  LF  последовательности.
     Не допустите этому удивить вас.  Или выключите обработку вывода или
     используйте один из синонимов для LF.