日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMSマニュアル
ライブラリ

タイトルページ
目次
まえがき
第 1 章:ユーザ・キー定義ライブラリ (IMLIB) の概要
第 2 章:標準のキー定義と使い方
第 3 章:個々のキー定義の変更
第 4 章:PROFILE
第 5 章:入力シーケンスのカスタマイズ
第 6 章:KEYBINDコンパイラ
第 7 章:KEYBINDファイル作成例
付録 A :キー名
付録 B :KEYBINDファイルのシンタックス
付録 C :KEYBINDコンパイラのエラー
索引
PDF
OpenVMS ホーム
日本語OpenVMS

日本語OpenVMS
ユーザ・キー定義 利用者の手引き


目次 索引

第 7 章
KEYBINDファイル作成例

この章ではJVMSキーのKEYBINDファイルを例にして,KEYBINDファイルを作るときの注意点について書かれています。

JVMSキーのKEYBINDファイルを 例 7-1 に示します。説明のため実際に提供されているものと違っている部分があります。

例 7-1 JVMSキーのKEYBINDファイル
! 
! JVMS変換キー定義ファイル(システムテンプレート) 
! 
gold            = CTRL_G;(1)
kakutei         = CTRL_N; 
kanji_henkan    = NULL, gold + CTRL_K;(2)
hiragana_henkan = CTRL_L; 
katakana_henkan = CTRL_K; 
zenkaku_henkan  = CTRL_F; 
hankaku_henkan  = gold + CTRL_F; 
kigou_henkan    = GS; 
oomoji          = VOID;(3)
komoji          = VOID; 
ji_bunsetsu     = CTRL_P; 
zen_bunsetsu    = gold + CTRL_P; 
tansyuku        = US; 
sintyou         = gold + US; 
zen_kouho       = gold + (NULL, CTRL_L);(4)
kaijo           = CTRL_N; 
sakujo          = DEL; 
hidari          = LEFT; 
migi            = RIGHT; 
 
%INCLUDE (IM$KEY_COMMON_BODY.DAT)(5)
 

  1. CTRL_Gをgoldというマクロ名に定義します。

  2. NULLまたはgold + CTRL_Kをkanji_henkanというマクロ名に定義します。

  3. VOIDはどのキーにもマッチしないキーのシンボルです。JVMSキーにはoomoji やkomojiに対応するキーが定義されていないので,VOIDを使います。oomoji, komojiは本体で使われているので,ここでこの行を省略することはできません。

  4. zen_kouhoというマクロ名はgold + NULLまたはgold + CTRL_Lを意味します。

  5. ディレクティブ%INCLUDEによってキー定義ファイルの本体 (IM$KEY_COMMON_BODY.DAT)を読み込みます。

IM$KEY_COMMON_BODY.DAT の内容を 例 7-2 に示します。

例 7-2 IM$KEY_COMMON_BODY.DAT の内容
 
! 
! JVMS/EVEJ/LEIA変換キー定義ファイル本体(システムテンプレート)
! 
! 
! 初期状態 
! 
STATE "initial" = 
 TYPING_KEYS : START, ECHO, GOTO "inputting";(1)
END; 
! 
! 入力状態 
! 
STATE "inputting" = 
 kanji_henkan : CONVERT, GOTO "kk_converting";(2)
 hiragana_henkan : HIRAGANA, GOTO "converting";(3)
 katakana_henkan : KATAKANA, GOTO "converting"; 
 zenkaku_henkan : ZENKAKU, GOTO "converting"; 
 hankaku_henkan : HANKAKU, GOTO "converting"; 
 kigou_henkan : SYMBOL, GOTO "converting"; 
 oomoji  : UPPER, GOTO "converting"; 
 komoji  : LOWER, GOTO "converting"; 
 kakutei  : DONE, GOTO "initial"; 
 sakujo  : DELETE; 
 hidari  : MOVE_LEFT;(4)
 migi  : MOVE_RIGHT; 
 TYPING_KEYS : ECHO; 
END; 
! 
! かな変換状態 
! 
STATE "converting" = 
 kanji_henkan : CONVERT, GOTO "kk_converting"; 
 hiragana_henkan : HIRAGANA; 
 katakana_henkan : KATAKANA; 
 zenkaku_henkan : ZENKAKU; 
 hankaku_henkan : HANKAKU; 
 kigou_henkan : SYMBOL; 
 oomoji  : UPPER; 
 komoji  : LOWER; 
 kaijo  : RESTORE_STRING, GOTO "inputting";(5)
 TYPING_KEYS : DONE, START, ECHO, GOTO "inputting";(6)
END; 
! 
! 漢字変換状態 
! 
STATE "kk_converting" = 
 kanji_henkan : NEXT_CANDIDATE; 
 hiragana_henkan : CLA_HIRAGANA; 
 katakana_henkan : CLA_KATAKANA; 
 zenkaku_henkan : ZENKAKU; 
 hankaku_henkan : HANKAKU; 
 kigou_henkan : SYMBOL; 
 oomoji  : UPPER; 
 komoji  : LOWER; 
 ji_bunsetsu : NEXT_CLAUSE; 
 zen_bunsetsu : PREV_CLAUSE; 
 tansyuku : SHORTEN_CLAUSE; 
 sintyou  : EXTEND_CLAUSE; 
 zen_kouho : PREV_CANDIDATE; 
 kaijo  : RESTORE_STRING, GOTO "inputting"; 
 TYPING_KEYS : DONE, START, ECHO, GOTO "inputting"; 
END; 
 

  1. STATE"initial"にはTYPING_KEYSだけしか定義されていません。画面に表示されるキー以外が入力されるとアプリケーションが動作を決めます。画面に表示されるキーが入力されると入力をSTARTし,入力されたキーをECHOして,STATEは "inputting" に移ります。

  2. マクロkanji_henkanに定義されたキーが入力されるとCONVERTによってかな漢字変換を行ない,STATEは"kk_converting"に移ります。

  3. マクロhiragana_henkan, katakana_henkanなどに定義されたキーが入力されるとそれぞれの動作を行ない,STATEは"converting"に移ります。

  4. ここで,定義されているMOVE_LEFT, MOVE_RIGHTは入力文字列の編集時のキー定義です。通常の編集時のカーソルの移動はアプリケーションが定義するので,ユーザはキー定義を行ないません。

  5. RESTORE_STRINGは,一度変換を始めた文字列をもう一度入力文字列に戻します。 STATEも"inputting"に戻すことで,文字列の編集関係のキーが使えるようになります。

  6. STATEが"converting"の時にTYPING_KEYSが入力されると現在の状態が確定して新規に文字列が入力されます。
    DONEによって変換は確定し,初期状態に戻りますので,DONEを省略することはできません。DONEを省略するとSTARTがエラーになります。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.