The editor command loop reads keyboard input using the function
next-event and constructs key sequences out of the events using
dispatch-event.
Lisp programs can also use the function read-key-sequence, which
reads input a key sequence at a time. See also
momentary-string-display in Temporary Displays,
and sit-for in Waiting. See Terminal Input, for
functions and variables for controlling terminal input modes and
debugging terminal input.
For higher-level input facilities, see Minibuffers.