Un clavier compact pour Raspberry Pi : le ChatPad de la Xbox

Depuis que j’ai un Raspberry Pi, je cherchais un clavier compact, et j’en ai finalement trouvé. Petit bonus, il n’est pas cher (moins de 15 € dans mon cas) et il ne se connecte pas en USB. Ce graal ? Le ChatPad de la Xbox 360.
ChatPad

Le ChatPad de la Xbox 360 est un clavier destiné au départ à se connecter aux manettes de la console, ce qui explique sa forme particulière. La version officielle vaut environ 40 € mais les copies des accessoiristes valent moins de 15 € et j’ai trouvé le mien sur eBay pour 11 $.

Le clavier branché

Le clavier branché

Ce qui est intéressant, c’est que le clavier utilise un protocole très simple : c’est du série tout à fait classique. On a donc un connecteur avec 4 pins, TX, RX, alimentation (3,3 V) et masse.

Un développeur a eu la bonne idée de proposer un pilote pour le Raspberry Pi ainsi que les instructions pour connecter le clavier au Raspberry Pi.

Le montage

Pour le montage, il faut savoir souder, mais c’était mon second essai c’est passé comme une lettre à la poste. En gros, il suffit de souder des fils sur chacun des contacts du connecteur (il y en a quatre) et de les relier aux connecteurs GPIO du Raspberry.

Il faut donc relier l’alimentation au connecteur 1 du Raspberry Pi (3,3 V), la masse au connecteur 6, le RX du clavier au connecteur 14 (TX) et le TX du clavier au connecteur 15 (RX).

Côté clavier

Côté clavier

Côté Raspberry Pi

Côté Raspberry Pi

Idéalement, il faut placer une résistance de 1 000 Ω au niveau des connecteurs RX et TX.

L’installation sur le Raspberry Pi

Du côté du Raspberry Pi, ce n’est pas très propre, mais ça fonctionne.

Premièrement, il faut ajouter un mot de passe à l’utilisateur root.

sudo passwd root

Ensuite, il faut se connecter en root et taper les lignes suivantes pour installer le pilote.

wget http://www.newsdownload.co.uk/downloads/RemoteKeypadDriver.tar.gz
gunzip RemoteKeypadDriver.tar.gz
tar -xf RemoteKeypadDriver.tar
cd /root/RemoteKeypadDriver/
chmod +x install.sh
./install.sh

On peut ensuite quitter le mode root et revenir sur un utilisateur plus classique.

Si vous avez overclocké le Raspberry Pi, attention : le connecteur série n’aime pas ça et il faut bien fixer la fréquence du contrôleur à 250 Mhz.

sudo nano /boot/config.txt

Il faut ajouter la ligne suivante si elle n’est pas présente (ou fixer la valeur à 250).

core_freq=250

Si jamais le clavier semble fonctionner bizarrement, ce qui était mon cas, il faut aller fixer un point dans le pilote. Par défaut, il écoute en effet sur plusieurs connecteurs GPIO et ça peut poser des soucis dans certains cas.

sudo nano /root/RemoteKeypadDriver/RemoteKeypad.ini

Il faut chercher la ligne qui commence par GPIO_PINS= et remplacer toutes les valeurs par -1, sauf bien évidemment les deux connecteurs utilisés réellement (soit les valeurs 14 et 15).

Une fois que c’est fait, il faut redémarrer le Raspbbery Pi et le clavier devrait être utilisable.

Une petite vidéo.

Le pilote fournit pas mal de fonctions, je vous laisse aller regarder sur le site du développeur.