범위 및 대체 규칙
이 페이지에서는 Input.Observer가 제스처에 대한 작업을 고르는 방식을 정확하게 설명합니다. 어떤 창이 판단 기준이 되는지, 어떤 그룹이 창을 소유하는지, 언제 전역 그룹이 대신하는지, 여러 작업이 실행될 수 있을 때 어느 작업이 선택되는지입니다. 단축키와 텍스트 확장도 같은 그룹 규칙을 따르며, 차이점은 마지막에 나열합니다.
용어
- 범위: 제스처에 대해 작업을 시도하는 앱 그룹입니다. 제스처의 범위는 하나이며, 추가로 대체 대상인 전역이 있을 수 있습니다.
- 소유 그룹: 창이 속하는 단 하나의 앱 그룹입니다. 앱 그룹을 참조하십시오.
- 전역으로 대체: 소유 그룹에 아무것도 없을 때 전역 그룹의 작업을 시도하는 것입니다. 두 스위치가
제어하며, 둘 다 켜져 있어야 합니다.
- 일반 페이지의 제스처가 일치할 때 카드에 있는 전역으로 대체: 모든 그룹에 한꺼번에 적용됩니다(기본값 켬).
- 각 앱 그룹의 이 창에서 일어나는 일 카드에 있는 전역으로 대체: 그 그룹에 적용됩니다(기본값 켬).
판단 기준이 되는 창
제스처의 판단 기준이 되는 창은 그리기 단추를 누른 순간 포인터 아래에 있는 최상위 창입니다.
- 그 뒤에 획이 어디로 가는지는 상관없습니다. 메모장 위에서 시작해 브라우저 위에서 끝난 획은 메모장 제스처입니다.
- 창 안의 컨트롤(텍스트 상자, 브라우저 페이지)은 프로그램 창 전체로 간주됩니다.
- 소유 그룹, 프로필 확인, 영역 셀은 모두 누르는 순간 한 번 결정됩니다. 그리는 동안 창 제목이 바뀌거나 제스처 중에 프로필이 전환되어도 그 제스처의 결과는 바뀌지 않습니다.
단계별 결정
누를 때
-
소유 그룹을 찾습니다. 다음 순서로 그룹을 확인하고, 규칙이 창과 일치하는 첫 번째 그룹에서 멈춥니다.
- 모든 무시 그룹(무시 그룹 페이지에서 위에서 아래로)
- 모든 앱 그룹(앱 그룹 페이지에서 위에서 아래로)
없는 것처럼 건너뛰는 그룹: 사용이 꺼진 그룹, 규칙이 없는 그룹, 창이 전체 화면일 때만으로 설정되어 있고 지금 창이 전체 화면이 아닌 무시 그룹.
-
무시 그룹이 소유하는 경우: 누름이 그대로 전달됩니다. 그 밖에는 아무것도 확인하지 않습니다. 전역으로 대체하지 않고, 제스처도 없으며, 그 창에서는 단축키나 텍스트 확장도 실행되지 않습니다. 무시 그룹을 참조하십시오.
-
앱 그룹이 소유하는 경우: 여기서 제스처 사용이 켜져 있고 활성 프로필에서 적용되면 범위는 그 그룹입니다(프로필 참조). 그렇지 않으면 두 전역으로 대체 스위치가 모두 켜져 있을 때만 범위가 전역이 되고, 아니면 누름이 그대로 전달됩니다.
-
어떤 그룹도 소유하지 않는 경우: 범위는 전역입니다. 이때 전역으로 대체 스위치는 상관없습니다. 전역이 그 창 자체의 그룹이기 때문입니다.
-
범위가 전역인 경우에는 전역이 사용 상태이고, 여기서 제스처 사용이 켜져 있으며, 활성 프로필에서 적용될 때만 동작합니다. 그렇지 않으면 누름이 그대로 전달됩니다.
-
제외 영역을 모든 창에 대해, 그리고 범위 그룹에 대해 확인합니다. 그 안에서 누르면 누름이 창으로 돌아갑니다. 제외 영역을 참조하십시오.
-
캡처가 시작됩니다. 이때 범위 그룹과 전역에 대해 각각 영역 셀이 계산됩니다(영역 참조).
2~6단계에서 그대로 전달되는 누름은 지연 없이 손대지 않은 채로 넘겨지며, 궤적도 그려지지 않습니다.
놓을 때
-
모양. 획을 범위 그룹의 트리거가 사용하는 모양, 그리고 범위 그룹이 대체할 수 있으면 전역의 모양과 비교해 점수를 매깁니다. 일치 임계값 이상인 가장 높은 점수가 선택되고, 없으면 아무것도 일치하지 않습니다. 획이 일치하는 방식을 참조하십시오.
-
범위 그룹의 작업. 작업을 목록 순서대로, 각 작업의 트리거를 순서대로 살펴봅니다. 트리거는 다음을 모두 충족할 때 맞습니다.
- 선택된 모양에 대한 제스처 트리거입니다.
- 작업이 켜져 있습니다.
- 작업이 활성 프로필에서 적용됩니다.
- 누른 한정자 키가 트리거가 요구하는 것과 정확히 같습니다(한정자 키와 타이밍 참조).
- 사용한 그리기 단추를 허용합니다.
- 그룹에 영역이 켜져 있으면, 누른 영역 셀을 포함합니다.
영역이 꺼져 있으면 맞는 첫 번째 트리거가 선택됩니다. 영역이 켜져 있으면 맞는 트리거 중 셀이 가장 적은 트리거가 선택되며, 셀 수가 같으면 첫 번째 트리거가 선택됩니다.
-
9단계에서 맞는 것이 없고 다음이 모두 충족되면 전역으로 대체합니다. 범위 그룹이 전역 자체가 아니고, 두 전역으로 대체 스위치가 모두 켜져 있으며, 전역이 사용 상태이고 여기서 제스처 사용이 켜져 있고 활성 프로필에서 적용되는 경우입니다. 그러면 전역의 작업을 전역 자체의 영역 셀로 9단계와 똑같이 확인합니다.
-
선택된 작업을 일치한 그룹의 이전 및 이후 작업 안에서 실행합니다. 이전 및 이후 작업을 참조하십시오.
-
맞는 것이 없는 경우: 아무것도 실행되지 않고, 누름도 돌려주지 않으며, 일치 항목 없음 전역 이벤트를 설정했다면 그 이벤트가 실행됩니다.
우선순위
| 상황 | 규칙 |
|---|---|
| 두 그룹의 규칙이 창과 일치 | 무시 그룹이 모든 앱 그룹보다 우선합니다. 그 외에는 목록에서 더 위에 있는 그룹이 우선합니다. 창을 소유하는 그룹은 항상 하나뿐입니다. |
| 소유 그룹에 그 제스처에 대한 작업이 없음 | 대체가 허용되면 전역의 작업. 더 아래의 앱 그룹은 절대 아닙니다. |
| 앱 그룹의 작업과 전역 작업이 모두 맞음 | 한정자 키, 단추, 영역과 관계없이 항상 앱 그룹의 작업. |
| 두 모양의 점수가 임계값 이상 | 점수가 더 높은 모양. |
| 한 그룹에서 두 작업이 맞음(영역 꺼짐) | 그룹의 작업 목록에서 더 위에 있는 작업. |
| 한 그룹에서 두 작업이 맞음(영역 켜짐) | 트리거가 셀을 더 적게 포함하는 작업. 셀 수가 같으면 목록에서 더 위에 있는 작업. |
| 한 작업의 두 트리거가 맞음 | 영역 꺼짐: 첫 번째 트리거. 영역 켜짐: 셀을 더 적게 포함하는 트리거, 셀 수가 같으면 첫 번째. 어느 쪽이든 같은 작업이 실행되지만, 누르고 있는 한정자 키처럼 선택된 트리거 자체의 설정이 적용됩니다. |
| 같은 모양에 대해 한정자 키 없는 트리거와 Shift를 요구하는 트리거 | 하나만 맞을 수 있습니다. 한정자 키 없는 트리거는 제스처 중에 한정자 키가 전혀 없어야 하고, 다른 트리거는 Shift가 필요합니다. |
작업 순서는 작업 페이지(위로 이동, 아래로 이동)에서, 앱 그룹 순서는 앱 그룹 페이지에서 바꿉니다. 앱 그룹 페이지와 작업 편집기는 한 트리거가 다른 트리거를 항상 가리는 경우 경고합니다.
대체 요약
| 상황 | 대체 없음 | 대체 있음(두 스위치 모두 켬) |
|---|---|---|
| 어떤 그룹도 창을 소유하지 않음 | 전역 | 전역 |
| 소유 그룹의 여기서 제스처 사용이 꺼짐 | 누름이 그대로 전달됨 | 전역 |
| 소유 그룹이 활성 프로필에서 적용되지 않음 | 누름이 그대로 전달됨 | 전역 |
| 소유 그룹에 그 획에 대한 작업이 없음 | 일치 항목 없음 | 전역의 작업을 시도 |
| 무시 그룹이 창을 소유함 | 누름이 그대로 전달됨 | 누름이 그대로 전달됨 |
| 소유 그룹이 꺼짐(사용 꺼짐) | 이 그룹이 없는 것처럼 창을 그 아래 그룹들과 비교 | 같음 |
| 전역이 꺼짐 | 전역이 사용될 곳에서는 어디서도 아무것도 실행되지 않음 | 같음 |
트레이 메뉴의 전역 작업 항목은 전역의 사용 스위치입니다. 포커스가 있는 창의 그룹이 전역으로 대체하지 않는 동안에는 트레이 아이콘의 도구 설명에 그룹 이름과 함께 그 사실이 표시됩니다. 트레이 아이콘을 참조하십시오.
예제
예제는 다음 설정을 사용합니다.
| 목록 | 그룹 | 규칙 | 작업 |
|---|---|---|---|
| 무시 그룹 | 원격 데스크톱 | 프로그램 이름 정확히 일치 mstsc.exe | 없음 |
| 앱 그룹, 1번째 | 브라우저 | 프로그램 이름 정확히 일치 chrome.exe | 왼쪽으로 밀기에 "뒤로", 아래로 밀기에 "탭 닫기" |
| 앱 그룹, 2번째 | 텍스트 파일 | 창 제목 다음으로 끝남 .txt - 메모장 | 아래로 밀기에 "저장" |
| 앱 그룹, 3번째 | 메모장 | 프로그램 이름 정확히 일치 notepad.exe | 왼쪽으로 밀기에 "실행 취소" |
| — | 전역 | 없음 | 아래로 밀기에 "최소화", 위로 밀기에 "최대화" |
예제에서 따로 언급하지 않으면 두 전역으로 대체 스위치는 모두 켜져 있습니다.
1. 그룹에 있는 모양. Chrome 위에서 아래로 밀기를 그립니다. 브라우저가 Chrome을 소유하며 아래로 밀기에 "탭 닫기"가 있으므로 "탭 닫기"가 실행됩니다. 같은 모양에 대한 전역의 "최소화"는 기회를 얻지 못합니다. 소유 그룹이 항상 우선합니다.
2. 전역에만 있는 모양. Chrome 위에서 위로 밀기를 그립니다. 브라우저에는 위로 밀기에 대한 것이 없으므로 제스처는 전역으로 대체되고 "최대화"가 실행되며, 브라우저가 아니라 전역의 이전 및 이후 작업으로 감싸집니다.
3. 대체 끔. 브라우저의 전역으로 대체를 끄고 Chrome 위에서 위로 밀기를 그립니다. 전역의 모양은 더 이상 경쟁하지 않으므로, 획은 왼쪽으로 밀기 및 아래로 밀기와만 비교됩니다. 둘 다 임계값에 도달하지 않으면 아무것도 일치하지 않고 일치 항목 없음 이벤트가 실행됩니다. 하나가 도달하면(대충 그린 획은 그럴 수 있습니다) 그 작업이 실행됩니다. 어느 경우든 오른쪽 클릭은 돌려주지 않습니다.
4. 두 그룹이 일치하지만 첫 번째만 인정됨. 메모장에서 notes.txt 파일이 열려 있어 제목이
"notes.txt - 메모장"입니다. 텍스트 파일과 메모장 그룹 모두 이 창과 일치하지만, 텍스트 파일이 더 위에
있으므로 창을 소유합니다. 왼쪽으로 밀기를 그리면, 텍스트 파일도 전역도 그 모양을 사용하지 않으므로 비교
대상 모양에도 들어가지 않고, 아무것도 일치하지 않습니다. 창은 절대 더 아래의 앱 그룹으로 넘어가지 않으므로
메모장 그룹의 "실행 취소"는 이 창에서 절대 실행되지 않습니다. 여기서 "실행 취소"를 쓰려면 텍스트 파일에
추가하거나, 메모장을 텍스트 파일보다 위로 옮기십시오.
5. 무시 그룹. 원격 데스크톱 창 위에서 그립니다. 무시 그룹이 창을 소유하므로 누름은 그대로 원격 컴퓨터로 전달됩니다. 궤적도 없고 전역도 없습니다. 그 창에 포커스가 있는 동안에는 단축키 작업이나 텍스트 확장도 실행되지 않습니다.
6. 꺼진 그룹과 제스처가 꺼진 그룹. 텍스트 파일의 사용을 끄고 "notes.txt - 메모장" 위에서 왼쪽으로 밀기를 그리면, 이제 메모장 그룹이 창을 소유하고 "실행 취소"가 실행됩니다. 텍스트 파일을 다시 켜는 대신 여기서 제스처 사용을 끄면, 텍스트 파일이 다시 창을 소유하므로 메모장 그룹에는 도달하지 않습니다. 제스처는 전역으로 가지만 전역은 왼쪽으로 밀기를 사용하지 않으므로 아무것도 실행되지 않습니다.
7. 프로필. 브라우저를 "업무" 프로필로 제한하고 활성 프로필을 없음으로 둡니다. 브라우저는 여전히 Chrome을 소유하지만 적용되지 않으므로, Chrome 위의 제스처는 전역으로 갑니다. 아래로 밀기는 "탭 닫기"가 아니라 "최소화"를 실행합니다. 브라우저의 전역으로 대체가 꺼져 있으면 대신 누름이 그대로 전달되고, 페이지에 프로필 밖에서는 창에 아무것도 적용되지 않음 경고가 표시됩니다.
단축키와 텍스트 확장
단축키와 텍스트 확장은 같은 무시 그룹, 그룹 순서, 사용 스위치, 프로필, 전역으로 대체 스위치, 전역 그룹, 이전 및 이후 작업을 사용합니다. 다음이 다릅니다.
| 제스처 | 단축키 | 텍스트 확장 | |
|---|---|---|---|
| 판단 기준이 되는 창 | 누를 때 포인터 아래의 최상위 창 | 키를 누를 때 포커스가 있는 창 | 텍스트 입력을 마칠 때 포커스가 있는 창 |
| 그룹의 스위치 | 여기서 제스처 사용 | 여기서 단축키 사용 | 없음(텍스트 확장 페이지에 전체 스위치 하나) |
| 영역, 그리기 단추 | 예 | 아니요 | 아니요 |
| 그룹이 결정되는 시점 | 누를 때 한 번 | 키를 누를 때마다 | 확장할 때마다 |