Pour ceux ou celles qui auraient raté la précédente partie de ce billet qui consiste à construire un périphérique Multitouch pour environ 20-30 € maximum, n'hésitez pas à cliquer sur l'image suivante ;)

img_1320.jpg

Mise en Garde :

dialog-warning.png!! Attention !! Bien que follement passionnant (...hem ...) ce billet décrira quelques manipulations qui risquent de mettre à mal votre système. Si vous ne savez pas précisément ce que vous faites, veillez à ne pas prendre de risque inutile!! On vous aura prévenu!!

Intro :

Après le Hardware, la partie software, le plus difficile! Nous allons utiliser pour ça une librairie Opensource, j'ai nommé : "TouchLib".

Cette librairie bien que portée sous linux a principalement été développée pour windows. Nous, linuxiens, subirons donc quelques effets de bord de ce fait (moins de démos, impossible d'interfacer avec flash,...). Mais, n'oublions pas que si le projet vous plaît, vous êtes libre (oui oui) de contribuer à votre manière!

Voici d'ailleurs le lien vers le projet : http://code.google.com/p/touchlib/.

L'article ne passera pas en revue l'étape pendant laquelle vous installez votre webcam sur votre système préféré. Nous supposerons donc que celle-ci est parfaitement reconnue ;)

Compilation et installations :

Comme Indiqué dans le wiki du projet, installons la touchlib sur notre système grâce aux commandes magiques :

svn co http://touchlib.googlecode.com/svn/trunk/ multitouch cd multitouch cmake . make

pour les détails, regardez le wiki du projet.

il se peut que vous deviez aussi installer oscpack :

svn co https://www.smartelectronix.com:9000/repos/osc/trunk oscpack cd oscpack make sudo make install

ou

sudo checkinstall make install

Configuration :

Rendez vous dans le répertoire "src" de votre touchlib fraîchement compilée, ensuite, lancez la commande :

./configapp

Cette commande permettra de créer un fichier de configuration pour la touchlib. Plusieurs fenêtres seront ouvertes et vous demanderont des réglages afin d'ajuster au mieux les filtres pour rendre les points plus nets.... moins vous avez de bruits et de taches (autre que vos doigts) et moins vous avez l'effet des ombres de votre main avec la lumière, mieux ce sera!

Plusieurs filtres sont à votre disposition pour arriver à vos fin : mono, rectify, highpass, invert, smooth, brightnesscontrast, backgroundremove, resize et quelques autres plus ou moins utiles.

Chacun de ces filtres possèdent une ou plusieures options de configuration voyez pour ça la documentation officielle sur les filtres. Pour les utiliser, ajoutez juste les lignes correspondantes dans le fichier de configuration sous la balise "filtergraph" et dans l'ordre qui vous convient le mieux (l'ordre est donc important).

Par exemple :

<invert label="invert3" />

Lorsque vous lancez l'application de configuration et que vos manipulations sont fructueuses, appuyez sur "enter" pour enregistrer le fichier config.xml et passer à la seconde phase (pas indispensable...d'ailleurs elle marche pas terrible chez moi). Sinon, veillez à quitter avec ctrl+c dans la console afin de ne pas écraser votre essai de configuration.....

Après de long chipots, vous devriez avoir un résultat ressemblant à ça :

touch.png

Dans le cas contraire, vous pouvez reprendre mon fichier de configuration et l'adapter à vos souhaits (ou en chercher un autre sur le net) :

Sinon, Documentez-vous aussi sur la configuration de l'application sur le site du projet (bah oui, encore)

Lancement de la démo (enfin!)

Wééé, ça marche! Vous voici enfin à l'avant dernière étape de cet article.... Lançons la seule démo disponible pour notre plateforme à l'heure de l'écriture de ces lignes, grâce à la commande :

../demo/smoke/smoke config.xml

Nous passons donc notre fichier de configuration à celle-ci.

Touchez ensuite votre plaque et constatez les nuages de fumée suivant vos doigts et changeant de couleur.

smoke.png

Conclusion :

Malgré le peu d'application disponible de cette librairie, on voit clairement qu'il ne suffirait que peu d'effort pour fournir des petites démos sympas à la communauté. Alors je fais appel à tout le monde pour contribuer à sa manière au projet :

  • configuration plus user friendly
  • plus de démo
  • traduction de doc
  • plus de doc
  • des paquets pour ubuntu?
  • intégration avec les bureaux kde / gnome /...
  • et bien d'autres choses!

D'autres plateformes ont fait le choix de la "multitouchitude" ... alors pourquoi pas nous!