Macros AHK n°3: Contrôler YouTube sans rester sur le navigateur

Je viens de découvrir un nouveau truc super cool que je me dois d’immédiatement partager :
Envoyer des commandes à YouTube sans devoir retourner sur le navigateur !
Le tout grâce à AutoHotKey (Windows seulement :s, mais si vous savez comment faire sous Linux commentez, ça m’intéresse !)

Dans mes premiers articles, j’avais déjà expliqué comment se faire des macros de médias universelles avec AHK pour contrôler sa musique sans touches média dédiées sur le clavier.

Et bien imaginons que cette fois vous avez lancé une playlist YouTube.
Puis vous avez minimisé le navigateur pour continuer vos activités de blogueur en herbes sur un logiciel de traitement de texte (un exemple très méta).
Mais de temps en temps, vous voulez mettre la pause.
Ce faisant… Quoi de plus ch*** que de rouvrir systématiquement son navigateur juste pour faire play/pause (perso j’ai fait cette action des milliers de fois).

C’est le moment de sortir l’Arme Hultime Kitue (AHK).


Via un raccourci personnalisé, AHK peut envoyer des touches au navigateur comme si le focus était dessus.

Hors, YouTube a quelques raccourcis pratiques :
← : 5 secondes en arrière
→ : 5 secondes en avant
k : pause (barre espace fonctionne aussi, mais ‘k’ c’est le vrai raccourci)

Donc l’idée est d’avoir un raccourci un peu spécial qui déclenche l’envoi de commandes.
Comme je suis un peu bourrin j’ai mis ctr+maj+Win en base + a|s|d (‘a’ envoie ← , ’s’ envoie k , ’d’ envoie →).
Bien entendu vous pouvez mettre ce que vous voulez si vous préférez avec un raccourci plus simple.
Par contre il faut que le navigateur soit sur l’onglet de la vidéo pour que ça fonctionne (je suppose que si l’onglet n’est pas affiché il faudrait toucher a l’API du navigateur mais ça je sais pas faire ^^).

L’avantage d’un “gros” raccourci à 4 touches, c’est qu’il a peu de chance d’être affecté à une action dans vos applis courantes (surtout grâce au “Win”) tout en restant sous la main gauche, donc super rapide.

Et maintenant le script ! (fonctionnel et testé uniquement avec le navigateur Firefox)

Si vous ne voulez pas batailler je vous ai préparé une version compilée, qui ne nécessite pas l’installation d’AHK. Téléchargez et exécutez le fichier nofocus_youtube_firefox_control.exe.

Si vous voulez aller plus loin et customiser vos actions et raccourcis :

  • Installez ahk
  • Copier/coller le code ci-dessous dans un fichier texte que vous renommez (’.txt’ -> ‘.ahk’)
  • Double-cliquez dessus. simple !
^#+a::
SetTitleMatchMode, 2 ; match anywhere in window's title
IfWinExist YouTube ahk_class MozillaWindowClass
    ControlSend, ahk_parent, {left},
    return

^#+s::
SetTitleMatchMode, 2
IfWinExist YouTube ahk_class MozillaWindowClass
    ControlSend, ahk_parent, k,
    return

^#+d::
SetTitleMatchMode, 2
IfWinExist YouTube ahk_class MozillaWindowClass
    ControlSend, ahk_parent, {right},
    return

Petit rappel des caractères correspondant aux touches modificateurs dans AHK pour personnaliser vos raccourcis (d’ailleurs les miens sont pas top finalement puisqu’il déclenchent des actions si le focus est sur le navigateur) :

^ : Control
+ : Shift/Maj
! : Alt
# : OSkey/Win (la touche avec le logo windaube ;) )

Après avoir eu l’idée, j’ai lutté pour faire ce script, jusqu’à ce que je trouve l’exemple parfait dans la doc d’AHK que vous pouvez aussi suivre pour vous aidez.


Tout l’article tourne autour du contrôle de vidéo, mais le point intéressant c’est qu’on peut envoyer des touches à n’importe quelle fenêtre ! (D’ailleurs à priori certaines extensions de navigateur permettent déjà d’utiliser les touches médias pour contrôler YouTube)

En fait l’article aurait pu se résumer à :
Hey j’ai trouvé un truc cool, téléchargez ce fichier pour faire play/pause sur youtube sans focus sur la fenêtre avec tel raccourci

Mais si il y a 70 lignes au lieu d'1, c’est parce que je ne veux pas juste vous donner le poisson, je veux vous apprendre à pêcher et surtout donner l’envie d’y aller.

Sur ces propos empli d’une sagesse philosophique douteuse, il ne me reste plus qu’a vous souhaitez bon scripting !