キーボードショートカット
キーボードショートカットを設定してみた.
サンプル,電卓XULアプリケーションにキーボードショートカットを導入してみた.これ.サンプルのためのinstalled-chrome.txtの記述は以下(前頁と同じ).
content,install,url,jar:resource:/chrome/mycalculator.jar!/content/mycalculator/ skin,install,url,jar:resource:/chrome/mycalculator.jar!/skin/mycalculator/ locale,install,url,jar:resource:/chrome/mycalculator.jar!/locale/en-US/mycalculator/ locale,install,url,jar:resource:/chrome/mycalculator.jar!/locale/ja-JP/mycalculator/この電卓は,押下したキーに応じて反応する.
- 数字キーや演算子
- 数字や演算子の入力
- =,Enter
- 演算結果出力
- Ctrl+c
- 終了
- c
- Clear
mycalculator.xulを以下に示す.
キーの指定には要素keyとそれらの親である要素keysetを使用する.
<keyset> <key id="key-operand0" key="0" oncommand="setNumber(0)"/> <key id="key-operand1" key="1" oncommand="setNumber(1)"/> ...省略... </keyset>要素keysetは要素keyをまとめる役割である.要素keyの属性について以下に示す.
- command
- 該当要素keyにて監視されている要素commandのid.
- disabled
- 無効にしたい場合にtrueを設定する.
- key
- 該当文字を設定する.文字は表示されるのと同じ形式である.
- keycode
- 該当文字を設定する.表示されない文字(Enterキーなど)のためにある.
XUL Planetにキーコードの一覧がある.
例えばサンプルではEnterキーをショートカットキーとするために,以下のように設定している.
<keyset> ...省略... <key id="key-return" keycode="VK_RETURN" oncommand="calc()"/> ...省略... </keyset>
- keytext
- キーボードショートカットのためのラベル.メニューアイテムのラベルの次に表示される.
- modifiers
- ショートカットキーと同時に押すキー.値は以下から選択.
- shift
- シフトキー
- alt
- ALTキー.MacではOptionキー.
- meta
- メタキー.MacではCommandキー.
- control
- コントロールキー.
- accel
- ユーザのプラットフォームでのキーボードショートカットのためのキー.
- oncommand
- 要素が活性化したとときに呼ばれるイベントハンドラ.
- phase
- ハンドラが実行されるイベントフェーズ.値は以下から選択.
- capturing
- キャプチャリングフェーズの間.
- target
- ターゲット要素がbubblingしている間.

