UserScriptを使って、Confluenceエディタのショートカットを一部無効にする
僕は日本語のかなに切り替える際、Ctrl-Shift-j
を使っている。Ctrl-Shift-k
、英字なら Ctrl-Shift-;
だ。かな・カナ・英字を瞬時に切り替えられてとても便利なのだけど、最近Confluenceを使い始めて困ったことが発生した。それは、 Ctrl-Shift-j
のショートカットがConfluenceのエディタにもあり、かなに切り替えるとエディタ側のショートカットも発動してしまうのだ。ショートカットとしてはJiraのチケット検索ダイアログを表示するというもので、これはこれで便利なのだけど僕としてはかな切り替えの方が優先順位が高い。複数のマシンでCtrl-Shift-j
をかな切り替えに使っているし、そこは譲れない。
Confluence側の設定でショートカットを無効にできればよかったけどどうもそうはいかないようだったので、10年ぶりくらいにUserScriptを書いて制御することにした。
// ==UserScript==
// @name Disable ctrl+shift+j in Confluence editor
// @namespace http://repl.info/
// @version 0.1
// @description Disable ctrl+shift+j in Confluence editor
// @author Ryo Takaishi
// @include */editpage.action?*
// @include */createpage.action?*
// @run-at document-idle
// @grant none
// ==/UserScript==
document.addEventListener('DOMNodeInserted', function() {
if (tinyMCE) {
if (tinyMCE.activeEditor) {
tinyMCE.activeEditor.shortcuts.remove("ctrl+shift+j");
}
}
}, false);
tinyMCEを使っているので、このようにショートカットを削除すればOK。JavaScriptを知っているとこういうちょっとした改善をシュッとできるので便利ですね。