図 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