キーボード割付

[キーボード割付]テーブルは、Magic xpaの内部イベントとキーストロークの対応が定義されています。

ここには、2種類の[キーボード割付]テーブルがあります。各テーブルの表示は、タブで切り替えることができます。

[キーボード割付]テーブルは、以下のカラムがあります。

カラム

内容

#

テーブルの行番号を表す連番が自動的に表示されます。

内部イベント

Magic xpaの内部イベントの名前が表示されています。このカラムにはパークできません。内部イベント名は固定で、変更できません。

同じ内部イベント名が複数の行に表示されることもありますが、これは、同じイベントに複数のキーが割当てられていることを示しています。この場合、複数のキーを使用して、そのイベントを実行することができます。

Magic xpaには内部コマンドが用意されており、このようなコマンドを「Magic xpaの内部イベント」または単に「内部イベント」と呼びます。内部イベントは低レベルのコマンドで、Magic xpaでのみ解釈が可能です。内部イベントにはそれぞれ独自の機能が用意されており、ユーザが何らかの操作を行った場合、その操作はMagic xpa により所定の処理を実行する内部イベントに変換されます。

例えば、[終了]イベントでは、現在の処理が終了します。

ショートカットキーを使用して操作するユーザのため、内部イベントにキーを割当てておくと便利です。この内部イベントのキーボードへの割当には、[キーボード割付]テーブルを使用します。

Magic xpaには多くの内部イベントが組み込まれており、それぞれ、独自の機能が割当てられています。いくつかの内部イベントはグローバルであり、Magic xpaの全ての環境で動作します。また、いくつかの内部イベントは特定の条件でのみ有効です。特定の条件でのみ有効な内部イベントは、その条件でのみ機能することから、異なる内部イベントに同じキーを割当てることができます。キーが同じでも、条件が異なれば、実行される内部イベントも異なるからです。

キー

内部イベントに割当てられているキーが表示されます。キーを指定する場合、この欄からズームを実行し、[キー設定]ダイアログをオープンします。このダイアログで内部イベントに設定したいキーを実際にキーボードで押下します。

そのキーが有効だった場合、登録されます。[キャンセル]ボタンをクリックすると設定を取り消します。[キー設定]ダイアログではスペースバーを使用して、キーをクリアできます。

注意:

この欄に「内部」という文字が表示されている場合、そのイベントに対する操作が許されず、再定義もできないことを示しています。

関連トピック:メニューにショートカットキーを定義するには

ステータス

内部イベントに設定されているステータスの数が表示されます。この数の条件が全て満たされた場合にその内部イベントが実行されます。この欄からズームを実行すると、[ステータス]一覧にカーソルが移動します。このウィンドウを使用して、内部イベントとの条件を設定することができます。

内部イベントのステータス

内部イベントには、実行される条件を設定することができます。この条件を「キーボードステータス」といい、全てのステータスが満たされた場合にのみ内部イベントが実行されます。ステータスは、最高で4つまで指定できます。4つのステータスは、AND条件で動作します。ステータスに関連する状況としては、「表」と「編」、「ツリー」の3種類があります。

「表」では、テーブルに関連する各種ステータスが有効になります。また、「編」では、項目エディタに関連する各種ステータスが、「ツリー」ではツリー表示に関連するステータスが有効になります。各イベントには複数のステータスを定義することができ、現在、どのようなステータスにあるかはユーザの操作状況によって決まります。また、この複数のステータスの組み合わせによって、キーと状況が同じであっても、異なる内部イベントとして判断させることができます。

キーボード状態の例

例えば以下のように実行用キーボード割付が設定されているものとします。

内部イベント

キー

キーボード状態

テーブル末尾

Ctrl+End

表:画面末尾

画面末尾

Ctrl+End

表:非画面末尾

フォーム末尾

Ctrl+End

編:編集モード

 

テーブルを編集している状態では、Ctrl+Endキーは[テーブル末尾]イベントが割り当てられます。これは、「カーソルをテーブルの最後のレコード行に移動する」ことを意味しています。[画面末尾]イベントは、「画面上に表示されたテーブルの最後の行にカーソルを移動する」ことを表しています。両方の内部イベントは同じコンテキスト(テーブル編集)内で有効であり、同じキー操作(Ctrl+End)に割り当てられています。この曖昧な状況を解決するのが[キーボード状態]の設定内容です。

[テーブル末尾]イベントは、「表:画面末尾」のステータスが割り当てられており、カーソルがテーブルの最後に表示されている行にある状態でCtrl+Endキーが押下された場合のみ有効になります。[画面末尾]イベントは、「表:非画面末尾」のステータスが割り当てられており、カーソルがテーブルの最後の行に無い状態でCtrl+Endキーが押下された場合のみ有効になります。また、[フォーム末尾]イベントは、「編:編集モード」のステータスが割り当てられており、項目を広域表示させて編集している状態で有効になります。この3種類のステータスは排他的なため、キーが同じであってもそれぞれのステータスに応じた内部イベントが実行されます。

これらの設定の結果、Ctrl+Endキーを最初に押下すると、([画面末尾]イベントが発行され)カーソルはテーブルの最後の表示行に移動します。これにより、「画面末尾」の状態になり、次にCtrl+Endキーを押下すると、([テーブル末尾]イベントが発行され)カーソルがデータビュー上の最後のレコード行に移動することになります。

[キーボード割当]テーブルでは、内部のイベント/キー操作の割り当てを変更/削除/追加することが可能ですが、内部イベントの最後のキー操作割り当てを削除することはできません。新しい行を追加すると、前行の内容がコピーされます。

モバイル仕様:

キーボード割付は、モバイルデバイスではサポートされません。このため、内部イベント(例えばズームに対するF5キー)に割り当てられたシステムイベントを発生させることはサポートされません。直接、内部イベントを発行させるようにする必要があります。