🦆
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