Менеджер для управления VGA консолью и клавиатурой (HID интерфейс)
devc-con-hid [опции менеджера][опции библиотеки io_char] &
Caps Lock. Num Lock. Scroll Lock. Num Lock вместо Scroll Lock для переключения раскладки клавиатуры.4; максимальное значение – 9.ЗОСРВ «Нейтрино» редакции 2021 Ctrl - Shift для смены раскладки клавиатуры.57600).256).2048).2048).| Опции | Режим | Программное управление обменом данными |
|---|---|---|
| -e | Редактируемый режим | Активировано |
| -S -e | Редактируемый режим | Активировано |
| -e -S | Редактируемый режим | Деактивировано |
| -E | Режим необработанных данных (raw mode) | Деактивировано |
| -s -E | Режим необработанных данных (raw mode) | Деактивировано |
| -E -s | Режим необработанных данных (raw mode) | Активировано |
ЗОСРВ «Нейтрино»
x86
| Для запуска этого драйвера необходимо войти в систему под учетной записью root. |
Менеджер devc-con-hid реализует интерфейс к VGA консоли и клавиатуре. Обычно он запускается в одном из системных стартовых сценариев (см. diskboot).
После запуска менеджер devc-con создает устройства (/dev/con1, /dev/con2 и т.д.; максимальное число логических консолей определяется опцией -n) и управляет ими. Менеджер devc-con-hid аналогичен менеджеру devc-con, однако работает через io-hid и поддерживает интерфейсы PS2, USB, и другие устройства с человеко-машинным интерфейсом. Если выполняется чтение из устройства /dev/console, эти менеджеры возвращают символы, введенные на клавиатуре. Если выполняется вывод в устройство /dev/console, эти менеджеры выводят информацию на экран.
Если в приложении используется консоль /dev/console, следует привязать ее к одному из устройств (/dev/con1, /dev/con2, ...) путем добавления следующей строки в файл построения образа, используемый в команде mkifs:
[type=link] /dev/console = /dev/con1 |
Менеджер devc-con-hid эмулируют ANSI-терминал 80х25 символов.
Управление с клавиатуры
С помощью клавиатуры можно переключаться между виртуальными консолями. В каждой виртуальной консоли могут быть запущены разные приложения, использующие весь экран. Клавиатура подключается к виртуальной консоли, отображаемой в данный момент. От одной виртуальной консоли к другой (и, следовательно, от одного приложения к другому) можно переключаться с помощью следующих комбинаций клавиш:
| Направление переключения | Сочетание клавиш |
|---|---|
| К следующей активной консоли | Ctrl - Alt - Enter или Ctrl - Alt - + (плюс) |
| К предыдущей активной консоли | Ctrl - Alt - - (минус) |
| В комбинациях клавиш для переключения консолей используются клавиши + (плюс) и - (минус), расположенные на дополнительной цифровой клавиатуре. |
Кроме того, для быстрого перехода к определенной консоли можно использовать комбинацию клавиш Ctrl - Alt - n, где цифра n является номером виртуальной консоли. Пример:
| Направление переключения | Сочетание клавиш |
|---|---|
/dev/con1 | Ctrl - Alt - 1 |
/dev/con2 (если доступно) | Ctrl - Alt - 2 |
| ... | ... |
/dev/con10 (если доступно) | Ctrl - Alt - 0 |
Наборы символов
С помощью менеджера devc-con-hid можно выбирать используемые наборы символов из "палитры" наборов, каждая из которых программируется независимо и содержит один из нескольких встроенных наборов символов.
Используемый диапазон символов разделен на четыре группы, содержащие символы с шестнадцатеричными кодами от 0x00 до 0xff. Две группы представляют собой фиксированные наборы управляющих символов, а другие две группы могут быть настроены и содержать следующие варианты наборов символов:
| Шестнадцатеричное значение | Имя | Варианты выбора |
|---|---|---|
0x00–0x1f | С0 (Control Zero) | Не изменяется |
0x20–0x7f | GL (Graphics Left) | G0, G1, G2, G3 |
0x80–0x9f | C1 (Control One) | Не изменяется |
0xa0–0xff | GR (Graphics Right) | G1, G2, G3 |
В используемых наборах символов GL и GR можно выбрать несколько наборов символов из G0, G1, G2 и G3.
| Набор | Значение | Используемый код |
|---|---|---|
| GL | G0 | {LS0} = {SI} (0f) |
| GL | G1 | {LS1} = {SO} (0e) |
| GL | G2 | {LS2} = {ESC n} (1b 6e) или {SS2} (8e) |
| GL | G3 | {LS3} = {ESC o} (1b 6f) или {SS3} (8f) |
| GR | G1 | {LS1R} = {ESC ~} (1b 7e) |
| GR | G2 | {LS1R} = {ESC }} (1b 7d) |
| GR | G3 | {LS2R} = {ESC |} (1b 7c) |
Обозначение кода {LS*} расшифровывается как "Locking Shift" (смена регистра с фиксацией). Выбранный таким способом набор символов продолжает применяться до передачи другого кода {LS*}.
Обозначение кода {SS*} расшифровывается как "Single Shift" (однократная смена регистра); действие этого кода распространяется только на следующий символ. После следующего символа снова начинает применяться предыдущая установка действующего набора символов. Только два кода {SS*}, а именно {SS2} и {SS3}, позволяют отображать, соответственно, группы G2 в GL и G3 в GL.
Для каждого набора символов (от G0 до G3) можно установить любой из доступных встроенных шрифтов. Это выполняется с помощью следующего управляющего кода:
ESC g s
где:
| g | Устанавливаемый набор |
|---|---|
| ( | G0 |
| ) | G1 |
| * | G2 |
| + | G3 |
и
| s | Указываемая кодировка |
|---|---|
| B | ASCII |
| 0 | Специальный набор символов (DEC Graphic) |
| < | Дополнительный набор символов ISO-Latin1 |
| U | Набор символов PC |
Наборы символов по умолчанию
Используются следующие наборы символов:
| Используемый набор символов | По умолчанию |
|---|---|
| GR | G2 |
| GL | G0 |
Коды наборов символов
| Набор символов | По умолчанию |
|---|---|
| G0 | Набор символов ASCII |
| G1 | Специальный набор символов (DEC Graphic) |
| G2 | Дополнительный набор символов (ISO-Latin 1) |
| G3 | Специальный набор символов (DEC Graphic) |
Пример набора символов:
Установка для используемого набора символов GL (0x20–0x7f) набора символов PC до G1, ввод нескольких символов, затем переключение GL обратно в G0:
{ESC )U} 1e 29 55 (Установка G1 набором символов PC){SO} 0e (Установка для GL набора G1).. (Ввод символов из набора графических символов PC).{SI} 0f (Установка для GL набора G0)
Управляющие коды экрана ANSI
В таблицах используются следующие обозначения и аббревиатуры:
|
Управляющие коды C0
В следующей таблице приведены управляющие коды C0.
| ASCII | ANSI Mnemonic | Шестнадцатеричный код | Действие |
|---|---|---|---|
| {NUL} | 00 | Null | |
| {BEL} | 07 | Bell | |
| {BS} | 08 | Back Space (VT100 defaults to no wrap from left margin) | |
| {HT} | 09 | Horizontal Tab (VT100 defaults to no autowrap) | |
| {LF} | 0A | Linefeed or Newline | |
| {VT} | 0B | Same as LF | |
| {FF} | 0C | Clears Screen (QNX Extension) | |
| {CR} | 0D | Move cursor to left margin | |
| {SO} | {LS1} | 0E | GL is set to G1 |
| {SI} | {LS0} | 0F | GL is set to G0 (default) |
| {XON} | {DC1} | 11 | XON |
| {XOFF} | {DC0} | 13 | XOFF |
| {CAN} | 18 | Cancels ESC sequence | |
| {SUB} | 1A | Cancels ESC sequence and prints ? | |
| {ESC} | 1B | Start of ESC sequence | |
| {DEL} | 7F | Ignored on output |
Управляющие ESC-последовательности
В следующей таблице приведены управляющие ESC-последовательности.
| Строка | Шестнадцатеричный код | Действие |
|---|---|---|
| {ESC 7} | 1B 37 | Сохранение курсора |
| {ESC 8} | 1B 38 | Восстановление курсора |
| {ESC =} | 1B 3D | Установка режима малой клавиатуры приложения |
| {ESC >} | 1B 3E | Установка режима цифровой клавиатуры (по умолчанию) |
| {ESC D} | 1B 44 | 7-разрядные коды для {IND} (84) |
| {ESC E} | 1B 45 | 7-разрядные коды для {NEL} (85) |
| {ESC H} | 1B 48 | 7-разрядные коды для {HTS} (88) |
| {ESC M} | 1B 4D | 7-разрядные коды для {RI} (8D) |
| {ESC N} | 1B 4E | 7-разрядные коды для {SS2} (8E) |
| {ESC O} | 1B 4F | 7-разрядные коды для {SS3} (8F) |
| {ESC P} | 1B 50 | 7-разрядные коды для {DCS} (90) |
| {ESC [} | 1B 5B | 7-разрядные коды для {CSI} (9B) |
| {ESC \} | 1B 5C | 7-разрядные коды для {ST} (9C) |
| {ESC ]} | 1B 5D | 7-разрядные коды для {OSC} (9D) |
| {ESC ^} | 1B 5E | 7-разрядные коды для {PM} (9E) |
| {ESC _} | 1B 5F | 7-разрядные коды для {APC} (9F) |
| {ESC Z} | 1B 5A | Идентификация терминала |
| {ESC c} | 1B 63 | Аппаратный сброс (очистка экрана) (для программного сброса используется {CSI ! P}) |
| {ESC n} | 1B 6E | (LS2) Для GL устанавливается G2 (220+) |
| {ESC o} | 1B 6F | (LS3) Для GL устанавливается G3 (220+) |
| {ESC |} | 1B 7C | (LS3R) Для GR устанавливается G3 (220+) |
| {ESC }} | 1B 7D | (LS2R) Для GR устанавливается G2 (220+) (по умолчанию) |
| {ESC ~} | 1B 7E | (LS1R) Для GR устанавливается G1 |
| {ESC sp F} | 1B 20 46 | Клавиатура генерирует 7-разрядные коды C1 (включая CSI) (по умолчанию) |
| {ESC sp G} | 1B 20 47 | Клавиатура генерирует 8-разрядные коды C1 (включая CSI) (220+) |
| {ESC ( 0} | 1B 28 30 | Для G0 устанавливается специальный набор символов |
| {ESC ( <} | 1B 28 3C | Для G0 устанавливается дополнительный набор символов |
| {ESC ( A} | 1B 28 41 | Для G0 устанавливается набор символов U.K. (не реализовано; то же, что и ASCII) |
| {ESC ( B} | 1B 28 42 | Для G0 устанавливается набор символов ASCII (по умолчанию) |
| {ESC ( U} | 1B 28 55 | Для G0 устанавливается набор символов PCterm graphics |
| {ESC ) 0} | 1B 29 30 | Для G1 устанавливается специальный набор символов (по умолчанию) |
| {ESC ) <} | 1B 29 3C | Для G1 устанавливается дополнительный набор символов |
| {ESC ) A} | 1B 29 41 | Для G1 устанавливается набор символов U.K. (не реализовано, то же, что и ASCII) |
| {ESC ) B} | 1B 29 42 | Для G1 устанавливается набор символов ASCII |
| {ESC ) U} | 1B 29 55 | Для G1 устанавливается набор символов PCterm graphics |
| {ESC * 0} | 1B 2A 30 | Для G2 устанавливается специальный набор символов (220+) |
| {ESC * <} | 1B 2A 3C | Для G2 устанавливается дополнительный набор символов (220+) (по умолчанию) |
| {ESC * B} | 1B 2A 42 | Для G2 устанавливается набор символов ASCII (220+) |
| {ESC * U} | 1B 2A 55 | Для G2 устанавливается набор символов PCterm graphics |
| {ESC + 0} | 1B 2B 30 | Для G3 устанавливается специальный набор символов (220+) (поумолчанию) |
| {ESC + <} | 1B 2B 3C | Для G3 устанавливается дополнительный набор символов (220+) |
| {ESC + B} | 1B 2B 42 | Для G3 устанавливается набор символов ASCII (220+) |
| {ESC + U} | 1B 2B 55 | Для G3 устанавливается набор символов PCterm graphics |
Управляющие символы C1 (220+)
| Любой 8-разрядный код группы C1 можно представить как 7-разрядный код ESC, за которым следует 8-разрядный код с вычтенным шестнадцатеричным значением 0x40. Например, код CSI (Control Sequence Introducer; индикатор управляющей последовательности) в 8-разрядном режиме можно представить как 0x9b, в то время как в 7-разрядном режиме этот код должен быть представлен как ESC [ (0x1b 0x5b). |
В следующей таблице приведены коды управляющих символов C1.
| ASCII | Шестнадцатеричный код | Действие |
|---|---|---|
| {IND} | 84 | Перемещение курсора вниз, с прокруткой |
| {NEL} | 85 | Перемещение к левой границе в следующей строке, с прокруткой |
| {HTS} | 88 | Установка горизонтальной табуляции |
| {RI} | 8D | Перемещение курсора вверх, с прокруткой |
| {SS2} | 8E | Для GL устанавливается G2 (применяется к одному символу) |
| {SS3} | 8F | Для GL устанавливается G3 (применяется к одному символу) |
| {DCS} | 90 | Управляющая строка Start of Device |
| {CSI} | 9B | Индикатор управляющей последовательности |
| {ST} | 9C | Управляющая строка End of Device |
| {OSC} | 9D | Команда операционной системы |
| {PM} | 9E | Частное сообщение |
| {APC} | 9F | Команда прикладной программы |
Управляющие последовательности группы CSI
В 7-разрядном режиме для CSI используется представление ESC [. В 8-разрядном режиме для CSI используется шестнадцатеричный код 0x9B. Для представления переменной n используется спецификация ANSI. Например, печать двух пробелов:
|
В следующей таблице приведены коды управляющих последовательностей группы CSI.
| ASCII | Шестнадцатеричный код | Действие |
|---|---|---|
| {CSI [n] @} | 9B [n] 40 | Вставка n пробелов в позиции курсора (по умолчанию – 1 пробел) |
| {CSI [n] A} | 9B [n] 41 | Перемещение курсора вверх на n строк, без переноса текста (по умолчанию – на 1 строку) |
| {CSI [n] B} | 9B [n] 42 | Перемещение курсора вниз на n строк, без переноса текста (по умолчанию – на 1 строку) |
| {CSI [n] C} | 9B [n] 43 | Перемещение курсора вправо на n столбцов, без переноса текста (по умолчанию – на 1 столбец) |
| {CSI [n] D} | 9B [n] 44 | Перемещение курсора влево на n столбцов, без переноса текста (по умолчанию – на 1 столбец) |
| {CSI [n] F} | 9B [n] 46 | Перемещение курсора вверх на n строк, установка в первый столбец (по умолчанию – на 1 строку) |
| {CSI [n] G} | 9B [n] 47 | Перемещение курсора в столбец n (по умолчанию – в столбец 1) |
| {CSI [r[;c]] H} | 9B [r [3B c]] 48 | Позиция курсора (по умолчанию – строка 1; столбец 1) |
| {CSI [n] J} | 9B [n] 4A | Стирание: 0 – от курсора до конца экрана, 1 – от начала экрана до курсора, 2 – весь экран (по умолчанию – 0) |
| {CSI [n] K} | 9B [n] 4B | Стирание: 0 – от курсора до конца строки, 1 – от начала строки до курсора, 2 – всей строки (по умолчанию – 0) |
| {CSI [n] L} | 9B [n] 4C | Вставка n строк (по умолчанию – 1 строка) |
| {CSI [n] M} | 9B [n] 4D | Удаление n строк (по умолчанию – 1 строка) |
| {CSI [n] P} | 9B [n] 50 | Удаление n символов (по умолчанию – 1 символ) |
| {CSI [n] S} | 9B [n] 53 | Прокрутка вперед на n строк (по умолчанию – на 1 строку) |
| {CSI [n] T} | 9B [n] 54 | Прокрутка назад на n строк (по умолчанию – на 1 строку) |
| {CSI [n] X} | 9B [n] 58 | Стирание n - 1 символов от позиции курсора (по умолчанию – 1, то есть 0 символов) |
| {CSI Z} | (9B 5A) | Обратная табуляция |
| {c CSI [n] b} | c 9B [n] 62 | Повторение символа c из GR или GL n раз, где c – последний отображаемый символ; значение n по умолчанию – 1 |
| {CSI 0 c} | (9B 30 63) | Запрос атрибутов первичного устройства |
| {CSI [n] d} | 9B [n] 64 | Перемещение курсора на строку n (по умолчанию – на строку 1) |
| {CSI [n] g} | 9B [n] 67 | Очистка позиций табуляции: 0 – под курсором, 2 – все (по умолчанию – 0) |
| {CSI [n[;n]...] h} | 9B [n[3B n]...] 68 | Режим стандартных установок (см. таблицу режимов) (по умолчанию – отсутствует) |
| {CSI ? [n[;n]...] h} | 9B 3F [n[3B n]...] 68 | Режим частных установок (см. таблицу режимов) (по умолчанию – отсутствует) |
| {CSI [n[;n]...] l} | 9B [n[3B n]...] 6C | Режим стандартного сброса (см. таблицу режимов) (по умолчанию – отсутствует) |
| {CSI ? [n[;n]...] l} | 9B 3F [n[3B n]...] 6C | Режим частного сброса (см. таблицу режимов) (по умолчанию – отсутствует) |
| {CSI [n[;n]...] m} | 9B [n[3B n]...] 6D | Выбор вида графической передачи (см. ниже) (по умолчанию – 0) |
| {CSI n n} | 9B n 6E | Статус устройства: 5 – статус, 6 – курсор/позиция |
| {CSI [r[;c]] r} | 9B [r[3B c]] 72 | Установка зоны прокрутки и начального положения курсора |
| {CSI r} | 9B 72 | Отмена зоны прокрутки и начального положения курсора |
| {CSI s} | 9B 73 | Сохранение курсора |
| {CSI u} | 9B 75 | Восстановление курсора |
| {CSI ! p} | 9B 21 70 | Программный сброс |
| {CSI [n[;n]] ]} | 9B [n[3B n]...] 5D | Установка по умолчанию: 1 – подчеркивание, 2 – половинная яркость, 8 – цветовой набор (по умолчанию – отсутствует) |
| {CSI = [f[;d]] B} | 9B 3D [f[3B d]] 46 | Установка частоты (Гц) и длительности (мс) звонка (по умолчанию – 100 Гц, 250 мс) |
| {CSI = [n] F} | 9B 3D [n] 46 | Установка и сохранение цвета фона |
| {CSI = [n] G} | 9B 3D [n] 47 | Установка и сохранение фонового цвета |
Графическая передача
В следующей таблице приведены коды графической передачи.
| Номер | Значение |
|---|---|
| 0 | Отключение всех атрибутов (кроме наборов символов (10, 11, 12)) |
| 1 | Полужирный |
| 2 | Половинная яркость (по умолчанию – голубой цвет (cyan) на цветном экране) |
| 4 | Подчеркивание (по умолчанию – красный цвет на цветном экране) |
| 5 | Мигание |
| 7 | Негативное изображение |
| 9 | Режим невидимости |
| 10 | Прекращение использования альтернативного набора символов (восстанавление GR и GL) |
| 11 | Переход в "нижний" набор символов PC (PC-Lower) (для GR и GL используется ASCII; для C0 и C1 используется PC_LO, за исключением ESC-последовательностей) |
| 12 | Переход в "верхний" набор символов PC (PC-Higher) (для GR, C1 и GL, C0 используется набор PC_HI, за исключением ESC-последовательностей) |
| 21 | Нормальная яркость (отмена полужирного выделения) |
| 22 | Нормальная яркость (отмена половинной яркости) |
| 24 | Отключение подчеркивания |
| 25 | Отключение мигания |
| 27 | Отключение негативного изображения |
| 29 | Режим видимости |
| 30-37 | Установка цвета фона (30 + номер_цвета, см. ниже) |
| 39 | Установка сохраненного цвета фона |
| 40-47 | Установка фонового цвета (40 + номер_цвета, см. ниже) |
| 49 | Установка сохраненного фонового цвета |
Номера цветов
В следующей таблице приведены номера используемых цветов.
| номер_цвета | Описание |
|---|---|
| 0 | Черный |
| 1 | Красный |
| 2 | Зеленый |
| 3 | Коричневый |
| 4 | Синий |
| 5 | Фиолетовый |
| 6 | Голубой |
| 7 | Белый |
Режимы
Используются следующие режимы:
| Строка режима | Описание |
|---|---|
| ?1h | Клавиши управления курсором = приложение |
| ?1l | Клавиши управления курсором = ANSI (по умолчанию) |
| ?3h | 132 столбца (не реализовано) |
| ?3l | 80 столбцов (по умолчанию) |
| ?5h | Экран с негативным изображением |
| ?5l | Экран без негативного изображения (по умолчанию) |
| ?6h | Исходный режим |
| ?6l | Абсолютный режим |
| ?7h | Автоматический перенос включен |
| ?7l | Автоматический перенос выключен (по умолчанию) |
| ?25h | Режим видимости курсора (по умолчанию) |
| ?25l | Режим невидимости курсора |
| ?45h | Режим обратного циклического переноса |
| ?45l | Без обратного циклического переноса |
| ?66h | Клавиатура = приложение |
| ?66l | Клавиатура = ANSI |
| ?67h | Клавиша Backspace генерирует код BS |
| ?67l | Клавиша Backspace генерирует код DEL |
Отображение клавиатуры ЗОСРВ «Нейтрино» на клавиши ANSI
В следующей таблице приведены коды отображений клавиш ANSI.
| Клавиша | Обычное состояние | С клавишей Shift | С клавишей Ctrl | С клавишей Alt |
|---|---|---|---|---|
Enter | CR | CR | CR | CR |
Tab | TAB | CSI Z | CSI z | |
BS | BS | RUB | RUB | BS |
ESC | ESC | ESC | ESC | ESC |
F1 | SS3 P | SS3 p | CSI 1~ | CSI 17~ |
F2 | SS3 Q | SS3 q | CSI 2~ | CSI 18~ |
F3 | SS3 R | SS3 r | CSI 3~ | CSI 19~ |
F4 | SS3 S | SS3 s | CSI 4~ | CSI 20~ |
F5 | SS3 T | SS3 t | CSI 5~ | CSI 21~ |
F6 | SS3 U | SS3 u | CSI 6~ | CSI 22~ |
F7 | SS3 V | SS3 v | CSI 7~ | CSI 23~ |
F8 | SS3 W | SS3 w | CSI 8~ | CSI 24~ |
F9 | SS3 X | SS3 x | CSI 9~ | CSI 25~ |
F10 | SS3 Y | SS3 y | CSI 10~ | CSI 26~ |
F11 | SS3 Z | SS3 z | CSI 11~ | CSI 27~ |
F12 | SS3 A | SS3 a | CSI 12~ | CSI 28~ |
Home | CSI H | CSI h | CSI H | |
↑ | CSI A | CSI a | CSI A | |
PgUp | CSI V | CSI v | CSI V | |
Минус | CSI S | CSI s | CSI S | |
← | CSI D | CSI d | CSI D | |
kpd 5 | CSI G | CSI g | CSI G | |
→ | CSI C | CSI c | CSI C | |
Плюс | CSI T | CSI t | CSI T | |
End | CSI Y | CSI y | CSI Y | |
↓ | CSI B | CSI b | CSI B | |
PgDn | CSI U | CSI u | CSI U | |
Ins | CSI @ | CSI 0x60 | CSI @ | |
Del | CSI P | CSI p | CSI P | |
Prt | NOP | NOP | NOP | NOP |
SysRq | NOP | NOP | NOP | NOP |
a | a | A | SOH | SS2 a |
b | b | B | STX | SS2 b |
c | c | C | ETX | SS2 c |
d | d | D | EOT | SS2 d |
e | e | E | ENQ | SS2 e |
f | f | F | ACK | SS2 f |
g | g | G | BEL | SS2 g |
h | h | H | BS | SS2 h |
i | i | I | HT | SS2 i |
j | j | J | LF | SS2 j |
k | k | K | VT | SS2 k |
l | l | L | FF | SS2 l |
m | m | M | CR | SS2 m |
n | n | N | SO | SS2 n |
o | o | O | SI | SS2 o |
p | p | P | DLE | SS2 p |
q | q | Q | DC1 | SS2 q |
r | r | R | DC2 | SS2 r |
s | s | S | DC3 | SS2 s |
t | t | T | DC4 | SS2 t |
u | u | U | NAK | SS2 u |
v | v | V | SYN | SS2 v |
w | w | W | ETB | SS2 w |
x | x | X | CAN | SS2 x |
y | y | Y | EM | SS2 y |
z | z | Z | SUB | SS2 z |
Международные раскладки клавиатуры
Менеджер devc-con-hid поддерживают международные раскладки клавиатуры. По умолчанию они используют исходную раскладку US-101.
Если обнаружен файл /etc/kbd.tbl (при запуске devc-con-hid), то он загружается и используется вместо исходного файла. Этот файл можно перезагрузить во время работы системы с помощью комбинации клавиш Ctrl - Alt - Space. (При использовании VMWare может потребоваться двойное нажатие.)
| Как и все другие комбинации клавиш, эта комбинацию можно изменить! Однако переопределить составную последовательность невозможно. |
Предоставляются следующие файлы раскладок (в каталоге ${KPDA_TARGET}/etc/):
Файл раскладки клавиатуры имеет очень простую и жесткую структуру. Он должен содержать ровно 5 х 96 или ровно 6 х 96 шестнадцатеричных записей, разделенных пробельными символами, переводами строк или запятыми:
Alt воспринимаются как обычная клавиша Alt. Alt воспринимается как клавиша AltGr, и каждая из последних 96 записей должна определять код клавиши, который соответствует каждой клавише при нажатой клавише AltGr. Длина каждой записи не должна превышать четырех шестнадцатеричных цифр (16 разрядов). Началу комментария соответствует знак номера (#), комментарий продолжается до конца строки.
Каждый ряд, состоящий из 96 записей, определяет семантику максимум 96 различных клавиш при определенных условиях:
| Записи | Определение семантики для клавиш |
|---|---|
| 000–095 | Без модификаторов |
| 096–191 | При нажатой клавише Shift |
| 192–287 | При нажатой клавише Ctrl |
| 288–383 | При нажатой клавише Alt |
| 384–479 | При нажатых клавишах Ctrl - Alt |
| 480–575 | При нажатой клавише AltGr (правой клавише Alt) |
96 записей в ряду индексируются кодами сканирования клавиатуры. Для создания собственного определения клавиатуры необходимо знать эти коды сканирования. Ниже приведено отображение "коды сканирования/символы" для клавиатуры US-101.
0 1 2 3 4 5 6 7 8 9 A B C D E F, Esc, '1', '2', '3', '4', '5', '6' '7', '8', '9', '0', '-', '=', Rub, Tab ; 00'q', 'w', 'e', 'r', 't', 'y', 'u', 'i' 'o', 'p', '[', ']', Ent, Ctl, 'a', 's' ; 10'd', 'f', 'g', 'h', 'j', 'k', 'l', ';' ''', '', Shf, '\', 'z', 'x', 'c', 'v' ; 20'b', 'n', 'm', ',', '.', '/', Rsh, '*' Alt, SP, Cap, F1, F2, F3, F4, F5 ; 30F6, F7, F8, F9, F10, Num, Scr, Hom Up, PgU, K-, Lft, K5, Rig, K+, End ; 40Dwn, PgD, Ins, Del, , , , F11 F12, , , , , , , ; 50
Каждому скэн-коду соответствуют два байта данных из записей. Старший байт определяет флаги для клавиши (см. ниже), а в младшем байте обычно содержатся фактические данные, выдаваемые пользователю при нажатии клавиши. Для клавиш Shift, Lock и специальных клавиш в младшем байте содержится дополнительная зависящая от функции информация (см. ниже).
Старшие разряды записей:
Shift: Shift Ctrl Alt Rshift Num Lock Lock: Scroll Lock Num Lock Caps Lock Dead Caps Lock Ctrl - Alt - Del) Ctrl - Alt - Esc) Ctrl - Alt - + или Ctrl - Alt - Enter) Ctrl - Alt - -) Ctrl - Alt - 1) Ctrl - Alt - 2) Ctrl - Alt - 8) Ctrl - Alt - 9) Ctrl - Alt - 0) Ctrl - Alt - >) Ctrl - Alt - <) Ctrl - Alt - ?) Ctrl - Break) Ctrl - Alt - End) Ctrl - Alt - PrtScn) Ctrl - Alt - F1) Ctrl - Alt - F2) Ctrl - Alt - Пробел) Типичная командная строка запуска:
devc-con -n4
При возникновении ошибки клавиатура в текстовом режиме не работает.
Базовые подсистемы ЗОСРВ «Нейтрино», Драйверы
Предыдущий раздел: Драйверы