h6. [[OS SWI Calls]] h6(. » [[OS_Byte]] h6((. » [[OS_Byte 221 - 228]] h6(((. » Key Codes h4. Notes Function keys generate these codes un-shifted. |_<^{width:8em}. Key |_<^. Code | |<^. Print|<^. &80 | |<^. F1 – F9|<^. &81 - &89 | |<^. End/Copy|<^. &8B | |<^. Left|<^. &8C | |<^. Right|<^. &8D | |<^. Down|<^. &8E | |<^. Up|<^. &8F | |<^. Page Down|<^. &9E | |<^. Page Up|<^. &9F | |<^. F10 – F12|<^. &CA - &CC | |<^. Insert|<^. &CD | Shift EORs the code with &10 Control EORs the code with &20 The cursor keys and copy only generate these codes if set up to act as function keys by calling [[OS_Byte 4]] with R1=2. &80 + Buffer value gives the character codes used by the [[Character Codes|Wimp]]. When reset occurs &CA (i.e. F10) is inserted into the input buffer. Unlisted codes cannot be generated by the main keyboard, but can occur by: * Using these OS_Byte calls to set keys to generate them * Changing the numeric keypad base with [[OS_Byte 238]] * Inserting bytes into the keyboard buffer with [[OS_Byte 138]] and [[OS_Byte 153]]. * Receiving bytes from the serial port (see also [[OS_Byte 181]] to control serial input interpretation) Note that page up and down effectively behave as Up and Down with shift toggled. In fact, it is impossible to distinguish shift/control combinations of page up and down with shift/control combinations of cursor up and down, which can prove frustrating. h4. See also * [[Character Codes]] * [[OS_Byte]] * [[OS_Byte 4]] * [[OS_Byte 138]] * [[OS_Byte 153]] * [[OS_Byte 181]] * [[OS_Byte 221 - 228]] [link3]OS_Byte+221+-+228