ショートカットキーでアクティブ化できるFirefox拡張機能があります。ユーザーがキーの組み合わせを動的に変更できるようにしたい。
私のXULは次のようになります
<keyset id="ksMain">
<key id="keyDoMyThing" modifiers="control,shift" key="e" command="cmdDoMyThing"/>
</keyset>
cmdDoMyThing は、コマンドセット内の要素への参照です。ctrl+shift+e を押すと、コマンドが起動します。
JavaScript を使用して、既存の要素の変更と新しい要素の作成の両方を試みましたが、古いキー コンボを停止させることはできますが、新しいキー コンボを発生させることはできません。これが私が使用しているコードの例です
keyelem = document.createElement('key');
keyelem.setAttribute('id', 'keyDoMyThing');
keyelem.setAttribute('command', 'cmdDoMyThing');
keyelem.setAttribute('key', key);
keyelem.setAttribute('modifiers', modstr);
keyset.appendChild(keyelem);
デバッガーを使用して、modstr が適切な文字列に設定され、key が使用したいキーに設定されていることを確認できます。
これを希望どおりに実現するにはどうすればよいですか?