Depuis la nuit des temps nous utilisons des claviers pour écrire à l'ordinateur. Avant ça on écrivait les bits sur les disquettes directement avec des aimants mais c'était vite devenu très galère ; pour cette raison l'ingénieur Fulgence Clavier (le grand-père de l'acteur !) a inventé le clavier en 1922 [source].
Le bus universel utilisé par tous les ordinateurs modernes est l'USB, un des premiers ordinateurs l'ayant introduit pour les périphériques étant l'iMac en 1998. Les Macintosh plus anciens utilisaient un autre bus, l'ADB, introduit à l'origine sur l'Apple IIgs en 86 puis sur tous les Mac sortis à partir de 87.
Il existe beaucoup d'adaptateurs pas chers pour connecter d'anciens périphériques PC en prise PS/2 sur des ordinateurs USB mais ce n'est pas le cas pour l'ADB. L'adaptateur le plus populaire est le Wombat qui supporte la conversion dans les deux sens et permet aussi de brancher des claviers et souris USB sur un Macintosh mais il coûte 40$ sans compter la livraison depuis les US, les taxes et la douane.
J'ai donc tenté de réaliser pour vous un adaptateur pas cher qui m'a coûté environ 5€ de composants. Cet adaptateur permet seulement d'utiliser un clavier ADB sur un ordinateur en USB, pas l'inverse.
Fabrication de l'objet
J'ai utilisé ces composants :
- un Arduino Pro Micro (un clone AliExpress) ;
- une prise femelle mini-DIN 4 broches ;
- une résistance de 1000 ohm ;
- trois fils de 3 cm max ;
- un câble USB ;
- 275 cagettes de pommes.
Pour commencer j'ai coupé trois fils d'un peu moins de 3 cm, dénudés de chaque côté. Ensuite j'ai identifié les broches DATA, VCC et GND sur le port mini-DIN pour savoir où souder les fils, ça se fait avec le multimètre en mode continuité.
Pour avoir un ensemble solide j'ai utilisé les broches offertes avec l'Arduino pour y souder les deux grosses patounes du mini-DIN en faisant attention de ne rien mettre en court-circuit, c'est du gros bricolage mais ça fait totalement le taf ! Ensuite j'ai soudé les fils sur le port de manière perpendiculaire pour pouvoir les connecter facilement.
Enfin j'ai cherché la broche PD0 sur la carte, elle correspond au numéro 3 sur le PCB. J'ai ajouté la résistance entre 3/PD0 et VCC sous le PCB puis j'ai soudé les fils.
Programmation de la carte
J'ai installé QMK avec mon gestionnaire de paquets :
brew install qmk/qmk/qmk
Après j'ai lancé le setup puis la compilation du fichier pour l'adaptateur :
qmk setup
qmk compile -kb converter/adb_usb/rev1 -km default
Enfin j'ai flashé l'Arduino : je l'ai branché puis j'ai exécuté :
qmk flash -kb converter/adb_usb/rev1 -km default
Au message Waiting for USB serial port - reset your controller now j'ai déclenché le reset en reliant brièvement RST et GND - les deux broches contigües juste au-dessus de VCC côté port USB - j'ai fait ça avec une petite pince mais on peut aussi utiliser un trombone.
Ça a fonctionné du premier coup et j'ai pu connecter un clavier ADB pour écrire cette page. :)
Liens
- ADB-to-USB Keyboard Converter, page Github du firmware ADB-to-USB
- QMK Firmware, Quantum Mechanical Keyboard Firmware
- Archive du wiki Deskauthority, wiki de référence pour les claviers