A condition is defined in a DefineButton2 tag. It is a record of conditions. The record terminates when the size of the current (i.e. last) condition is zero. The length of that condition can be deduced from the total size of the tag minus the offset where the condition starts. Conditions are similar to events.
The f_key field represents a key code since version 4. The following table gives the code equivalence. Note that 0 means no key.
|0 (0x00)||No key activation||3|
|1 (0x01)||Left Arrow||4|
|2 (0x02)||Right Arrow||4|
|14 (0x0E)||Up Arrow||4|
|15 (0x0F)||Down Arrow||4|
|16 (0x10)||Page Up||4|
|17 (0x11)||Page Down||4|
|32-126||The corresponding ASCII code||4|