Не ps2 работает клавиатура: Не работает клавиатура PS/2 в Windows 8/8.1. Решение проблемы!
Содержание
ZX-Spectrum PS/2 Keyboard — AVR-AY
Текущая версия 5.5
В процессе модернизации своего ZX-Spectrum каждый постепенно приходит к тому, что у него перестают работать некоторые кнопки на стандартной клавиатуре, это может быть вызвано различными факторами. Например, перетерлись дорожки пленочной клавиатуры в местах стыковки её с платой или появились микротрещины на пленке самой клавиатуры.
Да и сама по себе ZX клавиатура весьма неудобна, и лучше бы её заменить на более современную, благо теперь вы можете совершенно без труда это сделать.
В поисках по интернету я находил много вариантов данного решения, но везде была куча обвязки у микроконтроллеров, да и сами микроконтроллеры были такими, которые либо трудно достать, либо они достаточно дорогие.
Вы уже наверное заметили моё пристрастие к МК Atmega 8 ? 🙂 Собственно на нем бы и хотелось всё это реализовать с минимальной обвязкой, а еще лучше совсем без неё.
В интернете я наткнулся на очень интересную реализацию данного решения, собственно вот здесь
покопавшись в архивах с прошивками я нашел прошивку под Atmega8, но, она почему-то не заработала… 🙁
Долго, очень долго я пытался её запустить, но ничего не получалось, при этом под Atmega48 и 168 всё было хорошо (по словам тех кто их подключал).
В итоге, я решил дизассемблировать прошивку от Atmega8 и Atmega168, порывшись в даташитах, я обнаружил, что в Atmega8 перепутаны некоторые порты (видимо прошивка делалась до кучи и не проверялась), так же для регистра TIFR пришлось переписать часть кода, т.к. его номер 0x58 и он недоступен для команд sbis и cbis. Ковыряясь дальше, я обнаружил, что на одном из входов шины адреса не был включен PullUp из-за чего в приведенной схеме автору пришлось поставить подтягивающие резисторы на все адресные пины. Проанализировав схему, я убрал подтягивающие резисторы с CLK и DATA выходов, т.к. они есть в самой клавиатуре (по заверению производителей). Так же убрал светодиод, т.к. он всё-равно внутри и некому им любоваться 🙂 Подправил работу дополнительных кнопок.
В итоге, прошивка заработала с кварцем 24МГц, причем очень даже отлично! Лучше чем родная клавиатура!
PS: так же я удалил из прошивки работу с клавиатурными скриптами, они мне не нужны, да и вообще мало кому нужны, это позволило еще больше ускорить реакцию на нажатия клавиш. В версии 2.0 удалось избавиться от самопроизвольных нажатий на кнопки BTN1, BTN2 при инициализации контроллера.
Во общем, теперь собственно о реализации.
Скачать прошивку (версия 2) для Atmega8 и кварца 24МГц вы можете >>>тут<<<
Версия 3 (24.01.2016) >>>тут<<<
Новая улучшенная версия 4 (26.01.2016) >>>тут<<<
Новая улучшенная версия 5.5 с исходниками (03.02.2016)
kbd_firmware_v5_5_m8_with_src (для ATMega8) не нужны конденсаторы на кварц
kbd_firmware_v5_5_m48_with_src (для ATMega48)
kbd_firmware_v5_5_m168p_with_src (для ATMega168p)
kbd_firmware_v5_5_m328p_with_src (для ATMega328p)
С версии 5.3 отключение NumLock переводит курсорные клавиши и пробел в режим Sinclair джойстика, а так же автоматически включается режим E перед нажатием клавиш {}[]~
Загружается стандартно с помощью avrdude и USBASP
avrdude -p atmega8 -c USBasp -U flash:w:KBD13_M8_nw_MODIFIEDv4. hex -U lfuse:w:0xCF:m -U hfuse:w:0xC7:m
Я подключил все пины напрямую к ZX-Spectrum, вроде всё работает хорошо, но можно для большей стабильности повесить резистор 10 КОм на (RESET) подключив резистор к VCC.
Конденсаторы на кристалл можно не вешать, т.к. включен фьюз CKOPT.
Минус питания можно подключать как к 8 пину, так и к 22, т.к. они запараллелены в МК. Так же можно брать плюс питания с 20-ой ноги для подключения других микросхем, очень удобно 🙂
Примерная схема подключения:
Распиновки клавиатурных разъемов
Если есть вопросы, пишите в комментариях.
PPS: выходы BTN1 и BTN2 можно подключать к любым кнопкам типа /RES (т.е. которые замыкаются на землю GND) в своем кворум-бк04 я подключил на них INV и кнопку которая делает тише звук.
Не работает клавиатура при загрузке компьютера
С тем, что USB клавиатура не работает при загрузке, вы можете столкнуться в разных ситуациях: часто это бывает при переустановке системы или во время появления меню с выбором безопасного режима и других вариантов загрузки Windows.
Я последний раз столкнулся с этим сразу после шифрования системного диска с помощью BitLocker — диск был зашифрован, а ввести пароль при загрузке не могу, так как не работает клавиатура. После этого и было решено написать подробную статью на тему, как, почему и когда могут возникать такие проблемы с клавиатурой (в том числе, беспроводной), подключенной по USB и как их решать. См. также: Не работает клавиатура в Windows 10, Что делать, если не работает клавиатура на ноутбуке.
Как правило, такая ситуация не происходит с клавиатурой, подключенной с помощью порта PS/2 (а если произошла, проблему стоит искать в самой клавиатуре, проводе или разъеме материнской платы), но вполне может встретиться на ноутбуке, так как встроенная клавиатура тоже может иметь USB интерфейс.
Прежде чем продолжать чтение, посмотрите, а все ли в порядке с подключением: на месте ли USB кабель или приемник для беспроводной клавиатуры, не задел ли его кто-то. Еще лучше, выньте его и подключите снова, при этом не в USB 3. 0 (синего цвета), а USB 2.0 (Лучше всего в один из портов сзади системного блока. Кстати, иногда там есть специальный USB порт со значком клавиатуры и мыши).
Чаще всего, чтобы решить возникшую проблему, достаточно зайти в БИОС компьютера и включить инициализацию USB клавиатуры (пункт USB Keyboard Support или Legacy USB Support установить в Enabled) при включении компьютера. Если эта опция у вас отключена, вы этого можете не замечать долгое время (потому как Windows при загрузке сама «подключает» клавиатуру и для вас все работает), до тех пор, пока не потребуется воспользоваться ею еще при загрузке операционной системы.
Возможен вариант, что и в БИОС вы зайти не можете, особенно если у вас новый компьютер с UEFI, Windows 8 или 8.1 и включенной быстрой загрузкой. В этом случае, вы можете попасть в настройки другим путем (Изменение параметров компьютера — Обновление и восстановление — Восстановление — Особые варианты загрузки, далее в дополнительных параметрах выбрать вход в настройки UEFI). И уже после этого посмотреть, что можно изменить, чтобы все работало.
На некоторых материнских платах настройка поддержки USB устройств ввода при загрузке немного более изощренная: например, у меня в настройках UEFI есть три варианта — отключенная инициализация при ультрабыстрой загрузке, частичная инициализация и полная (при этом быстрая загрузка должна быть отключена). И беспроводная клавиатура работает при загрузке только в последнем варианте.
Надеюсь, статья смогла вам помочь. А если нет, опишите подробно, как именно у вас возникла проблема и я постараюсь придумать что-нибудь еще и дать совет в комментариях.
remontka.pro в Телеграм | Способы подписки
[10 исправлений] Клавиатура не работает в Windows 11: как исправить
В этом руководстве мы покажем вам различные способы исправить неработающую клавиатуру в Windows 11. Что касается периферийных устройств, нельзя отрицать тот факт, что клавиатура пожалуй, последнее, что вы хотели бы видеть в списке неработающих устройств. Но нельзя пренебрегать тем, что шансы на это есть всегда. В связи с этим может быть довольно много вероятных причин, по которым ваша клавиатура может работать не так, как ожидалось.
От основных проблем, связанных с USB-портом или концентратором, до устаревших драйверов клавиатуры или даже значений реестра клавиатуры i8042prt и kbdhid, любой из них может оказаться виновником. К счастью, для каждой из этих проблем также есть связанное решение. И после их выполнения есть все шансы исправить неработающую клавиатуру на вашем ПК с Windows 11. Так что без лишних слов.
Содержание
Имейте в виду, что универсального решения как такового не существует. Вам нужно будет попробовать каждый из нижеперечисленных обходных путей, а затем посмотреть, какой из них принесет вам успех. Итак, имея это в виду, давайте начнем.
ИСПРАВЛЕНИЕ 1/Необходимое условие: Включить экранную клавиатуру в Windows 11
Перед тем, как попробовать какое-либо из исправлений, упомянутых в этом руководстве, первым предварительным условием является необходимость включения экранной клавиатуры. Хотя мы постараемся не включать какие-либо шаги, требующие использования клавиатуры, в редких случаях [например, при вводе значений в редакторе реестра] это может стать абсолютной необходимостью. Так что на тот момент экранная клавиатура будет нашим единственным запасным вариантом. Поэтому выполните следующие шаги, чтобы включить экранную клавиатуру на ПК с Windows 11:
- Для начала щелкните правой кнопкой мыши меню «Пуск» и выберите «Настройки».
- Затем выберите «Универсальный доступ» в левой строке меню и перейдите в раздел «Клавиатура».
- Теперь включите переключатель рядом с Экранной клавиатурой.
- Вот и все, давайте теперь начнем с методов устранения проблемы с неработающей клавиатурой в Windows 11.
ИСПРАВЛЕНИЕ 2: Устранение основных неполадок
Прежде чем перейти к любому из расширенных исправлений, вот несколько основных способов устранения неполадок. советы, которые вы должны попробовать.
- Для начала перезагрузите компьютер один раз и проверьте, достаточно ли этого для устранения проблемы с клавиатурой.
- Далее, если вы используете USB-клавиатуру, попробуйте отключить и снова подключить ее. Более того, мы рекомендуем вам подключать клавиатуру к порту USB 2.0, а не 3.0.
- Кроме того, некоторые клавиатуры оснащены функцией блокировки клавиш. При его включении отключаются функции всех клавиш на клавиатуре. Обычно эта функция назначается одной из функциональных клавиш и имеет рядом с ней небольшой значок замка. Точно так же сочетание клавиш Ctrl+Alt+L также может заблокировать вашу клавиатуру. Поэтому убедитесь, что вы случайно не активировали эту функцию.
ИСПРАВЛЕНИЕ 3: Настройка свойств корневого концентратора USB
Чтобы продлить срок службы батареи, на вашем ПК могут быть введены некоторые ограничительные меры для портов корневого концентратора USB. В этом случае порт может быть не в состоянии идентифицировать подключенное устройство. Поэтому на данный момент мы советуем вам отключить эту функцию, что можно сделать следующим образом:
- Щелкните правой кнопкой мыши меню «Пуск» и выберите «Диспетчер устройств».
- Затем разверните раздел Контроллеры универсальной последовательной шины.
- Теперь щелкните правой кнопкой мыши USB-концентратор и выберите «Свойства».
- После этого перейдите на вкладку Управление питанием.
- Теперь снимите флажок «Разрешить компьютеру отключать это устройство для экономии энергии».
- Наконец, нажмите OK, чтобы сохранить изменения.
Теперь проверьте, может ли он решить проблему с неработающей клавиатурой в Windows 11. Если это не сработало для вас, не закрывайте диспетчер устройств, так как есть еще пара исправлений, которые нам нужно исправить. выполнять внутри этой среды.
ИСПРАВЛЕНИЕ 4: Обновление драйверов клавиатуры
Если вы используете старые или устаревшие драйверы клавиатуры, это может привести к ряду проблем с соответствующим устройством. Поэтому вам следует подумать об обновлении этих драйверов до последней сборки, что можно сделать следующим образом:
- Откройте диспетчер устройств и разверните раздел «Клавиатуры».
- Теперь щелкните правой кнопкой мыши на клавиатуре и выберите «Обновить драйверы».
- Затем выберите Автоматический поиск драйверов.
- Теперь Windows будет искать последние версии драйверов в Интернете, а затем также устанавливать их.
- После этого перезагрузите компьютер и проверьте, устранена ли проблема с неработающей клавиатурой в Windows 11.
ИСПРАВЛЕНИЕ 5: Используйте средство устранения неполадок оборудования и устройств
ОС Windows поставляется с несколькими приложениями для устранения неполадок, относящихся к разным доменам. И один из них ориентирован именно на аппаратные устройства. Однако вы не можете получить доступ к этому средству устранения неполадок из меню «Настройки», где присутствуют все остальные. Это связано с тем, что Windows по какой-то причине скрыла это средство устранения неполадок, и вам придется выполнить пару дополнительных шагов, чтобы снова включить его.
Поэтому, пожалуйста, обратитесь к нашему руководству по включению и использованию средства устранения неполадок оборудования и устройств в Windows 11. После его включения обязательно подключите USB-клавиатуру, прежде чем начинать сканирование. Затем примените рекомендованное исправление и проверьте, устраняет ли оно проблему с клавиатурой, не работающую в Windows 11.
ИСПРАВЛЕНИЕ 6: Используйте команды SFC и DISM
Средство проверки системных файлов и обслуживание образов развертывания и управление ими — это два служебных инструмента командной строки, которые сканируют поврежденные файлы Windows, а затем заменяют их рабочими аналогами. Основное различие между ними заключается в том, что SFC заменяет поврежденные файлы рабочими из кэшированного каталога на вашем ПК, а DISM делает это, загружая рабочие файлы с онлайн-серверов Microsoft. И на данный момент мы будем использовать оба этих инструмента для решения основной проблемы. Следуйте вместе.
- Для начала щелкните правой кнопкой мыши меню «Пуск» и выберите Терминал Windows (Администратор).
- Затем щелкните стрелку вниз рядом со значком новой вкладки и выберите «Командная строка» из списка.
- После открытия окна CMD скопируйте и вставьте приведенную ниже команду, чтобы открыть инструмент SFC:
sfc /scannow
- После завершения сканирования SFC пришло время использовать инструмент DISM. Поэтому скопируйте и вставьте следующую команду:
DISM/Online/Cleanup-Image/RestoreHealth
После завершения сканирования DISM рекомендуется перезагрузить компьютер. После загрузки проверьте, устранена ли проблема с неработающей клавиатурой в Windows 11.
ИСПРАВЛЕНИЕ 7: Отключить быстрый запуск в Windows 11
Windows поставляется с функцией быстрого запуска, основной целью которой является ускорение загрузки вашего ПК после завершения работы. Однако известно, что в некоторых случаях эта функция конфликтует с USB-устройствами и связанными с ними драйверами. Поэтому рекомендуется отключить эту функцию на данный момент, что можно сделать следующим образом:
- Для этого откройте Панель управления из меню «Пуск» и перейдите в раздел «Электропитание».
- Затем нажмите «Выберите действие кнопки питания в левой строке меню».
- После этого нажмите «Изменить настройки, которые в данный момент недоступны».
- Теперь снимите флажок «Включить быстрый запуск» и нажмите кнопку «Сохранить изменения».
Наконец, перезагрузите компьютер и проверьте, устраняет ли это проблему с неработающей клавиатурой на ПК с Windows 11. Если ваш ответ отрицательный, снова включите быстрый запуск, а затем приступайте к другим исправлениям, перечисленным ниже.
ИСПРАВЛЕНИЕ 8: Переустановите драйверы клавиатуры
Если драйверы клавиатуры или файлы ее конфигурации повреждены, простое их обновление не принесет пользы. В этом случае вам придется удалить текущую установленную, а затем позволить Windows установить новые. Вот как:
- Начните с щелчка правой кнопкой мыши в меню Windows и выбора диспетчера устройств.
- Затем разверните раздел «Клавиатура», щелкните правой кнопкой мыши на клавиатуре и выберите «Свойства».
- Теперь перейдите на вкладку «Драйверы» и запишите поставщика драйвера и версию драйвера. Мы делаем это просто для того, чтобы быть в безопасности. Если Windows не устанавливает эти драйверы автоматически, мы могли бы сделать это вручную, используя имеющиеся у нас данные.
- Скопировав значения, щелкните правой кнопкой мыши на клавиатуре и выберите «Удалить устройство».
- Затем нажмите «Удалить» в появившемся диалоговом окне подтверждения. После удаления драйверов перезагрузите компьютер.
- Как только ПК загрузится в ОС, он должен установить драйверы клавиатуры. Если этого не произошло, откройте Диспетчер устройств, щелкните правой кнопкой мыши имя вашего ПК, расположенное вверху, и выберите Сканировать на наличие изменений оборудования.
- Теперь Windows просканирует ваш компьютер на наличие всех отсутствующих драйверов (в данном случае это драйвер клавиатуры) и также установит их.
- Однако, если это также не сработает для вас, перейдите в Google, скопируйте и вставьте данные драйвера клавиатуры, которые вы ранее отметили, а затем загрузите и установите указанные драйверы.
- После этого перезагрузите компьютер, и это должно решить проблему с неработающей клавиатурой на ПК с Windows 11.
ИСПРАВЛЕНИЕ 9: изменение значений i8042prt и kbdhid с помощью редактора реестра
i8042prt — это функциональный драйвер для клавиатуры и мыши PS/2 для ОС Microsoft Windows. С другой стороны, HID — это класс устройств, который используется для замены разъемов в стиле PS/2 универсальным драйвером USB, чтобы он мог поддерживать различные устройства HID, а kbdhid ориентирован конкретно на клавиатуры.
По умолчанию для i8042prt и kbdhid установлено значение 3. Но на данный момент нам нужно изменить эти значения и присвоить значение 1 для i8042prt и 4 для HID. После этого ему удалось исправить большинство проблем, связанных с клавиатурой, и есть все шансы, что он также может решить основную проблему. Итак, без лишних слов, давайте попробуем.
- Для начала откройте Экранную клавиатуру (Настройки > Специальные возможности > Клавиатура > Экранная клавиатура).
- Затем нажмите клавишу Windows, а затем клавишу R. Это вызовет диалоговое окно «Выполнить».
- Теперь введите ключевое слово ниже в поле «Выполнить» и нажмите Enter. Откроется редактор реестра.
regedit
- Теперь скопируйте и вставьте приведенное ниже значение в адресную строку редактора реестра:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt
- выбранная папка, перейдите к правой стороне и дважды щелкните файл Start, чтобы открыть его.
- Теперь измените его Value Data с 3 на 1 и нажмите OK, чтобы сохранить изменения. Теперь перезагрузите компьютер и посмотрите, устранена ли проблема с клавиатурой.
- Если вы все еще сталкиваетесь с этим, то снова откройте редактор реестра с помощью экранной клавиатуры.
- На этот раз скопируйте и вставьте следующее расположение в адресную строку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid
- Выбрав папку kbdhid, перейдите в правую сторону и дважды щелкните файл Start. чтобы открыть его.
- Теперь измените его значение с 3 на 4 и нажмите OK, чтобы сохранить его. Когда это будет сделано, перезагрузите компьютер.
Проверьте, удается ли этой настройке реестра устранить проблему с неработающей клавиатурой на вашем ПК с Windows 11. Если это так, ну и хорошо, верните значения i8042prt и kbdhid на 3, прежде чем переходить к другим нашим исправлениям.
ИСПРАВЛЕНИЕ 10: переключение параметров клавиатуры из Windows 11 BIOS
Если ни один из вышеупомянутых методов не дал результатов, следует рассмотреть возможность отключения и повторного включения клавиатуры на экране BIOS. Вот как это можно сделать:
- Для начала откройте меню «Настройки» и выберите «Система» > «Восстановление».
- Затем нажмите кнопку «Перезагрузить сейчас» рядом с «Расширенный запуск».
- Теперь выберите «Устранение неполадок» на экране «Выберите вариант».
- После этого нажмите «Дополнительные параметры» в разделе «Устранение неполадок».
- Затем нажмите «Настройки прошивки UEFI» на экране «Дополнительные параметры».
- Затем нажмите кнопку «Перезагрузить» и нажмите клавишу F10, чтобы войти в BIOS.
- После того, как ваш компьютер загрузится в BIOS, проверьте параметр, связанный с клавиатурой. Это будет что-то вроде «Включить поддержку клавиатуры» или «Поддержка USB-клавиатуры».
- Указанная опция будет включена по умолчанию. Поэтому выключите его, а затем снова включите.
- После этого сохраните изменения и перезагрузите компьютер до ОС. После загрузки проблема с клавиатурой должна была быть решена.
Итак, на этом мы завершаем руководство о том, как исправить проблему с неработающей клавиатурой на ПК с Windows 11. Мы поделились десятью различными методами для одного и того же. Дайте нам знать в разделе комментариев, какой из них сработал в вашу пользу. Точно так же все ваши вопросы приветствуются в комментариях.
- Как исправить неработающую камеру/веб-камеру в Windows 11
- Как исправить проблему с неработающим Bluetooth в Windows 11
- Исправить проблему с неработающим поиском в Windows 11 [5 методов]
- Как исправить Windows 11 High CPU и Использование диска
- Как исправить сбой проводника в Windows 11
О главном редакторе
Садик Хассан
администратор
Технический специалист по рождению, он всегда проявлял большой интерес к платформе Android с самого рождения HTC Dream. Среда с открытым исходным кодом, кажется, всегда заинтриговала его множеством вариантов, доступных на кончиках его пальцев. «MBA по профессии, блогер по выбору!»
См. сообщения автора
Сборка удаленной клавиатуры PS/2
На прошлой неделе я купил себе небольшой компьютер под названием neptUNO с FPGA (он же — для меня — копия аппаратного обеспечения в стиле ретро-вычислений — см. подробнее здесь) .
Порты на машине устарели и включают в себя: выход VGA, DB9 для джойстиков/джойстиков и два порта PS/2 для клавиатуры и мыши. У устройства действительно есть USB-порт, но пока я не могу найти ничего, что с ним работало. Поэтому я купил себе дешевую клавиатуру PS/2, чтобы управлять меню (выбирая ядра и ПЗУ), и, конечно же, чертова клавиатура не работала (оказывается, ядрам нужны подтягивающие резисторы на входах PS/2).
У меня был выбор: я мог просто припаять два резистора 5-10К к только что купленному neptUNO (мои навыки пайки не велики, и я мог легко расплавить то, что не должен был)… или Я мог собрать сам удаленная клавиатура PS/2 — что я и сделал… конечно!
СКИДКА ДЛЯ ЧИТАТЕЛЕЙ Сэкономьте 50 долларов на terminal. training
Я опубликовал 38 видео для новых разработчиков, дизайнеров, UX, UI, владельцев продуктов и всех, кому сегодня нужно покорить командную строку.
49 долларов США — только по этой ссылке
TL;DR
- Демо-видео
- Детали и исходный код
Но почитайте тоже, это было весело 🙂
Первые демонстрации
Как это работает
После просмотра видео Бена Итера о клавиатурах PS/2 я понял, что скан-коды для клавиатуры должны быть можно воссоздать с помощью чего-то вроде Arduino.
Моя версия была именно такой. Я использовал библиотеку под названием ps2dev для отправки тактового сигнала и сигнала данных для кодов сканирования клавиатуры вверх и вниз. Затем я подключил свою Arduino напрямую к порту PS/2 и включил neptUNO для проверки — сразу же меню задвигалось вверх и вниз: это означает, что у всего этого есть ноги.
Следующая часть заключалась в том, как отправить скан-коды. Возможно, было бы достаточно иметь пару жестко запрограммированных кнопок для таких вещей, как F12 (которая вызывает основное меню), но мне нужна была свобода, и я хотел иметь возможность печатать.
У меня было несколько плат WEMOS на основе ESP из неудачных предыдущих проектов, и я решил использовать свой D1 Mini и запрограммировать его для приема запросов WebSocket. Теоретически этот WebSocket будет пересылать коды сканирования клавиатуры на соединение PS/2.
Проводка относительно проста, и требуемый код Arduino частично взят из существующего примера кода, а частично я внес небольшие коррективы.
Код на D1 mini состоит из следующего (и я включу полный исходный код в конце):
- Подключите ESP к моей локальной сети Wi-Fi
- Настройка выходных контактов для часов и линий данных для соединения PS/2
- Запустить сервер WebSocket
- В сообщении WebSocket пересылать каждый байт сообщения в линии синхронизации и данных PS/2
Я бы также продолжил обновление, включив в него: обслуживание одной HTML-страницы на порту 80 устройства.
С браузером добавлена хитрость. Как вы могли видеть из демонстрационного видео, я могу использовать браузер — на любом устройстве — для отправки удаленных команд нажатия клавиш.
Поскольку объектная модель браузера дает мне события для нажатия и нажатия клавиши, они идеально соответствуют тому, как работают скан-коды PS/2. Например, ввод буквы «Г» (заглавной) представляет собой последовательность: сдвиг вниз, г вниз, г вверх, сдвиг вверх.
Это соответствует шести байтам: 0x12
(«сделать» сдвиг), 0x34
(«сделать» g), 0xF0
, 0x34
(«разбить» g), 0xF0 9032 9 ,
0x12
( «перерывная» смена).
К счастью, в веб-архиве сохранилась старая веб-страница, содержащая таблицу кодов сканирования, которые я сопоставил с event.code
из событий нажатия и нажатия клавиши.
В дополнение к сопоставлению современных кодов с кодами сканирования я также добавил возможность определять клавиши как кнопки (чтобы я мог использовать страницу на своем мобильном устройстве) и добавил относительно упрощенную проверку сердцебиения, чтобы в случае потери соединения ( из-за отключения питания neptUNO) веб-страница автоматически переподключится.
Все это работало отлично, поэтому пришло время перейти к третьему прототипу — полупостоянной пайке платы и подключению к штыревому разъему PS/2, чтобы я мог легко отключать и снова подключать. Я также хотел две кнопки быстрого доступа для конкретных функций neptUNO (основное меню и клавиша «сканер»), а также потому, что у меня были две толстые кнопки под рукой.
У меня не очень хорошие навыки пайки (именно поэтому я предпочитаю паять свой собственный набор для взлома, а не более дорогие компьютеры), и эта задача заняла у меня добрых несколько часов, но я был доволен результатом.
Конечным результатом является устройство, которое я могу подключить, запускать меню вообще без компьютера (т.е. если я просто играю с джойстиком и мне нужно меню загрузки ПЗУ) или я могу полностью контролировать настольная клавиатура.
Код и детали
- WEMOS D1 mini
- PS/2 Male DIN (плюс несколько кусачек, чтобы разрезать его на нужные части) — я также рекомендую проверить, какой провод подходит к какому контакту, прежде чем начинать свой проект.