この章ではJVMSキーのKEYBINDファイルを例にして,KEYBINDファイルを作るときの注意点について書かれています。
JVMSキーのKEYBINDファイルを例 7-1に示します。 説明のため実際に提供されているものと違っている部分があります。
! ! 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)
IM$KEY_COMMON_BODY.DAT の内容を例 7-2 に示します。
! ! 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;