Nous 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
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 :
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!
Pingback: Extra : manipulez efficacement vos fenêtres avec Nifty Windows (accessibilité, productivité, application portable)
Pingback: Génialissime : manipulez efficacement vos fenêtres avec Nifty Windows (accessibilité, productivité, application portable)
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.
@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.
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é
@Jean-Denis : eh oui, pas toujours facile de trouver ce qu’on veut sur Google.
Merci pour ton commentaire encourageant et bonne continuation.
>> Merci (…)
Si tu veux, je peux envoyer (pour publication éventuelle ici) mes morceaux de code AHK ?
Amicalement,
________Jidé
http://www.ptitrain.com
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
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
2jy4q1q3pnq617jl
hi
4ot2cmprctrogtse
good luck
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
Génial ! Je ne connaissais pas cette solution qui s’avère vraiment utile et intéressante, je vais tester ça 🙂
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?
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
> 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é
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é
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.
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
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
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
@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é
@ lemoine
Cherche du côté de “StringLeft” !
_____Amicalement, Doc Jidé
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 !
je n’est bien sur pas mit “crtl+g=gras dans word” dans le script