한정자 키와 타이밍
제스처 트리거는 한정자, 즉 제스처와 함께 누르고 있거나 누르는 키보드 키나 추가 마우스 단추를 요구할 수 있습니다. 그러면 같은 모양을 그려도 한정자마다 다른 작업을 실행할 수 있습니다. 이 페이지에서는 정확한 규칙을 설명합니다. 단축키 트리거에도 한정자가 있으며, 규칙이 더 간단합니다 (단축키의 한정자 참조).
한정자 선택
한정자는 작업 편집기에서 제스처 트리거의 일부입니다.
- 작업 페이지에서 작업을 열고 제스처 트리거를 펼칩니다.
- 한정자 아래에서 제스처에 필요한 키나 단추를 하나씩 클릭합니다 ①. 다시 클릭하면 제거됩니다.
- 고급 모드에서 타이밍 ②을 이전, 이후, 둘 다 중에서 선택합니다.
- 고급 모드에서 키보드 한정자를 고른 경우, 작업이 실행되는 동안 누르고 있는 키를 어떻게 처리할지 선택합니다 ③(누르고 있는 한정자 키 참조).
선택할 수 있는 한정자:
| 한정자 | 인정되는 것 |
|---|---|
| Ctrl, Shift, Alt, Win | 한 쌍의 키 중 어느 쪽이든. 왼쪽 Ctrl과 오른쪽 Ctrl은 모두 Ctrl입니다. |
| 왼쪽 단추, 가운데 단추, 오른쪽 단추, 측면 단추 1, 측면 단추 2 | 그리는 데 쓰는 단추가 아닌 마우스 단추 |
Windows에서 마우스 단추를 바꾸었으면 단추 이름은 Windows를 따릅니다. 오른쪽 단추는 상황에 맞는 메뉴를 여는 단추입니다.
고급 모드. 타이밍과 누르고 있는 한정자 키는 고급 모드에서만 표시됩니다. 간단히 모드에서 새 제스처 트리거는 둘 다와 놓은 후 복원을 사용합니다. 간단히 모드는 고급 모드에서 설정한 값을 절대 바꾸지 않습니다.
정확히 일치 규칙
제스처는 그리는 동안 두 가지 한정자 집합을 기록합니다.
- 이전에 누름: 그리기 단추를 누른 순간 누르고 있던 키와 마우스 단추, 그리고 최근의 휠 회전 (휠 회전).
- 도중에 누름: 제스처가 시작된 뒤에 누른 모든 키와 마우스 단추. 끝내기 전에 놓더라도 이 집합에 남습니다. 누르기 전부터 누르고 있던 키는 아무리 오래 누르고 있어도 도중에 누른 것으로 인정되지 않습니다.
트리거의 한정자는 이 집합 중 하나와 정확히 같아야 합니다. 일부만 같아서는 안 되며, 추가 키도 무시되지 않습니다.
- Shift가 필요한 트리거는 Shift와 Alt를 함께 누르고 있으면 일치하지 않습니다.
- Shift와 Alt가 필요한 트리거는 Shift만 누르고 있으면 일치하지 않습니다.
두 집합은 절대 합쳐지지 않습니다. Shift를 미리 누르고 도중에 Ctrl을 누르면 이전에는 "Shift", 도중에는 "Ctrl"이 됩니다. 어느 집합도 "Shift와 Ctrl"이 아니므로, 두 키가 모두 필요한 트리거는 일치하지 않습니다.
타이밍
타이밍은 트리거가 두 집합 중 어느 것을 확인할지 정합니다.
| 타이밍 | 트리거가 일치하는 경우 |
|---|---|
| 이전 | 이전에 누르고 있던 키가 트리거의 한정자와 같을 때. 도중에 누른 것은 상관없습니다. |
| 이후 | 도중에 누른 키가 트리거의 한정자와 같을 때. 이전에 누르고 있던 것은 상관없습니다. |
| 둘 다 | 어느 집합이든 트리거의 한정자와 같을 때. |
구성 창에서 만든 새 제스처 트리거는 둘 다를 사용합니다. 구성 파일에 타이밍 없이 작성한 제스처 트리거는 이전을 사용합니다.
한정자 없음은 아무것도 없다는 뜻
한정자가 없는 트리거는 타이밍 규칙의 예외입니다. 두 집합이 모두 비어 있을 때만 일치합니다. 그리기 단추를 누를 때 아무것도 누르고 있지 않았고, 그리는 동안 아무것도 누르지 않았으며, 최근의 휠 회전도 없어야 합니다. 타이밍은 상관없습니다.
따라서 한정자 없는 제스처는 한정자가 있는 변형보다 절대 우선하지 않습니다. 한 작업에 한정자 없는 왼쪽으로 밀기가 있고 다른 작업에 Ctrl, 이후가 붙은 왼쪽으로 밀기가 있으면, 그리는 동안 Ctrl을 누르면 목록 순서와 관계없이 항상 두 번째 작업이 실행됩니다.
타임라인
이 예제에서 그리기 단추는 오른쪽 단추이고, 기본값처럼 Ctrl은 무시할 한정자 키입니다 (무시할 한정자 키).
| 하는 일 | 이전에 누름 | 도중에 누름 | 일치 | 불일치 |
|---|---|---|---|---|
| Shift를 누르고 있습니다. 오른쪽 단추를 누르고, 그리고, 놓습니다. Shift를 놓습니다. | Shift | (없음) | Shift 이전, Shift 둘 다 | Shift 이후, 한정자 없음 |
| 오른쪽 단추를 누르고, 그리기 시작하고, Ctrl을 눌렀다 놓고, 마저 그린 다음 놓습니다. | (없음) | Ctrl | Ctrl 이후, Ctrl 둘 다 | Ctrl 이전, 한정자 없음 |
| Shift를 누르고 있습니다. 오른쪽 단추를 누르고, 그리는 동안 Alt를 누른 다음 놓습니다. | Shift | Alt | Shift 이전, Alt 이후, Shift 둘 다, Alt 둘 다 | Shift와 Alt(모든 타이밍) |
| Shift와 Alt를 누르고 있습니다. 오른쪽 단추를 누르고, 그리고, 놓습니다. | Shift, Alt | (없음) | Shift와 Alt 이전 또는 둘 다 | Shift 이전 |
| 오른쪽 단추를 누르고, 그리고, Shift를 눌렀다 놓은 다음 Alt를 누르고 놓습니다. | (없음) | Shift, Alt | Shift와 Alt 이후 또는 둘 다 | Shift 이후, Alt 이후 |
| Ctrl을 누르고 있습니다. 오른쪽 단추를 누릅니다. | 없음: Ctrl은 무시할 한정자 키이므로 오른쪽 클릭이 일반 클릭으로 창에 전달되고 제스처가 시작되지 않습니다. | |||
| 왼쪽 단추를 누르고 있습니다. 오른쪽 단추를 누르고, 그리고, 놓습니다. | 왼쪽 단추 | (없음) | 왼쪽 단추 이전 또는 둘 다 | 한정자 없음 |
| 오른쪽 단추를 누르고, 그리고, 가운데 단추를 클릭한 다음 놓습니다. | (없음) | 가운데 단추 | 가운데 단추 이후 또는 둘 다 | 한정자 없음 |
| 휠을 돌린 다음 0.5초 안에 오른쪽 단추를 누르고 그립니다. | 휠 | (없음) | 구성 창에서 만든 트리거 없음 | 한정자 없음 |
세 번째 행처럼 같은 앱 그룹에서 둘 이상의 트리거가 일치하면, 일치 순서에서 첫 번째 트리거가 실행됩니다 (일치).
한정자로 쓰는 마우스 단추
- 이전에 누름. 그리기 단추를 누를 때 누르고 있던 마우스 단추입니다. 그 단추의 누름은 아직 제스처가 실행되지 않았으므로 이미 포인터 아래의 창에 전달되었습니다.
- 도중에 누름. 그리는 동안 누른 마우스 단추입니다. 그 누름과 놓기는 포인터 아래의 창에 전달되지 않고 제스처에만 계산됩니다. 두 번째 그리기 단추도 마찬가지입니다. 제스처 중에 누르면 새 제스처의 시작이 아니라 한정자가 됩니다.
제스처 중에 누른 단추에 대해서도 마우스 단추 전역 이벤트는 여전히 발생합니다 (전역 이벤트).
제스처 전에 누르고 있을 수 없는 키
두 종류의 한정자는 제스처가 시작되기 전에 누르고 있을 수 없습니다.
- 무시할 한정자 키. 그리기 단추를 누를 때 누르고 있으면 "이번에는 제스처 없음"이라는 뜻이므로 제스처가 시작되지 않습니다(무시할 한정자 키).
- 그리기 단추. 그리기 단추를 누르면 자체 제스처가 시작되므로, 다른 제스처를 기다리며 누르고 있을 수 없습니다.
이전 타이밍에서는 한정자 선택기가 둘 다 거부하며, 거부된 칩을 가리키면 이유가 표시됩니다. 이후나 둘 다에서는 제스처 중에 누르는 것이 동작하므로 선택할 수 있습니다. 이미 그렇게 설정된 트리거(예: 구성 파일에서)는 칩이 빨간색으로 표시되고 아래에 이유가 나타나며, 이전 집합으로는 절대 일치하지 않습니다.
휠 회전
그리기 단추를 누르기 직전에 마우스 휠을 돌리면 이전에 누른 한정자로 계산됩니다. 일반 페이지의 휠 한정자 허용 시간이 얼마나 직전이어야 하는지 정합니다(기본값 500ms). 그리는 동안 휠을 돌리면 도중에 누른 것으로 계산됩니다. 휠 위와 휠 아래는 별개의 한정자입니다.
엔진은 휠 한정자를 일치시키지만 한정자 선택기에는 휠이 없으므로, 구성 창에서 만든 트리거에는 휠 한정자가 절대 없습니다. 그런 트리거는 스크롤한 뒤 휠 한정자 허용 시간 안에 시작한 제스처와 일치하지 않습니다. 최근의 휠 회전이 트리거에 없는 한정자이기 때문입니다. 이는 의도된 동작입니다. 스크롤 직후에 자주 그린다면 휠 한정자 허용 시간을 낮추십시오(고급 모드). 0이면 이전의 휠 회전은 계산되지 않습니다. 휠을 포함하는 제외 영역 안의 휠 회전은 절대 계산되지 않습니다.
누르고 있는 한정자 키
작업이 시작될 때 트리거를 위해 누르고 있던 키가 아직 눌려 있을 수 있습니다. 그러면 텍스트를 입력하거나 키를 누르는 작업이 Ctrl이나 Alt가 눌린 채로 키를 보내게 됩니다. 누르고 있는 한정자 키가 이를 어떻게 처리할지 정합니다.
- 놓은 후 복원(새 트리거의 기본값). 작업이 실행되기 전에 엔진은 트리거와 일치한 한정자 키를 놓습니다. 이전 및 이후 작업을 포함한 작업이 끝나면, 아직 실제로 누르고 있는 키만 다시 누릅니다. 키가 놓인 동안에는 키 반복이 보류되므로, 누르고 있는 키가 작업 도중에 다시 눌리지 않습니다. 직접 놓았다가 다시 누른 키는 그대로 둡니다.
- 누른 상태 유지. 아무것도 놓지 않습니다. 작업의 스크립트가 키를 직접 처리합니다. 구성 파일에 이 설정 없이 작성한 트리거는 누른 상태 유지를 사용합니다.
제스처에서는 키보드 한정자만 놓으며, 누르고 있는 마우스 단추는 절대 놓지 않습니다. 이 선택은 트리거에 키보드 한정자가 있을 때만 표시됩니다. 작업이 실행되는 동안 입력 처리가 멈추면(예: 엔진이 꺼진 경우) 아무것도 다시 누르지 않습니다.
한정자가 실행할 작업을 결정하는 방식
한정자는 트리거의 조건 중 하나이며, 제스처, 그리기 단추, 활성 프로필, 그리고 앱 그룹이 사용하는 경우 영역과 함께 확인합니다. 한정자는 어느 앱 그룹의 작업을 먼저 시도할지를 절대 바꾸지 않습니다.
- 제스처가 시작되는 창의 앱 그룹을 먼저 시도합니다. 그 그룹에 트리거가 일치하는 작업이 있으면, 전역 작업도 일치하더라도 그 작업이 실행됩니다.
- 그룹 안에서는 일치 순서대로 작업을 시도하며, 첫 번째로 일치하는 트리거가 선택됩니다. 영역이 켜져 있으면 일치하는 트리거 중 셀이 가장 적은 트리거가 선택되고, 순서는 동점일 때만 적용됩니다 (범위 및 대체 규칙).
- 그룹에서 아무것도 일치하지 않을 때만, 대체가 켜져 있으면 제스처가 전역으로 대체됩니다 (범위 및 대체 규칙).
작업 편집기는 같은 제스처가 충족할 수 있는 트리거가 한 그룹에 두 개 있으면, 첫 번째 트리거가 둘 중 더 좁은 쪽이 아닌 한 경고 표시를 하고 어느 쪽이 우선하는지 알려 줍니다.
단축키의 한정자
단축키의 한정자는 Ctrl, Shift, Alt, Win이며 정확히 일치해야 합니다. Ctrl+K는 Ctrl+Shift+K에 대해 실행되지 않습니다. 단축키에는 타이밍도, 마우스 단추 한정자도 없습니다. 단축키를 참조하십시오.