図 B-1にKEYBINDファイルのシンタックスを示します。 このシンタックスの記述規則は以下のとおりです。
KEYBINDファイルで使われるディレクティブには以下のものがあります。
## Syntax ## keybind ::= macro_def_list states | states ## Syntax of keydef_header ## macro_def_list ::= macro_def | macro_def macro_def_list macro_def ::= macro_name = key_choice ; macro_name ::= [macro_identifier] ## Syntax of keydef_body ## states ::= a_state | a_state states a_state ::= STATE state_name = key_def_list END ; state_name ::= [state_string] key_def_list ::= key_def | key_def key_def_list key_def ::= key_choice : actions ; key_choice ::= key_sequence | key_sequence , key_choice key_sequence ::= keys | keys + key_sequence keys ::= ( key_choice ) | a_key a_key ::= key | macro_name #(defined macro_name in keydef_header) key ::= [keyname] actions ::= an_action | an_action , actions | goto_action an_action ::= [action] goto_action ::= GOTO state_name