AutoHotKey : contrôlez Windows grâce à vos propres raccourcis clavier

By | 23 novembre 2007

auto-hot-key.jpgNous avons vus récemment un logiciel de todo listes entièrement contrôlable au clavier. Que diriez-vous maintenant de contrôler l’ensemble de Windows grâce à vos propres raccourcis clavier?

Avec AutoHotKey, le rêve devient réalité. C’est un langage de scripts facile à maîtriser pour créer toutes sortes de raccourcis clavier. Une aubaine pour optimiser votre productivité.

Voici donc un tutoriel qui vous permettra de créer en un tour de main des raccourcis clavier très efficaces.

Avant de commencer

La première chose à faire est de télécharger et installer le logiciel AutoHotKey. Ensuite, vous pourrez créer votre premier script en allant dans un répertoire, puis click droit > Nouveau > AutoHotKey Script

Créer un nouveau script autohotkey

Renommez-le et cliquez avec le bouton droit de la souris dessus. Choisissez Edit Script pour ouvrir le fichier dans le bloc notes Windows.

Votre premier Script

Le plus simple est d’associer une touche à une autre. Par exemple si je veux que la touche a appelle la touche b, j’écrirai dans mon script la ligne suivante :

a::b

Exécutez maintenant le script en double-cliquant dessus. Désormais, si vous essayez d’écrire un a dans un éditeur, vous constaterez que vous obtenez un b à la place.

Evidemment, il y a des associations plus judicieuses. Prenez par exemple la touche ² qui ne sert pas souvent. Vous pouvez très bien l’associer à <Windows>+e afin d’ouvrir un explorateur Windows plus facilement :

²::#e

Vous remarquerez ici que la touche <Windows> est représentée par un #. On retrouve aussi des codifications spéciales pour certaines autres touches.
Par exemple : !=Alt, ^=Control, +=Maj (voici la liste complète).

Maintenant, comment vais-je faire pour utiliser la touche ² les rares fois où j’en ai besoin? Une solution peut être d’utiliser la touche Maj+². Il suffit pour cela de rajouter dans notre script la ligne :

+²::²

Des raccourcis clavier pour exécuter des commandes

Pour aller plus loin, nous allons utiliser les raccourcis clavier pour exécuter des commandes simples.

Premier exemple : réduire une fenêtre grâce à la touche CapsLock. Nombreux sont ceux qui trouvent cette touche gênante : ne vous est-il jamais arrivé de taper une phrase entière sans vous rendre compte que vous aviez tapé accidentellement la touche CapsLock au milieu? Ce script devrait supprimer ce problème :

CapsLock::WinMinimize,A

Ici nous avons utilisé la commande WinMinimize avec le paramètre A, qui permet de minimiser la fenêtre active.

Maintenant, essayons un raccourci clavier pour activer/désactiver le son grâce au raccourci clavier <Windows>-X. Voici le code :

#x::SoundSet, +1, , mute

Désormais, plus besoin de cliquer sur l’icône haut parleur pour mettre en sourdine le son de windows, vos voisins vous en seront reconnaissant…

Enfin, voici un code pour lancer un explorateur windows ouvert au répertoire Mes Documents :

#e::Run,C:\WINDOWS\explorer.exe /e`,%A_MyDocuments%

La commande Run permet d’exécuter n’importe quel programme windows. Et même d’accéder à des adresses web.

Deux remarques sur cet exemple :

  • Il est possible d’utiliser des variables. Ici : %A_MyDocuments% correspond au chemin du répertoire Mes Documents (pour plus d’infos, consultez la liste des variables internes de AutoHotKey).
  • Notez aussi le `, . Le caractère ` est un caractère d’échappement. Vous avez dû noter que la virgule est utilisée comme séparateur dans les scripts AutoHotKey. Il faut donc faire précéder la virgule par un caractère spécial (caractère `) afin qu’elle soit vue non pas comme un séparateur mais comme un caractère normal (pour plus d’infos, consultez la liste des caractères d’échappement).

Créez des raccourcis plus complexes

Il est possible de créer des raccourcis qui appellent des procédures complexes sur plusieurs lignes. Il faut alors utiliser la syntaxe suivante :

raccourci::
commande 1
commande 2
...
return

Voici par exemple un script qui vide la corbeille et affiche ensuite un message à l’utilisateur pour indiquer que la corbeille windows est vide :

#c::
FileRecycleEmpty, C:\
MsgBox, la corbeille est vide
return

Ici, la commande FileRecycleEmpty vide la corbeille du disque C, tandis que la commande MsgBox affiche un message à l’utilisateur.

Comment restreindre son raccourci à une application particulière

Il est très utile de créer des raccourcis spécifiques à certaines applications. Pour cela, nous allons utiliser la directive #ifWinActive. La syntaxe est la suivante :

#ifWinActive fenêtre_concernée
Raccourci à créer
#ifWinActive

Voici par exemple un raccourci qui permet de créer un répertoire dans une fenêtre de l’explorateur Windows grâce au raccouci clavier <Windows>+N :

#IfWinActive ahk_class ExploreWClass
#n::
Send {Alt}f
Sleep 100
Send n
Sleep 100
Send {Enter}
return
#IfWinActive

La première chose à noter ici est le nom de la fenêtre : ahk_class ExploreWClass. Vous trouverez facilement ce nom grâce à l’utilitaire Window spy qui se trouve dans votre répertoire d’installation d’AutoHotKey (fichier AU3_Spy.exe).

Exécutez-le et cliquez sur la fenêtre voulue pour trouver son nom. Voici ce qu’on obtient :

active-window-info.jpg

Si on revient au script, vous noterez que nous avons utilisé la commande Send, qui permet d’envoyer des touches à votre fenêtre. Nous envoyons d’abord {Alt}f pour ouvrir le menu fichier. Puis le temps que ce menu s’ouvre, on attend un petit moment avant d’envoyer de nouvelles touches grâce à la commande Sleep 100 (durée de 100 millisecondes). Ensuite on envoie la touche n pour aller dans le sous-menu Nouveau et on valide à la fin par entrée pour créer le répertoire.

Exécutez vos scripts à partir d’une clé USB

Lorsque vous cliquez avec le bouton droit de la souris sur un script, vous verrez qu’il est possible de compiler le script en un fichier exécutable .exe

Ceci permet d’emporter avec vous votre programme et de l’exécuter sur d’autres ordinateurs à partir de votre clé USB. Vous avez donc l’assurance de retrouver vos raccourcis préférés lorsque vous travaillez sur d’autres ordinateurs.

Conclusion

Même si AutoHotKey est très facile à utiliser, il n’en est pas moins puissant et efficace. On peut même créer de véritables applications avec. Il est possible de réaliser des substitutions de textes en cours de frappe – voir à ce propos l’application Texter de Lifehacker dont nous avons parlé précédemment – ainsi que de manipuler le presse-papier et de créer des fenêtres.

Pour aller plus loin avec AutoHotKey, il sera bon d’aller faire un tour dans le forum qui recèle des trésors de scripts.

Fans d’AutoHotKey, utilisez les commentaires pour nous faire part de vos astuces!

25 thoughts on “AutoHotKey : contrôlez Windows grâce à vos propres raccourcis clavier

  1. Pingback: Extra : manipulez efficacement vos fenêtres avec Nifty Windows (accessibilité, productivité, application portable)

  2. Pingback: Génialissime : manipulez efficacement vos fenêtres avec Nifty Windows (accessibilité, productivité, application portable)

  3. Ayinn

    Très facile c’est vite dit, en tout cas pour moi qui ne touche rien en informatique ou presque. Par exemple, j’ai essayé de créer un raccourci qui vide la corbeille, eh bien, pour certains programmes, il ne les enlève pas, les musiques notamment. Par ailleurs je ne comprends rien en ce qui concerne la commande elle-même. FileRecycleEpmty ?? Bien sûr après l’avoir vu et traduit on comprend mais on ne peut pas deviner la commande en elle même.

    Merci de bien vouloir m’expliquer parce que bien sûr ce programme est très intéressant.

  4. Alexandre Post author

    @Ayinn : merci pour ton commentaire. Si tu veux mieux comprendre la commande FileRecycleEmpty, tu peux consulter la page qui explique la syntaxe de cette commande ici. Notamment, tes musiques sont peut-être sur un autre disque que C:, dans ce cas il suffit donc d’appeler la commande sans le “, C:\” pour résoudre le problème.
    La liste de toutes les commandes est disponible ici.

  5. Jean-Denis

    Dire que j’ai Googlé pendant trois semaines (depuis que j’essaie Autohotkey) avant de trouver cette sympathique page en français !
    Bravo, merci (car même après trois semaines j’y ai appris des choses 🙂
    Amicalement,
    ________Jidé

  6. Alexandre Post author

    @Jean-Denis : eh oui, pas toujours facile de trouver ce qu’on veut sur Google.
    Merci pour ton commentaire encourageant et bonne continuation.

  7. tahitibob

    omg, le logiciel de mes reves…
    depuis le temps que je me dit que windows a vraiment pas assez de raccourcis clavier, je suis pressé de pouvoir tester ce soft !
    merci bcp

  8. smoke_fr

    moi je joue a gta sa en resau et je voudre fer des racourci sur les commandes du jeux
    par exemple je veu apier sur = pour ke sa me tappe /tazer (ki est une commandes dans le jeux)

    si quelquin c comment fer mercie de me repondre svp

  9. LEMOINE Philippe

    j’utilise parfois ce programme pour faire des substitutions de frappe à la volée

    mais j’ai toujours pas trouver la solution pour remplacer une chaine de caractères d’une longueur fixe (20 caractères) dont les 7 premiers caractères sont toujours identique par une chaine de longueur fixe

    il n’y a pas de joker pour remplacer un caractère

    code a remplacer 82105650000000045678 par 8210565

    en fait les sept premiers caractères est une référence fournisseur et le reste un numéro de série

    moi j’ai juste besoin du numéro de référence fournisseur

    je saisie l’ensemble du code avec un lecteur code-barre qui émule le clavier

    Merci pour votre aide

    PHIL

  10. GTA 5

    Génial ! Je ne connaissais pas cette solution qui s’avère vraiment utile et intéressante, je vais tester ça 🙂

  11. TT

    coucou!

    je vous écris de mon ordi portable dont les touches r u t et o fonctionnent grâce au logiciel et vos explications merci bcp!!!

    faut s’habituer^^

    Par contre cmt faire pour la touche qui doit effacer? elle ne marche pas non plus

    Any idea?

  12. alain

    je souhaite utiliser la fonction
    a::b
    est il possible de remplacer une lettre par plusieurs
    exemple :
    a::10

    je tape “a” le script m’écrit “10”

    cordialement

  13. jidé

    > je tape « a » le script m’écrit « 10 »

    Le script doit être :

    ::a::10

    Le “a” doit être suivi d’une espace ou d’un retour chariot. Ça doit donc être un “a” tout seul.
    Sinon (pour n’importe quel “a”, sitôt tapé au clavier) il faut écrire un “?*” :

    :?*:a::10

    Post-scriptum. — Truc pour faire des accents et des ç majuscules :

    ; doubler la lettre : éé donne É, àà donne À, etc.

    :?*:çç::Ç
    :?*:éé::É
    :?*:àà::À
    :?*:èè::È
    :?*:ùù::Ù

    _____Amicalement, Doc Jidé

  14. jidé

    zut, le site web a remplacé mes signes par des
    smilies !!!
    Comment taper du code dans ces conditions ???

    Remplacer dans mon message les icônes bêtement souriantes par

    un deux-point :
    un point d’interrogation ?

    _____Amicalement, Doc Jidé

  15. Dwain Threets

    I have to say that for the past few of hours i have been hooked by the amazing posts on this site. Keep up the great work.

  16. sylveno

    Bonjour

    Génial, je découvre juste ahk grâce à votre site et j’adore déjà. J’ai déjà exécuté plusieurs scripts tel que vous les donnés dans le tutoriel sans rien changer pour voir : écrire une chaine de caractère, démarrer une programme et les lettres accentuées majuscule (donné par jidé ci-dessus). Tout marche parfaitement sauf la commande #ifWinActive que je voudrais appliquer à openoffice. J’ai écrit

    #IfWinActive ahk_class SALFRAME
    #+n::^o
    IfWinActive

    ça fait des heures que j’essaye en changeant un truc ou un autre, en cherchant d’autres tutoriels mais ça marche pas, ça ne fait rien de spécial. Le but est d’avoir les même raccourcis perso pour toutes les appli : explorateur, openoffice, adobe, vlc, firefox

    Merci pour le dépannage

  17. sylveno

    Je reviens… je me rends compte que j’ai peut-être pas donné assez de détails pour éclairer le prob’ : par défaut sous openoffice, “ctrl shft n” ouvre la fenêtre “choisir un modèle” je veux que ça ouvre la fenêtre “choisir un document” qui normalement s’ouvre avec “ctrl o”… merci

  18. fainke

    bonjour
    je voudrai savoir commen bloquer un onglet d’une page internet.
    j’aimerer trouver un scrip pr ke kan je suis sur la page je ne peu pa aller sur une otre page

  19. jidé

    @Sylveno

    Je ne vois pas pourquoi il y a les “#” ici :
    #IfWinActive ahk_class SALFRAME
    #+n::^o
    ???

    Dans ce genre de cas, je mets :

    NomDeLaMacro:
    WinWait, Photoshop,
    IfWinNotActive, Photoshop, , WinActivate, Photoshop,
    WinWaitActive, Photoshop,
    Send, blabla
    return

    Et aussi : un CONTROL-MAJ-n s’écrit ^+n (le dièse, c’est pour la touche windows)

    D’autre part, es-tu sûr-sûr du nom de fenêtre (SALFRAME) ?

    _____Amicalement, Doc Jidé

  20. jidé

    @ lemoine
    Cherche du côté de “StringLeft” !

    _____Amicalement, Doc Jidé

  21. bépo layout !

    Bonjour a tous ,
    Ça serait génial si quelqu’un pouvait me dire comment faire pour rendre une touche vérouillable ! par exemple la touche « t »
    je voudrait que « t » maintenu enfoncé + une autre touche : donne sur une action
    mais vous vous en douter bien , il faudrait que si j’appuie sur « t » normalement j’obtient un « t » !
    j’ai essayé la syntaxe suivante
    t & e ::^g crtl + g = gras dans word !
    t ::t

    ça a marché mais quand on appuie sur « t » normalement, le caractère « t » met un certain délai a apparaitre, et vu que je tape vite, la lettre n’a pas le temps de s’écrire dans le mot !

  22. bépo layout !

    je n’est bien sur pas mit “crtl+g=gras dans word” dans le script

Comments are closed.