J’essaie donc d’écrire un script simple dans AutoHotKey qui utilisera NumLock (que j’ai mappé sur le capslock dans mon registre) comme une bascule pour transformer mes touches directionnelles en touches nab du pavé numérique. Mon script est le suivant:
GetKeyState, state, NumLock, T if state = D { Up::Numpad8 Down::Numpad2 Left::Numpad4 Right::Numpad6 Enter::Numpad5 } if state = U { $Up::Up $Down::Down $Left::Left $Right::Right $Enter::Enter } Return
Cependant, j’obtiens une erreur indiquant que Up est répété à la ligne 15. Comment demander à AutoHotKey de retourner mes clés à la désignation de leur clé d’origine? J’ai essayé de laisser une section “else” vide par opposition à la section “if state = U”, mais les touches restnt dans leur état modifié lors du basculement à nouveau. Je suis sûr qu’il y a quelque chose de simple qui me manque.
Ah, voilà. Vous ne pouvez pas le faire comme vous essayez de le faire. Comme vous ne pouvez mapper la clé qu’une seule fois dans le script, placez la fonction if / ou dans le raccourci clavier, comme ceci:
GetKeyState, state, NumLock, T up:: if(state = D){ send {Numpad8} }else{ send {up} } return
Ceci est une solution simplifiée qui utilise le contexte #If .
L’avantage de ceci est que vous n’aurez pas besoin d’instructions If
pour reconfigurer une clé dans l’instruction Else
. La clé conservera sa fonctionnalité normale si la condition n’est pas vraie.
#If GetKeyState("NumLock", "P") Up::Numpad8 Down::Numpad2 Left::Numpad4 Right::Numpad6 Enter::Numpad5 #If