AutoHotKey에서 다시 매핑할 때의 재귀

AutoHotKey에서 다시 매핑할 때의 재귀

내가 가진 코드는 다음과 같습니다.

[::
Send [
Input, Char, T2 L1
if Char = a
{
    Send â
    return
}
Send %Char%
return

[then 을 입력하면 a정상적인 동작을 하며 â. 하지만 [then 을 입력하면 p문자가 [인쇄되지 않습니다. 문제는 문자가 다시 매핑되는 두 번째 줄( Send [) 입니다.[

나는 성공하지 않고 다음을 시도했습니다.

  • Send `[

  • Send {[}

[다시 매핑되더라도 인쇄하고 싶습니다 .

답변1

$단축키 앞에 수정자로 사용합니다 (예: ) $[::.

다음과 같이AHK 문서상태:

이는 일반적으로 스크립트가 Send 명령을 사용하여 핫키 자체를 구성하는 키를 보내는 경우에만 필요합니다. 그렇지 않으면 핫키가 스스로 트리거될 수 있습니다. $ 접두사의 정확한 동작은 운영 체제에 따라 다릅니다.

Windows NT4/2k/XP 이상: $ 접두어는 키보드 갈고리를 사용하여 이 단축키를 구현하도록 하며, 부작용으로 Send 명령이 이를 트리거하지 못하게 합니다. $ 접두어는 이 단축키 정의 위의 어딘가에 #UseHook을 지정한 것과 동일합니다.

Windows 95/98/Me: 스레드 실행 중에는 단축키가 비활성화되고 나중에 다시 활성화됩니다. 부작용으로 #MaxThreadsPerHotkey가 1보다 높게 설정되면 해당 단축키에 대해 1로 설정된 것처럼 동작합니다.

관련 정보