Pull to refresh

Как из старого геймпада под Gameport/MIDI-port, сделать геймпад под USB

Разбирал на днях старый хлам и наткнулся на gamepad внешне в идеальном состоянии только провод немного повреждён. Возникло желание использовать его по назначению но он оказался под gameport и подключать его просто некуда.


Зачем

Сам девайс имеет на борту крестовину и 8 кнопок:
image
Исходя из их расположения он хорошо подходит для эмуляторов старых консолей Sega, Nintendo, GameBoy.
Поискав на просторах глобального пришёл к выводу, что не хочу заниматься починкой его кабеля, что-бы затем выкинуть ~500 деревянных за адаптер USB-MIDI.

Как

И тут мне пришла идея взять контроллер из старой клавиатуры. В обще тут не принципиально какой PC/2 или USB, но PC/2 может оказаться занят, а на ноут/нетбуках его может не быть вовсе, USB в этом смысле универсален. Пару месяцев назад как раз развалилась noname клавиатура под USB, её и буду потрошить.

Этап 1

На самом деле он был далеко не первый но здесь ему место. Определиться какие клавиши будет возможно использовать для назначения в эмуляторах и играх. Оптимальный вариант оказался NUMPAD, клавиш дополнительной клавиатуры хватает с запасом из них как эмуляторы для своих нужд не чего не резервируют, единственный минус нужна клавиша NumLock.

Этап 2

Играем в игру «Проведи ёжика через лабиринт к яблоку» изучаем схему контактных дорожек клавиатуры, gamepadа. В моём случае клавиатуре имеется три слоя плёнки верхний общие дорожки(8 штук), средний изолятор с перфорацией напротив контактов, нижний дорожки пересечения(18 штук). Из них нужны только 8, по 4 из каждого контактного слоя. С gamepadом проще но у него есть несовместимости, посторонние элементы в схеме, резисторы, конденсатор, транзисторы. Все их просто выпаеваем. Максимум клавиш NUMPAD-а на одном общем контакте 4 штуки а на gamepadе оказалось 5(левый шифт привязан к крестовине) но так как шифты вынесены на отдельные платки перенесём его на другую общую линию. Остальные общие линии не перегружены.
Выбираем раскладку для gamepadа:
  • крестовина — NUM: 7, 8, 9, +
  • кнопки 1, 2, 3, 4 — NUM: 1, 2, 3, Enter
  • кнопки 5, 6, 7(левый шифт) — NUM: 4, 5, 6
  • кнопка 8(правый шифт) — NUM: * (на этой же линии NumLock и "/" но слэш в запасе)

В запасе есть еще две основных линии на одной "-" а на другой «Ноль» и «Del»

Этап 3

Подготовим тонкие, многожильные, мягкие, желательно разноцветные провода, паяльник, припой, канифоль, кнопку кликер (для NumLock), изоленту, терпение.
Нужно залудить соответствующие контакты на контролере клавиатуры, задача усложнена нанесённой на них токопроводящей краской. Лудим 10 проводов длинной более 10см(для удобства) и несколько по 3-5см(на перемычки). 8 длинных проводов припаиваем к контролеру в соответственно, к общему на котором NumLock паяем кнопку и провод к другому контакту кнопки провод на на дополнительную линию NumLock на контролере. На платке gamepadа распаиваем крестовину и делаем перемычки для кнопок соответственно, для дополнительных линий, прямо, на дополнительные линии крестовины
основные линии не замыкаются между собой.
Подключаем к компьютеру, открываем блокнот и проверяем что получилось (диод NumLock должен светится и на контроллере и не клавиатуре компьютера) у меня:
798+123
546*

Если получилось нечто подобное(и все 12 нажатий происходят) изолируем контроллер и скручиваем gamepad.

Итого

Старый игровой манипулятор обрёл новое универсальное воплощение.
Таким способом можно оживить сразу несколько контроллеров для совместной игры.
Заняло по времени примерно день неторопливой работы включая изучение вопроса экспериментально.
Надеюсь кому-нибудь пригодится мой опыт.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.