Deuxième version de l’interface KIMOJO.
Deuxième version de l’interface KIMOJO.

L’interface KIMOJO pour A4000

Au début de l’année 2000, je venais de terminer de mettre mon A4000D dans une tour Lian-Li et je trouvais que le clavier et la souris d’origine faisaient un peu tache. Et je me lassais d’un clavier aux touches molles et à la souris à boule, alors qu’il existait déjà sur PC des claviers et souris de bien meilleure qualité et sans fil. C’est à ce moment là que l’idée de faire une interface gérant les claviers et souris PS/2 m’est venu.

Quelques mois plus tard, la première version de cette interface fût opérationnelle. Elle permet non seulement d’utiliser des claviers et souris dédiés au monde PC, mais également de piloter l’alimentation ATX de mon A4000D, qui peut être allumé et éteint par le clavier en tapant un mot de passe, ou de commander un switch interne pour basculer entre la PicassoIV et la CybervisionPPC. Parallèlement, j’avais conçu une carte pour la gestion des ventilateurs et de la LED d’alimentation, qui s’allume par pulsations bleues quand l’ordinateur est hors tension et bleu très clair quand il est alimenté. J’avais même prévu de changer la couleur de cette LED en fonction de la charge CPU sous Linux.

Première version de l'interface KIMOJO.
Première version de l’interface KIMOJO.

Il y a quelques mois, alors que j’installais mon autre A4000D dans mon bureau, l’idée m’est venue de reprendre cette interface pour l’adapter à ce format de boitier, avant tout pour supprimer tous ces câbles. J’ai alors travaillé sur une deuxième version de cette interface qui porte le nom de KIMOJO (pour KEyboard, MOuse et JOystick, le « I » remplacant le « E » pour la prononciation).

Présentation

Cette interface est articulée autour d’un microcontrôleur cadencé à 48 MHz pour la gestion de toute la partie coté Amiga, alors qu’un contrôleur USB se charge de toute la gestion … de l’USB. L’utilisation d’un contrôleur USB dédié permet ainsi de décharger le microcontrôleur de la carte qui est déjà bien sollicité. Ainsi, la carte est capable de gérer des claviers et souris à la norme PS/2, des claviers et souris USB qu’ils soient de simples périphériques ou composites, ainsi que des manettes USB.

Vue du dessus de la deuxième version de l'interface KIMOJO.
Vue du dessus de la deuxième version de l’interface KIMOJO.
Vue du dessous de la deuxième version de l'interface KIMOJO.
Vue du dessous de la deuxième version de l’interface KIMOJO.
Vue éclatée de la deuxième version de l'interface KIMOJO.
Vue éclatée de la deuxième version de l’interface KIMOJO.

Les claviers et souris PS/2

La gestion des périphériques à la norme PS/2 est certainement la plus aboutie, puisque développée initialement plusieurs années auparavant et bien testée. Ainsi, toutes les touches des claviers sont bien gérées, ce qui inclue les touches multimédias pour lesquelles des codes de touche supplémentaire sont envoyés vers l’ordinateur. Les souris sont quant à elles entièrement gérées, y compris la molette pour laquelle il est nécessaire d’installer un petit logiciel coté Amiga.

Les claviers et souris USB

A la date de parution de cet article, la gestion des périphériques à la norme USB est moins aboutie que celle pour le protocole PS/2. L’interface ne gère que les touches standard des claviers. Les souris sont par contre bien gérées, hormis les molettes et les boutons additionnels que l’on peut trouver sur certains modèles couteux. Les mouvements de la souris sont légèrement moins fluides qu’avec une souris à la norme PS/2 pour laquelle les mouvements sont irréprochables. Cela s’explique par la gestion beaucoup plus lourde du protocole USB par rapport au protocole PS/2.

Les manettes USB

Au début du développement du firmware, la gestion des manettes à cette norme n’était pas prévue. Plus tard, alors que je travaillais sur le firmware du contrôleur USB, j’ai réalisé qu’il pouvait également gérer ces périphériques. Aussi ai-je ajouté cette fonctionnalité. A la date de parution de cet article, il existe néanmoins une contrainte qui empêche directement d’utiliser certaines manettes USB, à moins qu’elles ne soient ajoutées spécifiquement au firmware, ce qui n’est pas un problème en soit, puisque le firmware de la carte peut être mis à jour facilement. Ces manettes peuvent donc facilement être ajoutées sur demande. Néanmoins, toute manette compatible avec la manette Dual Shock 3 de Sony est complètement gérée, comme la manette sans fil QuickFire 2 de BigBen, ou évidemment la manette de Sony. Pour cette dernière et via un dongle BlueTooth reconnu par la carte, il est possible de l’utiliser sans fil et de la mettre en marche ou de l’arrêter via son bouton PS. Il est également possible d’utiliser les manettes de Playstation 2 par l’intermédiaire d’un adaptateur.

Les fonctionnalités de la gestion des manettes sont nombreuses:

  • Jusqu’à deux manettes peuvent être gérées simultanément.
  • Tous les boutons de la manette sont gérés. Quand une seule manette est connectée, les boutons supplémentaires sont reportés vers le port souris de l’Amiga.
  • Les boutons des manettes peuvent être remappés vers les touches du clavier.
  • La fonction de la plupart des boutons peut être redéfinie.

Les fonctionnalités suivante seront ajoutées ultérieurement:

  • Utilisation du stick analogique droit comme souris.
  • Remappage des touches du clavier vers les boutons des manettes.
  • Ajout de la fonction auto fire.
Démonstration de l'interface KIMOJO avec le jeu Agony.
Démonstration de l’interface KIMOJO avec le jeu Agony.
Démonstration de l'interface KIMOJO avec le jeu Black Crypt.
Démonstration de l’interface KIMOJO avec le jeu Black Crypt.

Mise à jour des firmwares de l’interface

Par l’intermédiaire d’une clef USB formatée en FAT32, il est possible de mettre à jour les deux firmwares de la carte. C’est une opération sans risque pour le microcontrôleur puisqu’il existe une solution de secours en cas de problème, mais un peu moins pour le contrôleur USB pour lequel, néanmoins, les mise à jour seront moins fréquentes.

Matériel testé

Voici la liste du matériel testé et fonctionnant bien avec l’interface:

– Le clavier et la souris Logitech Cordless Itouch (PS/2 et USB).
– Le clavier et la souris Logitech Cordless Desktop Optical (PS/2 et USB).
– Quelques modèles génériques de claviers et souris PS/2 et USB.
– Les claviers et souris Logitech via leur dongle Unifying
– La souris Corsair scimitar rgb.
– La manette sans fil BigBen Quickfire 2.
– La manette DualShock 3 de sony en USB et Bluetooth via un dongle spécifique.
– L’adaptateur PS2->USB Konig pour les manettes de Playstation 2
– Toute manette compatible DualShock 3 doit fonctionner (et non sixaxis).

Conclusion

Si plusieurs personnes sont intéressées par mon projet, je pourrais envisager de produire une série. Pour l’instant, j’ai fixé le prix de la carte à 130 euros: 50 euros pour le développement passé et à venir, plus 80 euros pour produire la carte (c’est le prix que m’a coûté chacun des 3 exemplaires que j’ai assemblés).

Leave a reply

Your email address will not be published. Required fields are marked *