INT 16H 05H: Store Keystroke Data

                                                                        [AT]
 Expects: AH    05H
          CH    scan code to store
          CL    ASCII character code or extended ASCII keystroke
          ──────────────────────────────────────────────────────────────────
 Returns: AL    0=successfully stored
                1=not stored (no room in buffer)
          ──────────────────────────────────────────────────────────────────
    Info: This can be used to stuff data into the keyboard buffer, as if
          the user had typed the keys manually.

          This can be used by keyboard macro programs and other such
          utilities.

   Notes: ■ The BIOS Data Area contains two addresses to indicate the start
            and end of the keyboard buffer.  However, you cant easily
            enlarge the buffer, since it must be within 64K of segment
            0040H.

          ■ Programs which "stuff the keyboard" and may need to stuff more
            than 16 keys, usually implement a timer interrupt handler
            (see INT 1CH) to monitor when there is room for a new key in
            the buffer.

          ■ This service is available on some XT BIOSes.  You can test for
            compatibility by stuffing an oddball key, then reading the
            keyboard to see if it made it.

See Also: INT 16H (BIOS keyboard services)
          BIOS Data Area
          ROM-BIOS Functions
                                    -♦-