안녕하세요. 업무 자동화 RPA 매크로 오토픽입니다.
오늘 알아볼 내용은 키보드 동작 감지 이벤트입니다. 사용자가 키보드의 특정 키를 눌렀을 때 루틴을 이동할 수 있습니다.
단순히 예를 들어서 키보드의 숫자 1을 사용자가 누르면, 매크로가 동작한다거나 윈도우 화면의 특정 위치를 클릭하게 할 수 있습니다.
이외에도 카카오톡이나 텔레그램에 메세지를 보낼수도 있습니다. 물론, 추가적인 설정이 필요하지만요.
카카오톡, 텔레그램, 디스코드와 같은 외부 프로그램에 알람을 보내거나 메세지를 받는 방법도 나중에 자세하게 알아볼께요.
이 내용을 테스트 하기위해 오토픽 에디터를 실행하고, 도구 상자에서 키보드 카테고리의 키보드 동작 감지 이벤트를 더블 클릭하세요.
도구 상자는 에디터의 좌측 하단에 도구 탭을 클릭하면 됩니다.
이벤트는 특정 조건이 만족할 때 어떤 행동을 하는것을 말합니다. 여기서 특정 조건이란 프로그래머들이 사용하는 언어라서 잘 이해가 안될수도 있는데요.
특정 조건은 우리가 흔히 생각하는 이벤트 기념일이라고 이해하면 됩니다. 예를 들어서 여자친구랑 12월 25일날 극장에 가기로 했다고 생각 해보세요.
키보드에서 12월 25일이라는 이벤트 발동 조건은 A키를 누를 때입니다. 물론, 다양한 기념일이 있듯이 키보드에도 수많은 키가 존재하죠?
그리고, 12월 25일 크리스마스에는 극장에 간다고 했잖아요? 키보드 동작 감지 이벤트에서 A키를 누르면 메세지 박스를 표시한다고 생각하면 됩니다.
이제 위에서 설명한 내용대로 스크립트를 작성 해볼께요.
스크립트에 추가된 키보드 동작 감지 이벤트 액션을 선택하고, 우측의 속성창에서 키보드 상태를 클릭하세요.
그리고, 키보드 다운 상태 값을 설정해줍니다. 이렇게하면 키가 눌렸을 때 이벤트가 발생하고 루틴을 이동할 수 있습니다.
감지할 키를 추가해야 하는데요. 우측 속성창에서 캐릭터 코드를 클릭하세요. 그리고, 아래와 같이 A키를 하나 추가 해줍니다.
오토픽 매크로는 위에서 아래로 실행됩니다. 따라서, 이벤트가 등록되더라도 매크로가 완료되거나 중지되면 안됩니다.
아래와 같이 무한 반복 루틴을 하나 추가 해줍니다. 좌측 하단의 함수 상자를 클릭하고 함수 카테고리에 있는 그룹과 액션 이동을 더블 클릭해서 추가하세요.
그룹 액션의 아이디는 a로 설정해줍니다. 그리고, 액션 이동의 액션 이동 아이디 속성에서 a를 선택하세요.
그룹 a와 액션 이동은 무한 반복하게 됩니다. 매크로는 기본적으로 위에서 아래로 액션들이 순차적으로 실행됩니다.
따라서, 첫번째 액션에서 이벤트가 시스템에 등록되어 키보드 상태를 감시합니다.
두번째 그룹 a액션이 실행되고, 세번째 액션 이동이 실행되는데요.
이 때 액션 이동에서 이동할 아이디가 a이므로 매크로가 종료되지 않고 그룹 a로 이동합니다.
이제 매크로를 실행해보고 a키를 눌러봅시다. 매크로가 정상 동작하지 않았습니다.
하단의 아웃풋에도 내용이 없는데요. 원인을 찾아봐야 합니다. 나중에 디버깅에 대해서 알아보려고 했지만, 이번에 간단하게 같이 알아볼께요.
에디터의 상단 메뉴에서 출력을 선택하세요. 그리고, 우측의 디버그, 경고, 에러를 모두 클릭해서 선택 해줍니다.
매크로를 다시 실행한 후 중지하세요. 그리고, 하단의 출력창의 스크롤을 가장 위로 올려보세요.
아래 그림과 같이 출력창에 경고 메세지가 표시됩니다.
키보드 동작 감지 이벤트
[아이디] 필수 입력 값이 누락되었습니다. 값을 입력하고 다시 실행하세요.
이벤트는 시스템에 등록되기 때문에 아이디를 필수로 설정해야 합니다.
여러개의 이벤트를 등록할 수 있기 때문에 각각 어떤 이벤트인지 식별할 수 있도록 유니크한 아이디로 설정해야 합니다.
이번에는 이벤트에 아이디를 e로 설정하고 다시 실행 해보세요. 그리고, a키를 눌러보세요.
이제 정상적으로 동작하는군요. 메세지박스에서 확인을 누르면 스크립트가 완료됩니다.
이렇게해서 키보드 이벤트에 대해서 알아봤습니다. 매크로의 기본이라고 할 수 있는 마우스와 키보드 기능을 마스터했는데요.
활성 모드가 아닌 비활성 모드에서도 마우스와 키보드를 동작시킬 수 있습니다. 다음에는 비활성 방식으로 마우스와 키보드를 제어해볼께요.
키보드 동작 감지 이벤트의 자세한 내용은 아래 동영상을 참고 해주세요.
감사합니다.
댓글