デフォルトショートカットキー設定の削除

OpenOffice のデフォルトショートカットキー設定を一時的に削除する拡張機能を作成します。

ショートカットを設定したくないキーにデフォルトショートカットの設定があると、 ユーザーの設定だけではショートカットを割り当てないように設定できません。 指定した設定を削除する拡張機能をインストールしている間はデフォルトのショートカットキー設定が削除されます。 アンインストールすると元に戻ります。

利用方法

  1. https://dl.dropboxusercontent.com/u/91791736/disable_default_keys.html をウェブブラウザで開きます
  2. キー欄に削除したいデフォルトキー設定のキーを入力します
  3. その他の項目を注釈に従って入力します
  4. 拡張機能作成ボタンをクリックします
  5. 表示されるダウンロードリンクをクリックしてパッケージをダウンロードします
  6. ダウンロードしたパッケージを拡張機能マネージャからインストールします
  7. オフィースを再起動します

原理

拡張機能に含まれているコンフィグレーションファイルは、オフィースの起動時に統一された設定としてマージされます。
このとき、ユーザーがインストールした拡張機能に含まれているコンフィグレーションファイルの設定は、優先順位に従ってマージされます。

オフィースの設定 < (略) < ユーザーの拡張機能による設定 < ユーザーが変更した設定

デフォルトのショートカットキー設定はオフィースの設定に有ります。ユーザーがキーコンフィグであるキーの設定を削除すると、空項目になるのではなく、その項目を設定する部分が削除されます。すると、オフィースの設定が見えるようになり、どうしてもデフォルトのキー設定にあるキーは削除できません。

コンフィグレーションファイルの node の op (オペレーション、操作) 属性に remove を指定すると、そのノードの存在を削除できます[1]。その設定を含むコンフィグレーションファイルをオフィースのデフォルト設定の後でマージされるように、拡張機能からインストールしてやることで、該当の設定を削除できます。

このとき、ユーザーの設定があると優先順位のせいで、拡張機能からは削除できません。設定を変更しても設定ノードが削除されないような設定にはこの方法は利用できません。

[1] http://svn.apache.org/viewvc/openoffice/trunk/main/officecfg/registry/component-update.dtd?view=markup