毎度のごとく雑備忘録です。
問題
atomでキー入力に応じたあれこれをしようと思い、package generatorでパッケージを作りました。
普通の方法でキーイベントを登録しようと試みましたが、どうにもキー入力を受け取っていない様子。
window.addEventListener('keydown', this.onKeyDown);
onKeyDown(e) {
//ここにあれこれを実装
}
解決
editor = atom.workspace.getActiveTextEditor();
editorView = atom.views.getView(editor);
editorView.addEventListener('keydown', this.onKeyDown.bind(this));
onKeyDown(e) {
//ここにあれこれを実装
}
どこかで止められてるのかwindow
からだとkeyEventが取れなかったので、editorのDOM要素に直接イベントを登録しました。
試していませんが、getView(editor)
のところはatom.workspaceやpaneからでもいけるんじゃないでしょうか。