You can use the function
read-quoted-char to ask the user to
specify a character, and allow the user to specify a control or meta
character conveniently, either literally or as an octal character code.
quoted-insert uses this function.
This function is like
read-char, except that if the first character read is an octal digit (0–7), it reads any number of octal digits (but stopping if a non-octal digit is found), and returns the character represented by that numeric character code. If the character that terminates the sequence of octal digits is <RET>, it is discarded. Any other terminating character is used as input after this function returns.
Quitting is suppressed when the first character is read, so that the user can enter a C-g. See Quitting.
If prompt is supplied, it specifies a string for prompting the user. The prompt string is always displayed in the echo area, followed by a single ‘-’.
In the following example, the user types in the octal number 177 (which is 127 in decimal).(read-quoted-char "What character") ---------- Echo Area ---------- What character 1 7 7- ---------- Echo Area ---------- ⇒ 127