blockly > ShortcutRegistry

ShortcutRegistry 클래스

단축키 레지스트리의 클래스입니다. 이는 싱글톤으로 설계되었습니다. 새 인스턴스를 만들지 말고 ShortcutRegistry.registry에서만 이 클래스에 액세스해야 합니다.

서명:

export declare class ShortcutRegistry 

속성

속성 수정자 유형 설명
registry

static

readonly

ShortcutRegistry

메서드

메서드 수정자 설명
addKeyMapping(keyCode, shortcutName, allowCollision)

키 코드와 키보드 단축키 간에 매핑을 추가합니다.

일반적으로 특정 키 코드에 하나의 바로가기만 매핑할 수 있지만 allowCollisions를 true로 설정하면 키보드를 여러 바로가기에 매핑할 수 있습니다. 이 경우 지정된 키 입력으로 onKeyDown이 호출되면 매핑된 단축키가 가장 최근에 매핑된 것부터 가장 오래 전에 매핑된 것까지 역순으로 처리됩니다.

createSerializedKey(keyCode, modifiers) 키 맵에 사용될 직렬화된 키 코드를 만듭니다.
getKeyCodesByShortcutName(shortcutName) 지정된 이름의 바로가기가 등록된 직렬화된 키 코드를 가져옵니다.
getKeyMap() 현재 키 매핑을 가져옵니다.
getRegistry() 단축키의 레지스트리를 가져옵니다.
getShortcutNamesByKeyCode(keyCode) 지정된 키 코드에 등록된 단축키를 가져옵니다.
onKeyDown(workspace, e)

키 다운 이벤트를 처리합니다.

- 이벤트 e가 실행되도록 하는 키 코드에 매핑된 모든 KeyboardShortcut는 가장 최근에 등록된 순서대로 처리됩니다. - 바로가기의 preconditionFn가 있으면 호출됩니다. preconditionFn가 false를 반환하면 바로가기의 callback 함수가 건너뜁니다. 다음 바로가기가 있는 경우 다음 바로가기로 처리가 계속됩니다. - 그러면 바로가기의 callback 함수가 호출됩니다. true를 반환하면 처리가 종료되고 onKeyDown가 true를 반환합니다. false를 반환하면 다음 바로가기(있는 경우)를 사용하여 처리가 계속됩니다. - 지정된 키 코드에 등록된 모든 바로가기가 true를 반환하지 않고 처리된 경우 onKeyDown는 false를 반환합니다.

register(shortcut, allowOverrides) 단축키를 등록합니다.
removeAllKeyMappings(shortcutName) 지정된 이름의 바로가기의 모든 키 매핑을 삭제합니다. 기본 키 매핑을 변경하고 단축키에 등록된 키 코드가 알려지지 않은 경우에 유용합니다.
removeKeyMapping(keyCode, shortcutName, quiet) 키 코드와 키보드 단축키 간의 매핑을 삭제합니다.
reset() 레지스트리와 keyMap을 지우고 다시 만듭니다.
setKeyMap(newKeyMap) 키 맵을 설정합니다. 키 매핑을 설정하면 모든 기본 키 매핑이 재정의됩니다.
unregister(shortcutName) 지정된 이름으로 등록된 단축키를 등록 취소합니다. 이 단축키를 참조하는 모든 키 매핑도 삭제됩니다.