Key event details.
When processing a TKeyEvent, the TStdScanCode in iScanCode should usually be ignored in favour of the TKeyCode in iCode. Using iScanCode would bypass the keyboard mapping and any FEP that happens to be installed. The exceptions to this general rule are games where the positions of the keys are more important than their translations, and FEPs that are implementing keyboard maps themselves. In these cases, if the iCode is used rather than iScanCode to determine the key pressed, there will be two unfortunate consequences. Firstly, the low-level keyboard mapping might re-arrange the mapping that you are trying to impose. Secondly, you will subvert the CTRL+number method of entering Unicode literals.
The character code generated for an EEventKey, or 0 for a down or up event.
Key codes for special keys are defined in TKeyCode.
State of modifier keys and pointing device. Modifier keys are defined in TEventModifier.
Count of auto repeats generated.
0 means an event without repeats. 1 or more means "this many auto repeat events". It is normal to ignore this value and treat it as a single event.
The scan code of the key that caused the event.
Standard scan codes are defined in TStdScanCode.