Comment simuler la frappe d'une seule touche sur le clavier d'un Mac avec un bouton poussoir?

fegalma

Membre confirmé
9 Octobre 2010
29
2
Lausanne
Voilà, ça fait un bout de temps que je cogite.

Actuellement, je ne vois pas d'autre solution que démonter un clavier externe branché sur le port USB du Mac, souder 2 longs fils sur les contacts de la touche concernée et relier les 2 fils au bouton poussoir.

C'est pas d'une élégance raffinée et je me dis qu'il doit bien exister une solution dans laquelle:

1) le bouton poussoir est relié au port USB, probablement via un petit boîtier ad-hoc.

2) un logiciel lit en permanence l'entrée du port USB et détecte l'impulsion du bouton poussoir

3) ledit logiciel déclenche alors un applescript (ou un processus automator) et là, je fais ce que je veux avec le script.


Voilà, si quelqu'un a une idée ou des infos sur du matériel déjà existant capable de réaliser mon désir, je suis preneur! :)

Merci d'avance!

NB1: Je n'ai pas de compétences en programmation et n'ouvre jamais le terminal pour bidouiller des lignes de codes qui sauraient lire les informations issues du port USB, etc etc

NB2: Le Mac concerné est récent et ne dispose plus du port infrarouge, donc impossible de le trigger avec une télécommande.
 
Bonjour,

As-tu pensé à une solution possible grâce à un Arduino ? Ça nécessite quelques connaissances en programmation, mais c'est surmontable. J'ai fait un controleur MIDI il y a quelques temps sans aucune connaissance en programmation Arduino, et il fonctionne parfaitement.

L'idée serait, schématiquement :
Arduino UNO (une vingtaine d'euros) + un bouton poussoir et quelques câbles relié via USB au mac --> quand le bouton est pressé, envoi d'un signal série au Mac.

Si ton script est capable de détecter un signal série, alors le tour est joué, sinon, on peut transformer le signal en signal MIDI (voir : http://www.instructables.com/id/Send-and-Receive-MIDI-with-Arduino/). Il existe aussi des programmes qui transforment le signal série en signal clavier.

Je sais pas si c'est une bonne solution, mais si ça t'intéresse, je peux approfondir.
 
Bonjour,

As-tu pensé à une solution possible grâce à un Arduino ? Ça nécessite quelques connaissances en programmation, mais c'est surmontable. J'ai fait un controleur MIDI il y a quelques temps sans aucune connaissance en programmation Arduino, et il fonctionne parfaitement.

L'idée serait, schématiquement :
Arduino UNO (une vingtaine d'euros) + un bouton poussoir et quelques câbles relié via USB au mac --> quand le bouton est pressé, envoi d'un signal série au Mac.

Si ton script est capable de détecter un signal série, alors le tour est joué, sinon, on peut transformer le signal en signal MIDI (voir : http://www.instructables.com/id/Send-and-Receive-MIDI-with-Arduino/). Il existe aussi des programmes qui transforment le signal série en signal clavier.

Je sais pas si c'est une bonne solution, mais si ça t'intéresse, je peux approfondir.
 
Merci c'est un début!Je vais aller voir ce qu'est un Arduino UNO.
Mais pour être franc, je ne comprends pas vraiment ce que tu veux dire en écrivant "envoyer un signal série au Mac" !
Donc je ne sais pas quelle instruction mettre dans mon script!

Mais peut-être que ça deviendra plus clair quand j'aurai farfouillé sur la toile pour comprendre un peu ce qu'est et ce que peut faire un micro contrôleur Arduino.
Meilleures salutations
Fegalma
 
Envoyer un signal série, c'est dire à l'Arduino d'envoyer une information à ton Mac, normalement via le port USB (en langage Arduino, cela se traduit par Serial.write(). Ensuite, ton Mac, via le programme, détecte ce signal série et exécute l'action demandée.

Si tu pouvais détailler le fonctionnement du programme, ça pourrait être bien. Comme ça, je pourrais essayer de voir comment faire communiquer l'Arduino avec le Mac.
 
Envoyer un signal série, c'est dire à l'Arduino d'envoyer une information à ton Mac, normalement via le port USB (en langage Arduino, cela se traduit par Serial.write(). Ensuite, ton Mac, via le programme, détecte ce signal série et exécute l'action demandée.

Si tu pouvais détailler le fonctionnement du programme, ça pourrait être bien. Comme ça, je pourrais essayer de voir comment faire communiquer l'Arduino avec le Mac.

Merci beaucoup pour ton aide!
L'idée de base est de faire jouer un morceau de musique dans itunes lorsqu'on enfonce le bouton poussoir.
En réalité, le bouton poussoir est un contact de relais fourni par une alarme activée par un détecteur de mouvement devant ma porte d'entrée. La musique est simplement un bout de conversation pré-enregistrée et il n'y aura que cette piste sonore dans itunes (je vais utiliser un utilisateur uniquement pour cette situation). Je pense ainsi simuler une présence dans l'appartement en mon absence.
Il faut donc que le programme se limite à dire à itunes de jouer la séquence (par l'article "lecture" du menu "commande" ou en utilisant le raccourci clavier "barre espace").
On comprend maintenant mon idée initiale de bidouiller un clavier et un contact externe pour simuler la frappe sur la barre d'espace.

Voilà, j'espère avoir été assez explicite! Merci encore et bien cordiaux messages,
Fegalma