РУКОВОДСТВО ПРОГРАММИСТА I. ОБЩИЕ СВЕДЕНИЯ (продолжение) 3. КЛАВИАТУРНЫЙ ИНТЕРФЕЙС В данном разделе описывается принятая в ОС "Спрайт" за стандарт раскладка клавиатуры, отличающаяся от используемой в других системах программирования. Описываемые управляющие клавиши и регистры поддерживаются системным модулем про- грамм ввода-вывода IOSUB. 3.1. Как освоить клавиатуру Изучить и освоить расположение управляющих клавиш и ре- гистров клавиатуры ОС "Спрайт" можно в диалоговом командном режиме, в котором Вы оказываетесь сразу после загрузки сис- темы. Поскольку система будет пытаться испольнить вводимые строки, рекомендуется начинать их с точки запятой, воспри- нимаемой, как начало комментария. Ввод строки можно начинать после выдачи приглашения "A>" или ему подобного и появления курсора в виде мигающего под- черка. 3.2. Программируемые возможности клавиатуры Конечно же, при вводе в ОС "Спрайт" используются те же буквенно-цифровые, регистровые и функциональные клавиши, что и в других системах на Агате. Однако здесь управляющим символам, формируемым клавиатурой, придана иная функцио- нальная нагрузка. Часть из них влияет на формирование кодов символов при нажатии других клавиш, т.е. выполняет роль дополнительных регистров. Так реализованы регистр фиксации шрифта/алфавита и графический/альтернативный регистр. Другая часть управляющих клавиш выполняет при вводе строки функции ее редактирования, также видоизменившиеся по сравнению с другими системами. Эти и другие клавиши могут иметь и другой функциональный смысл в программах, работающих под управлением ОС "Спрайт", но в общих своих чертах описываемый ниже стандарт в системе выдержан. Ниже используются следующие соглашения: - запись вида "Упр-X" означает нажатие клавиши X при нажа- той клавише Упр; - запись вида "F2 + X" означает последовательное нажатие клавиш F2 и X, имеющее новую функцию. 3.3. Регистры клавиатуры "Настоящим", имеющим графическое изображение, символам соответствуют буквенно-цифровые клавиши основной панели клавиатуры. Вводимый при их нажатии символ зависит от сос- тояния регистров клавиатуры. Верхний ряд знако-цифровых клавиш и клавиши (:*), (.>), (/?) и (,<) чувствительны только к одному регистру - РЕГ: при одиночном нажатии клавиши вводится цифра (верхний ряд изображений), при одновременном нажатии с клавишей РЕГ ("на регистре РЕГ") - знак из нижнего ряда. Остальные клавиши основной панели клавиатуры, буквы, по- мимо РЕГ воспринимают несколько регистров, описываемых ниже. 3.3.1. Регистры алфавита РУС/LAT Регистры алвавита РУС/LAT (точнее, РЕГ-РУС и РЕГ-LAT) переключают текущий алфавит. Это значит, что при одиночном нажатии клавиши-буквы вводится символ текущего алфавита (русского или латинского) или того же ряда. 3.3.2. Регистр шрифта F1 Регистр шрифта переключает ввод строчных и заглавных букв. Это значит, что при одиночном нажатии клавиши-буквы вводится строчная или заглавная буква текущего алфавита, в зависимости от состояния регистра шрифта. Сам регистр пере- ключается нажатием клавиши F1, поступающий при этом символ воспринимается как смена состояния регистра. 3.3.3. Верхний регистр РЕГ Верхний регистр (клавиша РЕГ) имеет различный смысл в двух основных режимах клавиатуры: - в режиме фиксированного алфавита РЕГ на время нажатия инвертирует шрифт, установленный регистром шрифта F1: строчный/заглавный; - в режиме фиксированного шрифта РЕГ на время нажатия ин- вертирует алфавит, установленный регистром алфавита РУС/ LAT. Смена режима клавиатуры описана в 3.3.6.2. 3.3.4. Управляющий регистр УПР Нажатие клавиши-буквы одновременно с клавишей УПР вызы- вает ввод управляющего символа (которому сопоставлена неко- торая функциональная нагрузка при вводе или при выводе). Часть этих символов вводится при одиночном нажатии других клавиш (стрелки, РЕД, ПС, функциональная панель). 3.3.5. Графический регистр F2 Графический регистр включает и отменяет ввод графических символов по нажатию клавиш-букв. Нажатие F2+буква распро- страняет действие графического регистра только на эту букву. На графическом регистре вводятся два альтернативных набора графсимволов, доступных переключением регистра алфавита. РЕГ не работает. 3.3.6. Регистр фиксации F2+ Регистр F2 выполняет функцию регистра фиксации других режимов, будучи нажат с некоторыми управляющими символами: F2+упр.символ. Повторное нажатие снимает фиксацию. 3.3.6.1. Фиксация графического регистра F2 + F2 После фиксации графического регистра одиночные нажатия клавиш-букв приводят к вводу тех же графических символов, как если бы пред каждой из них нажимали F2. 3.3.6.2. Фиксация шрифта/алфавита F2 + F1 Переключает режим работы верхнего регистра РЕГ: при фик- сированном шрифте на клавиатуре легче всего вводятся рус- ские и латинские буквы фиксированного размера, а при фикси- рованном алфавите - строчные и заглавные буквы данного ал- фавита. Недостающие символы могут быть получены нажатием F1. Функционально оба режима эквивалентны,разница - в умень- шении числа переключений более нужного регистра. Следующие три фиксации инвертируют три режима отображе- ния вводимых букв на экране. 3.3.6.3. Фиксация отображения строчных букв F2 + ф0 Переключает вывод строчных букв на экран как строчных или заглавных. Это может оказаться удобным для укрупнения изображения текста на плохих мониторах. 3.3.6.4. Фиксация выделения строчных букв цветом F2 + ф. Позволяет выделять строчные буквы цветом в цветном тек- стовом режим. 3.3.6.5. Фиксация изображения управл.символов F2 + ф= Управляющие символы могут выдаваться в виде некоторых символов (например, во вводимой строке или в Редакторе). Данный регистр фиксирует один из двух способов их вывода: - латинскими буквами (в цветном режиме - желтыми инверсны- ми), - графическими символами третьего альтернативного набора (при наличии полного знакогенератора). 3.4. Редактирование строки при вводе По сравнению с другими системами изменились общие прави- ла ввода и редактирования строки (процедура GETLINE IOSUB): - размер и адрес буфера ввода могут меняться (стандартный буфер в командном режиме - 232 символа); - редактирование строки ведется строго в ее текущих преде- лах и только с горизонтальным перемещением по экрану; для ввода символов с экрана используется особый режим; - можно вызывать для редактирования предыдущую строку, введенную в данном буфере; - можно сдвигать и раздвигать строку, вводить больший на- бор символов (используя регистры). При вводе строки используются следующие управляющие кла- виши: стрелки вправо/влево - переход к предыдущему или следующему символу (если он есть); стрелки вверх/вниз - переход к началу/концу строки; ф1 - стирание текущего символа с подвижкой остатка стро- ки влево; ф2 - смена режима замены/вставки; в режиме вставки вво- димые символы раздвигают строку в позиции курсора; ф8 - уничтожение остатка строки вправо от курсора; Упр-V - вставка в строку символа из управляющего набора, отображаемого в соответствии с состоянием регистра F2+ф= ; F3 - переключение текущего текстового и графического эк- ранов; РЕД - отказ от ввода строки (в Командере); Упр-X - отказ от ввода строки; ПС - заканчивает ввод в позиции курсора с обрезанием ос- татка строки; ф3 - переход в режим ввода символов с экрана и обратно в режим ввода непосредственно в строку. Восстановление в буфере предыдущей введенной строки про- исходит при нажатии первой любой небуквенной клавиши. Удоб- но для этого пользоваться стрелками: - для просмотра - вверх, влево; - для редактирования - вправо; - для дополнения - вниз; - соответственно тем функциям, которые они выполняют. Если первая нажатая клавиша редактирует буфер - старая строка становится недоступна. Ввод в строку символов с экрана в режиме свободного пе- ремещения курсора в пределах всего экрана включается и вык- лючается клавишей ф3. В этом режиме стрелки перемещают кур- сор по экрану, а ПС вставляет/заменяет символ под курсором в текущую позицию строки (в зависимости от режима вставки). При этом изменения вводимой строки визуализируются. Вводимая строка отображается только в одной строчке эк- рана, начиная с позиции начала ввода, кончая правым краем текущего окна. Более длинные строки во время ввода скролли- руются по горизонтали так, что позиция курсора всегда видна. 3.5. Справочник по регистрам клавиатуры Ниже приведена таблица кодов символов, вводимых с клави- атуры на различных регистрах: р е г и с т р ы ! коды букв буквы ! РУС/ алф/ граф F1 ! один. РЕГ один. РЕГ LAT шриф ! C0-DF E0-FF ------------------------------------------- РУС алф - - 60-7F E0-FF рус РУС LAT алф - - C0-DF 40-5F LAT lat РУС алф - + E0-FF 60-7F РУС рус LAT алф - + 40-5F C0-DF lat LAT РУС алф + ? 20-3F 20-3F гр2 гр2 LAT алф + ? 00-1F 00-1F гр1 гр1 РУС шриф - - 60-7F 40-5F рус lat LAT шриф - - C0-DF E0-FF LAT РУС РУС шриф - + E0-FF C0-DF РУС LAT LAT шриф - + 40-5F 60-7F lat рус РУС шриф + ? 20-3F 00-1F гр2 гр1 LAT шриф + ? 00-1F 20-3F гр1 гр2 -------------------------------------------