elisp: Other Char Bits

 
 2.3.3.5 Other Character Modifier Bits
 .....................................
 
 The case of a graphic character is indicated by its character code; for
 example, ASCII distinguishes between the characters ‘a’ and ‘A’.  But
 ASCII has no way to represent whether a control character is upper case
 or lower case.  Emacs uses the 2**25 bit to indicate that the shift key
 was used in typing a control character.  This distinction is possible
 only when you use X terminals or other special terminals; ordinary text
 terminals do not report the distinction.  The Lisp syntax for the shift
 bit is ‘\S-’; thus, ‘?\C-\S-o’ or ‘?\C-\S-O’ represents the
 shifted-control-o character.
 
    The X Window System defines three other modifier bits that can be set
 in a character: “hyper”, “super” and “alt”.  The syntaxes for these bits
 are ‘\H-’, ‘\s-’ and ‘\A-’.  (Case is significant in these prefixes.)
 Thus, ‘?\H-\M-\A-x’ represents ‘Alt-Hyper-Meta-x’.  (Note that ‘\s’ with
 no following ‘-’ represents the space character.)  Numerically, the bit
 values are 2**22 for alt, 2**23 for super and 2**24 for hyper.