shortcutDef
2.4.0 버전부터 지원합니다.
사용자 정의 플러그인의 키보드 단축키를 정의합니다.
최상위 키
| 이름 | 타입 | 설명 |
|---|---|---|
key | object | OS별 단축키 바인딩입니다. |
option | object | 단축키 실행 시 수행할 액션 또는 함수와 기타 옵션입니다. |
key
| 이름 | 타입 | 설명 |
|---|---|---|
windows | string | Windows 단축키 |
mac | string | Mac 단축키 |
option
| 이름 | 타입 | 설명 |
|---|---|---|
action | string | 실행할 에디터 액션입니다. |
params | object | 액션에 전달되는 매개변수입니다. |
onExecute | 함수 | 2.15.2211 버전부터 지원합니다. 실행할 함수입니다. action과 onExecute가 모두 설정된 경우, onExecute만 실행됩니다. |
focusIme | boolean | 단축키 실행 후 에디터에 다시 포커스를 맞출지 여부입니다 (기본값 true). |
override | boolean | 3.2.2507 버전부터 지원합니다. true일 때 기존 단축키를 덮어씁니다 (기본값 false). |
단축키 문자열
키를 +로 결합합니다. 예시:
Ctrl + Shift + ;→'Ctrl+Shift+;'Ctrl + Alt + N→'Ctrl+Alt+N'
// Ctrl+Shift+;
shortcutDef: {
key: { windows: 'Ctrl+Shift+;', mac: 'Cmd+Shift+;' },
option: { /* ... */ }
}
// Ctrl+Alt+N
shortcutDef: {
key: { windows: 'Ctrl+Alt+N', mac: 'Cmd+Alt+N' },
option: { /* ... */ }
}
지원되는 키
Ctrl, Shift, Alt (Mac: 옵션), Cmd (Mac 전용), 0–9, A–Z, F1–F12, ; + , - . / ` [ \ ] ', Backspace, Tab, Enter, Esc, Space, PageUp, PageDown, End, Home, Insert, Delete, Left, Up, Right, Down.
예시
에디터 액션 실행
shortcutDef: {
key: { /* ... */ },
option: { action: 'increaseFontSize' }
}
매개변수가 있는 액션
shortcutDef: {
key: { /* ... */ },
option: { action: 'align', params: ['center'] }
}
함수 실행
shortcutDef: {
key: { /* ... */ },
option: {
/**
* Receives the editor instance and the keyboard event.
* @param {SynapEditor} editor
* @param {KeyboardEvent} keyEvent
*/
onExecute: function (editor, keyEvent) {
window.alert('Shortcut test!');
}
}
}
기존 단축키 재정의
3.2.2507 버전부터 지원합니다.
override 없이 이미 바인딩된 단축키를 등록하려고 하면 알림이 표시되고 등록되지 않습니다:

override: true를 설정하면 기존 바인딩이 대체됩니다.
shortcutDef: {
key: { /* ... */ },
option: { /* ... */ },
override: true
}
단일 단축키와 다중 단축키
단일
shortcutDef: {
key: { /* ... */ },
option: { /* ... */ }
}
다중
shortcutDef: [
{
key: { /* ... */ },
option: { /* ... */ }
}
// ...
]