shortcutDef

2.4.0 버전부터 지원합니다.

사용자 정의 플러그인의 키보드 단축키를 정의합니다.

최상위 키

이름타입설명
keyobjectOS별 단축키 바인딩입니다.
optionobject단축키 실행 시 수행할 액션 또는 함수와 기타 옵션입니다.

key

이름타입설명
windowsstringWindows 단축키
macstringMac 단축키

option

이름타입설명
actionstring실행할 에디터 액션입니다.
paramsobject액션에 전달되는 매개변수입니다.
onExecute함수2.15.2211 버전부터 지원합니다. 실행할 함수입니다. action과 onExecute가 모두 설정된 경우, onExecute만 실행됩니다.
focusImeboolean단축키 실행 후 에디터에 다시 포커스를 맞출지 여부입니다 (기본값 true).
overrideboolean3.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 없이 이미 바인딩된 단축키를 등록하려고 하면 알림이 표시되고 등록되지 않습니다:

1.00

override: true를 설정하면 기존 바인딩이 대체됩니다.

shortcutDef: {
  key: { /* ... */ },
  option: { /* ... */ },
  override: true
}

단일 단축키와 다중 단축키

단일

shortcutDef: {
  key: { /* ... */ },
  option: { /* ... */ }
}

다중

shortcutDef: [
  {
    key: { /* ... */ },
    option: { /* ... */ }
  }
  // ...
]