Keyboard Maestro에서 액션마다 일괄 딜레이 넣기

By | 2023-03-24

Keyboard Maestro를 이용해서 텍스트를 입력하거나 핫키 입력 액션이 많을 때 우루루~ 액션만 등록하면 제대로 동작하지 않는다. 앞의 키 동작이 실행되고 다음 키 입력 받기 대기 상태가 된 후에 키를 입력해야 하는데 그럴 여유없이 빠르게 키가 입력되어 그렇다. 이럴 때는 매크로 실행이 꼬여서 데이타를 읽어와야할 영역에다 값을 써버린다든지, 제대로 이동하지 않은 상태에서 값을 읽어와 엉뚱한 데이타를 불러오는 일이 생길 수 있다. 이런 일을 방지하기 위해서는 액션, 특히 키스트로크 사이에 적절하게 Pause 액션으로 잠시 멈출 시간을 넣어줘야 한다. 0.2초 정도면 그럭저럭 별 문제없이 동작하는 듯 한데, 그때그때 상황이 다를 것이므로 적절한 시간을 찾아야할 것이다.

문제는 키스트로크가 수십~수백개 항목으로 이루어진 매크로를 짤 때 인데. 액션 하나마다 딜레이 하나씩을 넣다보니 전체 매크로의 길이도 배가 되고, 그러다보니 문제가 생길 경우 어느 부분을 고쳐야할 지 찾기도 어렵다.

매크로 전체에 일괄 지연을 필요로 한다는 요구는 예전부터 있었는데, 요즘엔 set action delay 명령으로 쉽게 가능해졌다. 액션마다든지, 키 스트로크에만인지 조건을 정한 후 시간을 정하면 따로 액션마다 pause 액션을 추가하지 않아도 자동으로 그 매크로에서 액션 간 기본 대기시간을 줄 수 있다.