ファイヤープロジェクト
キーボードショートカット
2005-03-14T23:30+09:00   matsu
キーボードショートカットを設定してみた.
サンプル,電卓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している間.
...よくわからない.
matsu(C)
Since 2002
Mail to matsu