≡ Передовица » Hardware » Манипуляторы » Использование PS/2 клавиатуры с Агатом
Использование PS/2 клавиатуры с АгатомГруппой авторов было разработано устройство - адаптер, позволяющий подключить PS/2-клавиатуру к Агату. В качестве ядра используется контроллер ATMega8. Для устройства имеется две прошивки: 1) от первоначального автора устройства - AlexBel, всё, что с ней связано, опубликовано на форуме. Там же находится описание печатной платы и схемы устройства. 2) От Владимира (т.е. автора этих строк). Моя прошивка и её исходники. И далее описание: Версия 0.98 beta FRAM Схема та же (AlexBel'a), только нужно убрать кондёр сброса. Фьюзы похожи, но мои предпочтительнее (потенциальных глюков поменьше). Работает на семёрке и девятке. Может использоваться с КВМ. Быстрое началоПодключите PS/2 клавиатуру в разъём адаптера, адаптер подключите к Агату. Включите питание Агата. На адаптере включится индикатор питания, дважды моргнёт клавиатура. Можете работать. РаскладкаВсе клавиши передаются в реальный Агат так же как в эмуляторе. В моих эмуляторах. Помимо этого есть специальные клавиши и их комбинации (сочетания из моего эмулятора и из прошивки Алекса):Смена раскладок qwerty/jcuken:F3, текущее состояние отображается индикатором Caps Lock. УПР-СБР:Ctrl-F11 РУС/LAT:ScrollLock или NumLock меняют режим РУС <-> LAT TAB:Можно использовать эту клавишу как частичную альтернативу Ctrl (её положение на клавиатуре похоже на УПР Агата) { Она будет корректно работать с сочетаниями Ctrl-БУКВА или Ctrl-ЗНАЧОК, но, например, Shift-Tab не будет переключать РУС/LAT. А Tab-Shift будет :) } Автоповтор:Любая клавиша ALT являются аналогом агатовской кнопки ПВТ: при одновременном нажатии с другой кнопкой вызывают её автоповтор до отпускания. Автоповтор16:Любая клавиша Win, нажатая с другой кнопкой, вызывают 16-кратный автоповтор этой кнопки. { I like to move it move it ! } F4:Меняет режим автоповтора: Режим запоминается в энергонезависимой памяти адаптера. F8:Меняет режим одновременного/раздельного переключения Рус/Lat со сменой раскладки и устанавливает режим Lat и раскладку qwerty.В режиме одновременного переключения при включении Рус выбирается раскладка jcuken, а при включении Lat - qwerty. При этом клавиша F3 и переключатели Рус/Lat выполняют одинаковые функции. Режим запоминается в энергонезависимой памяти адаптера. [[ F1: Выводит встроенную справку по клавишам управления ]] НЕ РЕАЛИЗОВАНО [[ Скорость автоповтора можно менять ]] НЕ РЕАЛИЗОВАНО МакроВ памяти адаптера хранится некоторое количество диагностических программ для Агата (пока что совсем немного). Выйдите в системный монитор (желательно, до загрузки каких либо операционных систем) и нажмите F7 (для семёрки) и F9 (для девятки), чтобы увидеть их список. Выберите (нажав соответствующую латинскую букву) нужную программу и она будет введена в память компьютера. Вы можете указать "не свою" архитектуру, но в этом случае программы, завязанные на конкретную архитектуру, будут глючить (безразличные к архитектуре программы видны в обеих списках). Кроме того, управление регистром/алфавитом в семёрке и девятке устроено по разному. Вы также можете записать своё макро (только одно). Для записи нужно нажать F6, при этом индикаторы клавиатуры будут "бежать" влево. Для прекращения записи - снова нажать F6. Запись также будет прервана если переполнится буфер (около 500 знаков). Для воспроизведения своего макро нажмите F5. Cветодиоды будут "бежать" вправо. Воспроизвести макро во время записи невозможно. Поддержка манипулятора "Мышь"Если вместо клавиатуры подключить мышь, движения манипулятора будут отправлятся Агату как нажатия клавиш-стрелок соответствующего направления. Нажатие и отпускание левой кнопки и нажатие правой кнопки будет передаваться как "пробел". Отпускание правой кнопки игнорируется. Нажатие колёсика запускает вывод пользовательского макроса (можете забить туда "RUN GRAPHEDITOR", например). [[ Нажатие колёсика выводит одну латинскую букву (или цифру), вращение колёсика позволяют менять её. Движение мыши влево сдвигает курсор влево, движение вправо передаёт код клавиши ВВОД. Отпускание колёсика перемещает курсор вправо. ]] НЕ РЕАЛИЗОВАНО. Индикация ошибок и hot plug&playСветодиод на плате адаптера используется для индикации ошибок. Длительное гашение и затем ряд вспышек указывают на вид ошибки. Считаем вспышки:
Когда ошибка будет устранена, адаптер продолжит работу. Если клавиатура отключалась, при восстановлении связи будет восстановлено и состояние светодиодов клавиатуры. Если вы работаете через простой КВМ, который не эмулирует клавиатуру, отключившись от адаптера вы будете видеть поочерёдно коды 4 и 1: +...*.*.*.*.+...*.+ [[Клавишей ?? можно отключить или включить светодиод на плате. Состояние запоминается в энергонезависимой памяти адаптера]] НЕ РЕАЛИЗОВАНО Важно: отсутствие подключенной ранее мыши не проверяется. Адаптер запустит процедуру распознавания только если получит от устройства код успешной самопроверки, который устройство генерирует лишь при подаче питания. Поэтому если вы хотите "на ходу" чередовать мышь и клавиатуру, вы должны их полностью выдёргивать (обесточивать). Адаптер не будет генерировать при этом сигнал УПР-СБР, так что вы можете чередовать оба устройства в пределах одной программы (пока не сломаете разъём). Режим диагностики клавиатуры/мышиУдалите из компьютера устройства, с которых может быть выполнена автозагрузка (контроллеры дисководов, сетевые карты...). Перед включением замкните лапку 3 ATmegи на "общий". На экране Агата вы увидите информацию об адаптере, включая версию. После чего адаптер будет находится в диагностическом режиме. На экран будут выводится статус линии связи с клавиатурой, а также получаемые от неё коды. Вы можете нажать клавиши F* для дополнительных действий: В случае получения от устройства кода $00 (переполнение буфера/идентификатор "мыши") реакция на клавиши F* будет отключена. Вы можете также диагностировать PS/2-"мышь": на экран будут выводится полученные от неё коды. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |