🦆
Codemirrorデフォルトのショートカット(KeyMap)を無効化する
ドキュメントやGitHubリポジトリのissuesを漁ってもどうしても見当たらなかったので記事に残しておく。
CodemirrorのkeyMap周りのソースコードを探ってみたところ、以下のようにCodemirrorのインスタンスに対してaddKeyMapで値にfalseを渡すことで無効にできることが分かった。
cm.addKeyMap({
'Alt-D': false,
});
- ソースコードの該当部分: https://github.com/codemirror/CodeMirror/blob/bd1b7d2976d768ae4e3b8cf209ec59ad73c0305a/src/input/keymap.js#L104
ちなみにremoveKeyMapを呼び出すことで無効化ができそうだが、ドキュメントには「addKeyMapにより追加されたKeyMapを無効にするもの」と書いてあり、デフォルトのKeyMapを無効にするものではなさそう。
cm.removeKeyMap(map: object)
Disable a keymap added with addKeyMap. Either pass in the key map object itself, or a string, which will be compared against the name property of the active key maps.
Discussion