Atari 65XE — USB-клавиатура

Автор оригинала: iot4camper
  • Перевод


Несложная доработка компьютера Atari 65XE позволит использовать его в качестве USB-клавиатуры для современного ПК. Возможность работы в штатном режиме сохраняется. Дополнительное устройство выполнено на Arduino Leonardo. В UNIX-подобных системах клавиатура начинает работать сразу. Для работы в Windows необходимо включить в BIOS функцию USB Legacy Support. При использовании клавиатуры совместно с компьютерами Apple потребуется скорректировать раскладку в скетче.

Проделано всё описанное из ностальгических соображений.

Этому Atari 65XE около 30 лет. И он работает. Чтобы добавить к нему функцию USB-клавиатуры, автор взял Arduino Leonardo, немного перемычек и USB-кабель. Блок питания при работе в соответствующем режиме к компьютеру подключать не надо.



Подключить Arduino необходимо к 17 точкам на наборе контактных площадок J8. Первая площадка там квадратная, остальные — круглые. Поскольку шаг выводов и там, и на Arduino равен 2,54 мм, быть «ювелиром» для припайки проводов не обязательно.

Arduino | J8
--------+----
 2      | 19
 3      | 4
 4      | 8
 5      | 9
 6      | 10
 7      | 11
 8      | 17
 9      | 16
 10     | 20
 11     | 13
 12     | 14
 A0     | 12
 A1     | 15
 A2     | 7
 A3     | 18
 A4     | 5
 A5     | 6

Arduino нужно закрепить внутри Atari таким образом, чтобы проводники этой платы не соприкасались с металлическими частями компьютера. USB-шнур вывести наружу.





Поскольку на клавиатуре Atari меньше клавиш, чем на клавиатуре PC, в прошивке устройства предусмотрены «аккорды». Их можно менять согласно предпочтениям пользователя. По умолчанию они следующие:

 PC           | Atari
--------------+----------------------------
 F1           | Control+Tab+1 или Help
 F2 - F9      | Control+Tab+2 - 9
 F10          | Control+Tab+0
 F11          | Control+Tab+<
 F12          | Control+Tab+>
--------------+----------------------------
 ~ (тильда)   | Control+Tab+/
--------------+----------------------------
 ` (гравис)   | Control+Tab+Esc
--------------+----------------------------
 PgUp         | Control+Tab+стрелка вверх
 PgDn         | Control+Tab+стрелка вниз
--------------+----------------------------
 Home         | Control+Tab+стрелка влево
 End          | Control+Tab+стрелка вправо
--------------+----------------------------
 Левый Alt    | Клавиша с логотипом Atari
--------------+----------------------------
 Левый Ctrl   | Control
--------------+----------------------------
 Левый Sfift  | Shift
--------------+----------------------------
 Shift+Alt    | Shift+Alt (не Alt+Shift)
--------------+----------------------------
 Ctrl+Alt+Del | Никак
--------------+----------------------------
 Стрелка      | Control+соотв. стрелка
 влево        |
 (вправо,     |
 вверх,       |
 вниз         |
--------------+----------------------------
 Выделение    | Shift+Tab+соотв. стрелка
 текста       |
 (Shift плюс  |
 та или иная  |
 стрелка      |

Atari будет работать в штатном режиме, если подать на него напряжение с БП, или в режиме USB-клавиатуры, если соединить его с компьютером. Подключать и то и другое одновременно нельзя.



Чтобы прошить Arduino, необходимо скачать скетч (бесплатен для некоммерческого использования), а также модифицированные библиотеки Keypad v.3.1.1 и Keyboard v.1.0.2 (обе под GPL). От таких же оригинальных библиотек они отличаются тем, что учитывают наличие на плате Atari микросхем, подключённых к матрице клавиатуры, и предотвращают неправильное считывание состояний клавиш, в первую очередь, Control и Pause.

Переделав скетч, можно аналогичным образом добавить функцию USB-клавиатуры практически к любому ретрокомпьютеру.
Поддержать автора
Поделиться публикацией

Комментарии 24

    +5
    Я так понимаю, сделано исключительно «потому что могут»? =)
    Удобство использование такой клавиатуры для работы с современным компьютером, мягко говоря, под сомнением.
    Особенно вот это порадовало:
    Ctrl+Alt+Del | Никак

    Ну хоть настроить можно)
      0
      Не удаётся вспомнить, когда последний раз пользовался этой комбинацией клавиш.
        +3
        Это у вас полноэкранные приложения давно не висли.
          –4
          Это у меня более интересные увлечения нежели в игры играть ;)
            +2
            Ctrl+Shift+Esc?
              +1
              Ctl+Shift+Esc просто запускает диспетчер задач (и это запросто может не сработать). Ctrl+Alt+Del работает несколько по-иному.
              +2
              Или пользуется ОС, в которой приложение не может перехватить контроль над рабочим столом :)

              Не помню, когда у меня в лине последний раз не работало переключение на другой воркспейс даже при 100% CPU load и забитом канале IO.
            +1
            на маковских клавиатурах кстати тоже. у них дела нет, но его заменяет шифт+бекспейс…
            +3
            Это нечестная доработка, просто подключили arduino к пинам клавиатуры и всё. Вот если бы без вскрытия корпуса с подключением через внешний порт, да ещё чтобы программу для эмуляции клавиатуры нужно было бы с кассеты грузить.
              +3
              Это же раритет! Мб через много лет будет стоить что-то :)
                +10
                Вандал, другого слова нет. Есть раритетный ПК, нет нужно сделать из конфетки какое-то жалкое наколенное поделие чтобы попариться, мол я могу спаять 2 провода и написать 100 строк кода для ардуино.
                  +1
                  он, как я понимаю, остался раритетным рабочим(!) ПК, но может быть использован в качестве клавиатуры для современного.
                    0
                    И что, что рабочим? Он испахабил внутренности! Напаял кучу проводов, залил это все соплями. И самое главное: а челлендж в чем? Любой начинающий способен нагуглить "как сделать клавиатуру на Ардуино".
                    Вот если бы он Ардуино подцепил к перефирийному разъёму и сделал картридж с программой для Atari транслирующий нажатия в этот переферийный разъем, так что бы сам компьютер не модифицировался — вот это был бы проектик. А так…
                      0
                      Любой начинающий способен нагуглить «как сделать клавиатуру на Ардуино».
                      У меня не получается, наверно потому что я совсем не начинающий. Именно компьютерную клавиатуру сделать я нашёл только один нормальный вариант, и не по этому запросу, и не сегодня. В основном в выдаче варианты подключения матрицы кнопок к самой Ардуино.
                      Atari жалко, с этим я целиком согласен. У самого лежит подобный комп в гораздо худшем состоянии, и то жалко пломбы срывать. А без этого проверить на работоспособность не могу.
                        +1
                        Серьезно? Не нашли? Библиотека Keyboard идет в комплекте со средой Arduino: www.arduino.cc/reference/en/language/functions/usb/keyboard
                          0
                          Atmega32U4 — немного другой микроконтроллер, в нём изначально это всё заложено, но и цена другая.
                            +1
                            И что? Это тоже Arduino. "Другая цена" — это бакса 3 на Алиэкспрессе?
                              –1
                              Да не в баксах дело. Допустим, есть у меня Ардуино, и идея по поводу клавиатуры с её участием. И вдруг оказывается, что для воплощения идеи ещё нужно купить другую Ардуино на Али (далеко не все имеют такую возможность), потом ещё подождать полтора месяца, и только после попробовать. Через полтора месяца у меня будут другие идеи и желания.
                              Конечно, если конкретно задаться целью, то можно заморочиться…
                                0
                                А допустим у меня нет Ардуины? А есть идея испахабить раритетный компьютер? Вы начинаете передёргивать. Было сказано, что любой дурак начинающий способен загуглить и найти как сделать USB клавиатуру. Как оказалось даже стандартная библиотека для этого есть. Автор издевательства над Atari 65XE взял Arduino Leonardo, которая как раз базируется на Atmega32U4. Так в чем тут новизна? В чем "геройство"? Взять ардуину, готовые библиотеки и собрать все это в кучу — много ума не надо.
                                  0
                                  И не думал передёргивать. Мой комментарий был по поводу предыдущего комментария. Я довольно много перерыл в поисках информации, как сделать клавиатуру на базе Ардуино, с большим трудом нашёл хоть что-то, и тут вдруг «любой начинающий способен нагуглить».
                                  А по поводу действий автора я уже писал выше
                                  Atari жалко, с этим я целиком согласен
                                  Хотя нельзя осуждать, не для каждого этот комп представляет такую ценность. Кто-то восстанавливает буквально из пепла попавшее к нему раритетное устройство, а кто-то выбрасывает совершенно новое, найденное в шифоньере у дедушки. В конце концов, автор не слишком жестоко обошёлся с Atari, к тому же это его собственность.
                                  А по поводу «в чем тут новизна? В чем „геройство“?»- так 98% публикаций на Хабре можно забраковать. Толерантней надо быть.
                          +1
                          Вот по такому запросу посмотрите: «guide build handwired keyboard qmk»
                            0
                            Попробовал. Может, у меня Гугл неправильный? Это точно на Ардуино?
                    +1
                    Чтобы не изобретать велосипед, вместо Leonardo лучше взять Teensy 2.0 и QMK как прошивку.
                    Советую также ознакомится с опытом изготовления конвертеров здесь: geekhack.org/index.php?board=117.0

                    Есть легендарные клавиатуры, с которыми современные не сравнятся из-за оптимизации и удешевления последних.
                      +1
                      А как вам такой винтаж? Исключительно на кириллице, даже скрипит от старости?
                      vk.com/id527627069?z=video527627069_456239017%2Fd285e99b552d8b2d84%2Fpl_wall_527627069

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                      Самое читаемое