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



## fegalma (10 Mai 2015)

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.


----------



## trueRock (11 Mai 2015)

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.


----------



## fegalma (11 Mai 2015)

trueRock a dit:


> 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.
> 
> ...


----------



## fegalma (11 Mai 2015)

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


----------



## trueRock (11 Mai 2015)

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.


----------



## fegalma (12 Mai 2015)

trueRock a dit:


> 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


----------

