home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / gnu / lucid / help-lucid-emacs / text0017.txt < prev    next >
Encoding:
Text File  |  1993-07-14  |  2.9 KB  |  68 lines

  1. > For some reason, the compose key doesn't work as the meta key when
  2. > running lemacs on our DEC stations. It does work as the meta key when
  3. > running emacs, however.
  4.  
  5. Lucid Emacs treats the compose key as a compose key; emacs 18 was not ICCCM
  6. compliant and does something randomly wrong, which in your case happened to
  7. be what you wanted.  If you want that key to be a meta key, you have to
  8. really make it be a meta key instead of a compose key.
  9.  
  10. xkeycaps (from export.lcs.mit.edu in contrib) makes this sort of nonsense
  11. easier.
  12.  
  13.      The following description is from the InterClient Communica-
  14.      tions Conventions Manual:
  15.  
  16.          X11 supports 8 modifier  bits,   of  which  3  are  pre-
  17.          assigned  to Shift, Lock and Control.  Each modifier bit
  18.          is controlled by the state of a set of keys,  and  these
  19.          sets  are  specified in a table accessed by GetModifier-
  20.          Mapping() and SetModifierMapping().
  21.  
  22.          A client needing to use one of the  pre-assigned  modif-
  23.          iers  should assume that the modifier table has been set
  24.          up correctly  to  control  these  modifiers.   The  Lock
  25.          modifier  should  be  interpreted  as Caps Lock or Shift
  26.          Lock according as the keycodes in  its  controlling  set
  27.          include XK_Caps_Lock or XK_Shift_Lock.
  28.  
  29.          Clients should determine the meaning of a  modifier  bit
  30.          from the keysyms being used to control it.
  31.  
  32.          A client needing to use an extra modifier,  for  example
  33.          Meta,  should:
  34.  
  35.            Scan the existing modifier mappings.  If  it  finds  a
  36.            modifier  that contains a keycode whose set of keysyms
  37.            includes XK_Meta_L or XK_Meta_R, it  should  use  that
  38.            modifier bit.
  39.  
  40.            If  there  is  no  existing  modifier  controlled   by
  41.            XK_Meta_L  or  XK_Meta_R,  it  should select an unused
  42.            modifier bit (one with an empty controlling set) and:
  43.  
  44.              If there is a keycode with XL_Meta_L in its  set  of
  45.              keysyms,  add that keycode to the set for the chosen
  46.              modifier, then
  47.  
  48.              if there is a keycode with XL_Meta_R in its  set  of
  49.              keysyms,  add that keycode to the set for the chosen
  50.              modifier, then
  51.  
  52.              if the controlling set  is  still  empty,   interact
  53.              with the user to select one or more keys to be Meta.
  54.  
  55.            If there are no unused modifier bits, ask the user  to
  56.            take corrective action.
  57.  
  58.      This means that the Mod1 modifier does not necessarily  mean
  59.      Meta,  although  some  applications  (such as twm and emacs)
  60.      assume that.  Any of the five unassigned modifier bits could
  61.      mean  Meta; what matters is that a modifier bit is generated
  62.      by a keycode which is bound to the keysym Meta_L or Meta-R.
  63.  
  64.      Therefore, if you want to make a ``meta'' key, the best  way
  65.      is  to  make  the  keycode  in question generate both a Meta
  66.      keysym, and a modifier bit.
  67.  
  68.