#HotkeyModifierTimeout

핫키 수식자의 행위에 영향을 미칩니다: CTRL, ALT, WIN, 그리고 SHIFT.

#HotkeyModifierTimeout Milliseconds
선택

매개변수

Milliseconds

밀리초 단위 간격. 값이 -1이면 시간 제한이 없습니다 (수식 키는 Send 후에 언제나 제자리로 돌아옵니다), 또는 0이면 언제나 시간 제한이 있습니다 (수식 키는 절대로 제자리로 돌아오지 않습니다).

논평

이 지시어는 다음과 같은 경우 사용할 필요가 없습니다:

  • 핫키가 SendInput이나 SendPlay 방법으로 키눌림을 전송할 경우, Send 명령어가 완료될 때까지 이 메쏘드들은 사용자 키의 물리적 눌림이나 뗌을 연기하기 때문입니다.
  • 스크립트에 키보드 갈고리가 설치되어 있을 경우 (메인 창의 "View->Key history" 메뉴 항목이나 KeyHistory 명령어를 통하여 스크립트가 갈고리를 사용하는지 알아볼 수 있습니다), 사용자가 물리적으로 어느 수식 키를 (ALT/CTRL/WIN/SHIFT) 누르는지 갈고리가 추적할 수 있고 그리고 시간제한을 사용할 필요가 없기 때문입니다.

이 지시어의 효과를 시연하기 위해, 다음 예제를 생각해 보십시오: ^!a::Send, abc.

Send 명령어가 실행되면, 첫 번째로 CTRL과 ALT 키를 뗍니다. 그래서 문자들이 제대로 전송됩니다. 모든 키를 보내고 나면, 명령어는 어떻게 해야 CTRL과 ALT를 안전하게 제자리로 돌려놓을 수 있을지 알지 못합니다 (사용자가 여전히 수식 키를 누르고 있는지 어떤지 알 수가 없기 때문입니다). 그러나 지정된 밀리초 시간 동안에는 사용자가 아직 키를 뗄 기회를 갖지 못했다고 간주하고 수식 키들을 물리적 상태에 맞게 다시 돌려 놓습니다. 지정된 시간이 지나면, 수식 키는 다시 제자리로 돌아오지 않습니다. 수식키가 키를 변경하도록 만들려면 사용자는 수식 키를 떼고 다시 눌러야 합니다.

시간제한은 사용자가 전형적으로 핫키의 수식자를 떼기 전에 누르고 있는 시간보다 작은 값으로 설정해야 합니다. 그렇지 않으면, 수식키는 사용자가 물리적으로 누르고 있지 않아도 누른 위치로 복구되어 버릴 수 있습니다 (눌린 상태가 됨).

이 지시어의 사용을 줄이거나 필요를 없앨 수 있습니다. 다음 중 하나를 사용하면:

  • 키보드 갈고리를 설치합니다. 스크립트 아무데나 #InstallKeybdHook줄을 추가하면 됩니다.
  • 전통적인 SendEvent 방법 말고 SendInput 또는 SendPlay 방법을 사용합니다.
  • 전통적인 SendEvent 방법을 사용할 때, SetKeyDelay를 0 또는 -1로 줄이십시오. 키눌림이 더 빠르게 전달되기 때문에 도움이 될 것입니다.

이 지시어를 지정하지 않으면, 50으로 설정된 것처럼 행위합니다.

관련 항목

GetKeyState

예제

#HotkeyModifierTimeout 100
선택 | 내려받기