마우스 기능에 대해서 알아보기.
페이지 정보
본문
안녕하세요. 소심비형입니다. 회사와 가정과 취미(?)를 동시에 유지하기란 여간 힘들일이 아니군요-_-; 글을 쓰기 위해 일부러 시간을 내보려 해도 이런저런 예상하지 못한 이벤트들이 발생되곤 합니다.
다시 처음으로 돌아가서 각각의 기능들을 하나씩 알아보기로 할께요.
좋은 스크립트(효율적인...)란~ 얼마나 논리적으로 구성되어 있는지를 보면 알 수 있습니다. 불필요한 동작을 최소화하고 반복적인 작업은 추상화하여 단순화 시키는게 좋습니다. 뭐 툴이 지원되는 범위 안에서 그렇다는 겁니다.
![img.jpg](https://k.kakaocdn.net/dn/cO3mb2/btqAY6FyiaL/TQAhhlXsoYHOmdNNWn1GPk/img.jpg)
NGM Pro를 실행한 후 파일 > 새로 만들기 > 매크로를 선택합니다. 이름은 임의로 입력하고 확인을 누르면 아래 그림처럼 스크립트 작성 창이 만들어집니다. 1번은 탭 영역으로 Mouse, Keyboard, Time, Command, Recording 5개 영역으로 구분되어 있고 오늘은 마우스에 대해서만 알아보겠습니다.
![img.png](https://k.kakaocdn.net/dn/bu0Ei4/btqA0NZRYiL/bbUzJAHZLMXHwC2V1AMip0/img.png)
Action은 마우스의 동작을 선택할 수 있습니다. 목록에 나와 있는 기능을 사용하기 위해 하나의 Action을 선택해야 합니다.
Left Click: 마우스 왼쪽 클릭
Right Click: 마우스 오른쪽 클릭
LeftDBClick: 마우스 왼쪽 더블 클릭
RightDBClick: 마우스 오른쪽 더블 클릭
Left Down: 마우스 왼쪽 버튼 누른 상태
Left Up: 마우스 왼쪽 버튼 땐 상태 (Left Down + Left Up = Left Click)
Right Down: 마우스 오른쪽 버튼 누른 상태
Right Up: 마우스 오른쪽 버튼 땐 상태 (Right Down + Right Up = Right Click)
- CenterClick: 마우스의 휠 또는 중앙 버튼 클릭
- CenterDown: 마우스의 휠 또는 중앙 버튼 누른 상태
- CenterUp: 마우스의 휠 또는 중앙 버튼 땐 상태 (CenterDown + CenterUp = CenterClick)
Move: 마우스 위치 이동
Vertical Wheel: 마우스 휠을 상하로 이동
- Horizontal Wheel: 마우스 휠을 좌우로 이동
아직 몇가지는 구현되지 않았습니다. 위 그레이로 표시된 9, 10, 11, 14번인데요. 여유가 생기는 데로 추가하도록 할게요. 우선은 구현되어 있는 기능들을 먼저 알아보는 게 좋을듯합니다.
![img.jpg](https://k.kakaocdn.net/dn/cv2kYr/btqAZN6N8YT/mvOhSGlHk6TDdQmknEO4M0/img.jpg)
오른쪽 상단에 Value는 마우스 액션에 대한 값을 설정하는 곳입니다. 값이라는 의미는 마우스가 왼쪽 클릭 액션을 수행할 때 화면(모니터)의 어디를 클릭해야 할지 알려주는 것입니다. 윈도우 시스템의 경우 X, Y 좌표를 기반으로 화면의 위치를 인식합니다. 좌측 상단이 0, 0 좌표가 됩니다.
아래 그림처럼 Mouse Action을 하나 추가해보세요.
- Left Click 선택
- X에 100을 입력
- Y에 100을 입력
- Optional: Description에 "100, 100 좌표 클릭!" 입력
- Add(F11) 클릭
- 스크립트가 추가
![img.png](https://k.kakaocdn.net/dn/CYopW/btqA0NZRYms/AsZDGyF1uiByWVxl4yk7j1/img.png)
이제 실행해서 결과를 확인해볼까요? 메뉴의 매크로 > Play를 클릭하세요. 1초 후 마우스의 포인터(위치)가 좌측 상단 100, 100 위치로 이동되는 것을 확인할 수 있습니다.
위의 Left Click과 동일한 방법으로 오른쪽 클릭(Right Click)과 왼쪽 더블 클릭(LeftDBClick), 오른쪽 더블 클릭(RightDBClick)을 추가할 수 있습니다.
하지만, 간혹 특정 PC에서는 Combination Action이 동작하지 않는 문제가 발생되곤 합니다. 원인은 알 수 없으나 몇 가지 유추해볼 수는 있죠. (비활성 상태에서는 발생되지 않는 문제) 여하튼, 클릭과 같이 마우스 다운과 마우스 업의 조합이 정상 동작하지 않는다면 아래 그림처럼 설정해도 동일한 효과를 볼 수 있습니다.
Left Down과 Left Up을 각각 추가하세요.
![img.png](https://k.kakaocdn.net/dn/bNlZ2G/btqAZO5J17C/itxb2buLYU8Ek4LbPopWb0/img.png)
다시 실행해보면 동일하게 동작하는 것을 확인할 수 있습니다. 만약, Left Click과 Left Down, Left Up 모두 동작하지 않는다면, 마지막으로 Left Down과 Left Up 사이에 컴퓨터가 인식할 수 있을 정도의 Delay(딜레이)를 쥐야할지도 모릅니다. 컴퓨터의 성능에 따라서 너무 빠른 입력에 대해 처리하지 못하고 Skip(건너뛰기)할 수도 있기 때문입니다.
Delay는 Time 탭에 있습니다. 위 스크립트에서 Delay를 추가하려면 아래 그림처럼 하세요.
Time 탭 선택
Action에서 Delay 선택
Value에 250 입력 (1,000 = 1초)
- Optional: "0.25초 대기!" 입력
- ... 클릭
- Insert 클릭 (현재 선택되어 있는 스크립트 앞에 Action을 추가합니다.)
- 2번과 3번 사이에 Delay가 추가됩니다.
![img.png](https://k.kakaocdn.net/dn/bCAZpq/btqA3dQiNag/1F6hsemKwAyFjH70WW1FPk/img.png)
다시 매크로를 실행해보면, 이전과는 다른 동작을 보이게 됩니다. Delay에서 설정한 시간만큼 대기했다가 마우스 버튼을 때기 때문이죠. 비활성 모드의 경우에는 이 방법을 이용하여 마우스 드래그와 동일한 효과를 나타낼 수도 있습니다.
![img.jpg](https://k.kakaocdn.net/dn/doxzYv/btqAY6eyzvJ/kYQu8VobXbKGuXKy6llKjk/img.jpg)
마지막으로 마우스 좌표 값을 직접 입력하지 않고, 내가 원하는 곳을 클릭하게 하려면 어떻게 해야 할까요? 좌표 찾는 프로그램을 사용해서 미리 알아놔야 할까요? 그렇지는 않습니다. 다시 마우스 탭으로 이동한 후 우측의 Value아래에 있는 버튼들을 이용하세요.
- Hook버튼을 클릭하면 마우스의 위치를 추적하게 됩니다. 자동으로 X, Y, Delta 값이 입력됩니다.
- UnHook버튼은 Hook버튼을 누른 상태에서만 활성화됩니다. 마우스 위치 추적을 중단합니다.
![img.png](https://k.kakaocdn.net/dn/2A0x6/btqA2bFHONK/RtFjdexBZc6Uw1oDPoCRb1/img.png)
자주 사용되지는 않지만 X, Y 옆에 있는 Delta는 마우스 휠에 대한 값입니다. 현재 Vertical Wheel만 구현되어 있는데요. 인터넷 익스플로러나 크롬에서 스크롤바가 있는 페이지를 열어주세요. 그리고 Vertical Wheel 액션을 추가한 후 Delta값을 임의로 입력하고 테스트해보세요.
이외에 궁금한 내용이 있으면 댓글 남겨주세요.
감사합니다.
- 이전글키보드 기능에 대해 알아보기. 20.01.11
- 다음글NGM Pro를 이용한 매크로 작성법 5탄 - 비활성 매크로 작성하기. 20.01.11
댓글목록
등록된 댓글이 없습니다.