Сергею ещё раз огромное спасибо за проделанную работу!
Позволю себе сделать некоторые пояснения. Все доработки, как обычно, делались по принципу "не навредить уже имеющимся привычкам и традициям".
п.1. Ноги растут, видимо, из когда-то популярного пакета "МИКРОН" и/или ещё какого-то РК'шного софта. Отдельных клавиш с функциями удаления символа под курсором и переключения режима ВСТАВКА/ЗАМЕНА в нативной клавиатуре РК86 нет, поэтому традиционно эти функции повешены на клавиши F2 и F3, соответственно.
При работе с клавиатурой PS/2 у всех уже давно "в руках" на уровне безусловных рефлексов привычка выполнять эти функции с помощью специальных клавиш Del и Ins. Так что логично их запараллелить на уже работающие в софте клавиши, выполняющие аналогичные функции. Итак, клавиша Del выдаёт код 01h, а клавиша Ins выдаёт код 02h.
п.2. Никаких конфликтов с ПО других ОС эта функция не вызовет. Клавиша болталась без дела, почему бы не задействовать. Мелочь, а приятно
В итоге, клавиша Win выдаёт код 00h и бит D5 порта #F402 при этом установлен в "0".
п.3. Тоже неприкаянные в изначальной прошивке МК клавиши, а привычка ими пользоваться (например, в Нортонах) у людей есть. Свободного места в матрице клавиатуры РК86 для отдельных кодов для F6..F9 нету, поэтому решили продублировать на соотв. цифровые клавиши "6".."9". В оболочке эти коды поддержаны изначально (F6="6"=переименование файла, F8="8"=удаление файла), так что пусть будут выполнять привычные функции.
п.4. Клавиша СТР используется для пролистывания или очистки страницы, логично её функционал назначить на клавиши PageDown/PageUp (в переводе "Page" означает "Страница", прим. Кэпа). Для удобства и совместимости с орионовским/РК'шным софтом было принято решение назначить на PgDn клавишу СТР, а на PgUp комбинацию УС+СТР. В итоге, в РК'шном софте обе эти клавиши будут выполнять функцию клавиши СТР, а в DSDOS комбинация УС+СТР используется для симметричного действия - пролистывания страницы на предыдущую, т.о. клавиша PgUp будет работать по своему прямому назначению.
Итак, клавиша PgDn выдаёт код 1Fh, а PgUp тот же код 1Fh + бит D6 порта #F402 установлен в "0".
п.5. За клавишами F10..F12 зарезервированы коды, получаемые комбинациями УС+"0", УС+"1" и УС+"2", соответственно. В будущем обязательно где-нибудь будет использовано, например в мульти-клипборде.
п.6. Да-да, есть ещё один резерв на будущее, о котором Сергей забыл сообщить. Клавиша WinMenu эмулирует СС+СТР (Shift+PgDn), т.е. код 1Fh и бит D5 порта #F402 установлен в "0". РК'шный софт будет реагировать как на нажатие СТР (PgUp или PgDn), а в DSDOS это будет комбинация для вызова контекстного меню в приложениях, использующих оконный интерфейс.
П.С. Ещё есть очень большое желание немного переиначить внематричные (управляющие) клавиши. По этому вопросу ждём ответ разработчика ПО для МК в соответствующей теме.
__________________________________________________ ________________________________
П.П.С. Пользуясь случаем, раз уж заговорили о клавиатуре PS/2, сделаю анонс В новой версии DSDOS v3.77 уже сделана полноценная поддержка этой клавиатуры! Т.е. вводимые буквы и символы полностью соответствуют тому, что написано на клавишах, с учётом соотв. режимов, в т.ч. русские/английские символы. Поддержка выполнена на уровне драйвера клавиатуры DSDOS, т.е. пользователю ничего менять в прошивке МК не надо. Поддержка нативной "железной" клавиатуры РК86 также осталась, переключение типа клавиатуры делается нажатием комбинации клавиш УС+"РУС/LAT" (Ctrl+CapsLock), в любой момент, когда на экране присутствует мигающий курсор. Программно через API DSDOS есть возможность получить текущий тип клавиатуры, что в дальнейшем будет поддержано в ПО (помощь по клавишам, реакция на нажатия)
П.П.П.С. Анонс номер два! Сделан опытный образец ОС DSDOS для ПРК "ОРИОН-ПРО", некоторые форумчане уже даже пользуются Но офиц. релиз сделаю только после того, как разберусь с ПРО'шным КНГМД /-)