一太郎Arkのキーバインドについて Arkのキーバインドは以下の書式のxml文書で定義する事が出来ますが、Ark のデフォルトキーバインドは、xmlで定義せずに jp.co.justsystem.ark.ui.KeyStrokeTreeManager#makeFirstLayer(Class) でハードコードしています。 以下に, ・キー定義ファイルのDTD ・キー定義ファイルサンプル ・キーストローク表記 ・コマンド名 ・キー定義のハードコード例 について詳しく説明します。 ____________________________________________________________________________ ◆キー定義ファイルのDTD キー定義ファイルのDTDは以下の通りです。Arkは実行時にはDTDを使った検 証を行いませんが、このDTDに従わないキー定義ファイルはエラーになった り予期せぬ動作を引き起こす可能性があります。 ----------------------------------------------------------- keyConfig.dtd -- ---------------------------------------------------- end of keyConfig.dtd -- ◆キー定義ファイルサンプル キー定義ファイルのサンプルです。コメントなどに非アスキー文字を含む場 合は必ずファイルのエンコーディングを UTF-8 にして下さい。 -------------------------------------------------------------- Sample.xml -- ------------------------------------------------------- end of Sample.xml -- ◆キーストローク表記について ■1.概略 Arkのキーカスタマイズファイルでのキーストローク表記は keyConfig の keymap 要素および command 要素およびの keymapRef 要素の stroke 属性 で必要になります。 キーストローク表記は <修飾子>+<キー> と言う形で表現されます。修飾子 はALT、SHIFT、CTRL、META、またはそれらの組み合わせで表現されます。 キーストロークの例: ・"CTRL+A" CTRLキーを押しながらAキーを押す(修飾子=CTRL、キー=A) ・"CTRL+SHIFT+SLASH" CTRLキーとSHIFTキーを押しながら/キーを押す (修飾子=CTRL+SHIFT、キー=/) ■2.修飾子とキーの表現 各修飾子とキーの表現について以下に記します。 ●修飾子 修飾子は以下の4つの組み合わせです。 "CTRL" Ctrlキー "SHIFT" Shiftキー "ALT" Altキー "META" Metaキー ●キー キーはJAVAのjava.awt.KeyEventクラスの仮想キーコード定数名(VK_***) から"VK_"を取った文字列で表現します(但し "DEFAULT" 例外です。) 定数名の定義は java.awt.KeyEvent クラスの仕様書を参照して下さい。 http://java.sun.com/products/jdk/1.2/ja/docs/ja/api/java/awt/event/KeyEvent.html "DEFAULT"は現在のキーマップに無いキーが押されたときの動作(アクショ ン)を定義します。これを設定しないと、普通の文字入力などが出来なく なる場合があります。通常は KeyTyped アクションを設定しておきます。 なお "DEFAULT" には修飾子を付けることが出来ません。 主なキーの表現: "0" - "9" ・・・・・ 0 - 9 キー "A" - "Z" ・・・・・ A - Z キー "F1" - "F24" ・・・ F1 - F24 キー "DELETE" ・・・・・ Deleteキー "UP"・・・・・・・・ 上矢印キー "DOWN"・・・・・・・ 下矢印キー "LEFT"・・・・・・・ 左矢印キー "RIGHT" ・・・・・・ 右矢印キー "DEFAULT" ・・・・・ キーマップに無いキーが押されたときの動作 ※注意: JRE の実装上の問題により、上記の KeyEvent クラスに定義されている 仮想キーコードを指定しても拾えないキーコンビネーションがいくつか あります。一太郎Ark付属の JRE の場合は以下のキーコンビネーション が無効です。 Windows, Solaris 共通 AT, MINUS,PLUSなどの記号系 Solaris 環境 CTRL+SHIFT+(アルファベット) ◆コマンドの簡単な説明 コマンド文字列は keyConfig の command 要素の action 属性で必要です。 左辺の英語がアクション名です。右辺が説明です。 ■プルダウンメニュー系のアクション ●ファイル系 FileNew 新規作成 FileOpen 開く FileClose 閉じる FileSave 上書き保存 FileSaveAs 名前を付けて保存 FileExit 終了 ●編集系 EditUndo 取り消し EditRedo やり直し EditCut 切り取り EditCopy コピー EditPaste 貼り付け EditSelectAll すべて選択 EditFind 検索 EditReplace 置換 EditJumpDocTop 文書頭へジャンプ EditJumpDocEnd 文書末へジャンプ EditJumpLink リンク先へジャンプ EditJumpBookmark ブックマークへジャンプ ●表示系 ViewEditMark 編集記号モードON/OFFトグル ViewToolbar ツールバーON/OFFトグル ViewStatusbar ステータスバーON/OFFトグル ViewCharSizeLargest 最大(基準文字サイズ) ViewCharSizeLarge 大(基準文字サイズ) ViewCharSizeMedium 中(基準文字サイズ) ViewCharSizeSmall 小(基準文字サイズ) ViewCharSizeSmallest 最小(基準文字サイズ) ViewDisplayProps 画面表示設定 ViewRefresh 再表示 ●挿入系 InsertBr 段落内改行挿入 InsertBrClear 画像の下へ改行挿入 InsertParagBreak 改段落挿入 InsertPageBreak 改ページ挿入 InsertImage 画像挿入 InsertHorizontalLine 水平線挿入 InsertLinkSet ハイパーリンク設定 InsertLinkReset ハイパーリンク解除 InsertBookmark ブックマーク挿入 InsertComment 注釈挿入 InsertFrameAbove フレームを上に挿入 InsertFrameBelow フレームを下に挿入 InsertFrameLeft フレームを左に挿入 InsertFrameRight フレームを右に挿入 DeleteFrame フレームを削除 FrameProperty フレームのプロパティ FrameLoad フレームの読み込み FrameSave フレームの保存 ●書式系 FormatFontChange フォント・言語設定 FormatFontDefault フォント・言語解除 FormatSizeLarger 文字を大きく FormatSizeSmaller 文字を小さく FormatSizeSup 上付き文字 FormatSizeSub 下付き文字 FormatSizeSelect 文字サイズ指定 FormatSizeDefault 文字サイズ解除 FormatStyleColor 文字色 FormatStyleBold 太字 FormatStyleItalic 斜体 FormatStyleUnderline アンダーライン FormatStyleUpperline アッパーライン FormatStyleStrike 打ち消し線 FormatCharTypeNormal 文字タイプを標準にする FormatCharTypeMore 文字タイプ設定 FormatStyleTogether 文字飾り設定 FormatStyleClear 文字飾り解除 FormatAlignLeft 左寄せ FormatAlignCenter センタリング FormatAlignRight 右寄せ FormatIndentInc インデントを増やす FormatIndentDec インデントを減らす FormatListBullet マーク付き箇条書きを設定する FormatListNumber 番号付き箇条書きを設定する FormatListMore その他の箇条書きの設定を設定する FormatListProps 箇条書きのプロパティ FormatListCancel 箇条書きの解除 FormatParagTypeNormal 段落タイプを標準にする FormatParagTypeMore 段落タイプ詳細設定 FormatParagProps 段落のプロパティ FormatDocProps 文書のプロパティ ●表系 TableCreate 表作成 TableRemove 表削除 TableProps 表のプロパティ TableRowInsert 行の挿入 TableRowRemove 行の削除 TableColumnInsert 列の挿入 TableColumnRemove 列の削除 TableCellInsert セルの挿入 TableCellRemove セルの削除 TableCellMerge セルの結合 TableCellSplitH セルの左右分割 TableCellSplitV セルの上下分割 TableCellBGColor セルの背景色 TableCellVAlignTop セルの上配置 TableCellVAlignMiddle セルの中央配置 TableCellVAlignBottom セルの下配置 TableCellHAlignLeft セルの左寄せ TableCellHAlignCenter セルのセンタリング TableCellHAlignRight セルの右寄せ TableCellProps セルのプロパティ ●ツール系 ToolsPluginProps プラグインの設定 ToolsOption オプション ToolsLang 言語・フォントの設定 ToolsProxy プロキシの設定 ●ヘルプ系 HelpHelp ヘルプ HelpIndex ヘルプ索引 HelpSearch ヘルプ検索 HelpAboutArk Arkについて ■プルダウンメニュー以外のアクション ●検索系 FindNext 次を検索(F3キーでの検索) FindPrevious 前を検索(SHIFT+F3キーでの検索) ●複数範囲操作系 FixSelection 範囲確定 ClearSelection 確定範囲をクリア ●スクロール系 CursorPageUp ページアップ CursorPageDown ページダウン SelectionPageUp 範囲選択ページアップ SelectionPageDown 範囲選択ページダウン ●ウィンドウ操作系 _NewWindow 新しいウィンドウ _NextWindow 次のウィンドウ _PrevWindow 前のウィンドウ _CascadingWindows カスケード _TilingWindows タイリング _ArrangeVertWindows ウィンドウ縦整列 _ArrangeHorzWindows ウィンドウ横整列 ●カーソル移動系(文字単位) CursorCharacterLeft カーソル・文字・左 CursorCharacterRight カーソル・文字・右 CursorCharacterUp カーソル・文字・上 CursorCharacterDown カーソル・文字・下 CursorCharacterHome カーソル・文字・始点 CursorCharacterEnd カーソル・文字・終点 SelectionCharacterLeft 範囲・文字・左 SelectionCharacterRight 範囲・文字・右 SelectionCharacterUp 範囲・文字・上 SelectionCharacterDown 範囲・文字・下 ●カーソル移動系(単語単位) CursorWordLeft カーソル・単語・左 CursorWordRight カーソル・単語・右 SelectionWordLeft 範囲・単語・左 SelectionWordRight 範囲・単語・右 ●カーソル移動系(行単位) CursorLineLeft カーソル・行・左 CursorLineRight カーソル・行・右 CursorLineUp カーソル・行・上 CursorLineDown カーソル・行・下 CursorLineHome カーソル・行・始点 CursorLineEnd カーソル・行・終点 SelectionLineLeft 範囲・行・左 SelectionLineRight 範囲・行・右 SelectionLineUp 範囲・行・上 SelectionLineDown 範囲・行・下 SelectionLineHome 範囲・行・始点 SelectionLineEnd 範囲・行・終点 ●カーソル移動系(セル単位) CursorCellLeft カーソル・セル・左 CursorCellRight カーソル・セル・右 CursorCellUp カーソル・セル・上 CursorCellDown カーソル・セル・下 ●カーソル移動系(文書単位) CursorBodyLeft カーソル・文書・先頭 CursorBodyRight カーソル・文書・末尾 CursorBodyHome カーソル・文書・始点 CursorBodyEnd カーソル・文書・終点 SelectionBodyLeft 範囲・文書・先頭 SelectionBodyRight 範囲・文書・末尾 SelectionBodyHome 範囲・文書・始点 SelectionBodyEnd 範囲・文書・終点 ●文字編集系 KeyTyped 普通キー入力時の動作 KeyTypedWait 普通キー入力時の動作(待ちあり) InsertString 文字挿入 InsertStringWait 待ちあり文字挿入 Delete 削除 BackSpace バックスペース EnterInputMode 文字入力モードに戻る ●その他 CursorProperty=プロパティ ■印刷プラグインが必要なアクション FilePageSetup 印刷スタイル FilePrintPreview 印刷プレビュー FilePrint 印刷 ■URLプラグインが必要なアクション FileOpenURL URLを開く HelpJumpArkSite Arkのホームページへジャンプ ◆キー定義のハードコード例 jp.co.justsystem.ark.ui.KeyStrokeTreeManager#makeFirstLayer(Class)の ソースコードを参照して下さい。