2012-10-22 2 views
1

Comme j'ai commencé à utiliser AutoHotKey tous les jours, j'ai pensé que ce serait une bonne idée de l'implémenter dans mon code.AutoHotKey: "{Entrée" Hotstring

Je voudrais à créer une structure comme celle-ci:

{ 
    (Tab) 
} 

lorsque { suivi d'un Enter sont entrés.

 

Jusqu'à présent, j'ai:

:*{Enter:: 
    SendInput, {{} 
    SendInput, {Enter} 
    SendInput, {Enter} 
    SendInput, {}} 
    SendInput, {Up} 
    SendInput, {Tab} 
return 

mais je continue à obtenir des erreurs et des anomalies étranges.

Répondre

2

Il y a 2 choses qui doivent être inclus afin d'obtenir votre code de travail: 1. un backtick doit être utilisé pour une accolade être en 2. substitution de chaîne option « o » doit être utilisé pour empêcher un retour d'être envoyé après une accolade dans votre commande d'envoi.

les opérations suivantes:

:o:`{::{{}`n`n{}}{up}{tab} 

Hotstring options

Remarque: Vous devrez peut-être modifier les caractères de fin pour ce faire feu uniquement sur Entrée. Cela affectera les hotstrings globalement.

#Hotstring EndChars `n 
+0

Ooo, c'est très prometteur! Cependant, je remarque que la commande s'exécute sur plus de touches que la touche, Enter, demandée, séquentielle. Cela pourrait-il être mis en œuvre? – mythofechelon

+0

J'ai modifié ma réponse pour inclure un moyen de le faire. Cependant, cela affecte les hotstrings globalement, donc je suggérerais de le mettre dans un script séparé des autres hotstrings. Il y a peut-être une autre façon d'utiliser KeyWait qui pourrait valoir la peine d'être explorée si cela n'est pas satisfaisant. –

+0

Eh bien, je viens de mettre en œuvre votre méthode suggérée, puis testé tous mes scripts. Ils semblent tous fonctionner parfaitement. Je vous donne mon chapeau, bon monsieur. Merci beaucoup. Si j'ai des problèmes, je vous rapporterai. Pourriez-vous me donner des exemples de problèmes potentiels, cependant? – mythofechelon

0

Essayez ceci.

Send, {{}{Enter}{tab}{Enter}{}}{up}{End} 

Cela fonctionne pour moi, mais votre raccourci clavier « * {Enter » n'a pas été acceptée par mon AutoHotKey_L, donc j'utilisé un autre raccourci clavier temporaire «^q ».

+0

Je ne pense pas que ce soit un problème avec les commandes, c'est avec la hotstring. J'ai besoin d'entrer dans {Enter' pour travailler, d'une façon ou d'une autre. – mythofechelon

0

Cette hotstring a fonctionné pour moi.

:*:`{`n:: 

Cela devrait l'attraper sans avoir besoin de régler EndChars.