Edit

IABSD.fr/xenocara/data/xkbdata/compat/README

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2006-11-25 16:30:37
    Hash : 667b1b98
    Message : import from X.Org 7.0

  • data/xkbdata/compat/README
  • The core protocol interpretation of keyboard modifiers does not include direct
    support for multiple keyboard groups, so XKB reports the effective keyboard
    group to XKB-aware clients using some of reserved bits in the state field of
    some core protocol events. This modified state field would not be interpreted
    correctly by XKB-unaware clients, so XKB provides a group compatibility mapping
    which remaps the keyboard group into a core modifier mask that has similar
    effects, when possible.
    
    XKB maintains three compatibility state components that are used to make
    XKB-unaware clients(*) work as well as possible:
    - The compatibility state which corresponds to the effective modifier and
      effective group state.
    - The compatibility lookup state which is the core-protocol equivalent of the
      lookup state.
    - The compatibility grab state which is the nearest core-protocol equivalent
      of the grab state.
    
    Compatibility state are essentially the corresponding XKB states, but with
    keyboard group possibly encoded as one or more modifiers. 
    
    Modifiers that correspond to each keyboard group are described in this
    group compatibility map.
    
    
    ----
    (*) The implementation of XKB invisibly extends the X library to use the
    keyboard extension if it is present. That means, clients that use library or
    toolkit routines to interpret keyboard events automatically use all of XKB
    features; clients that directly interpret the state field of core protocol
    events or the keymap direcly may be affected by some of the XKB differences.
    Thus most clients can take all advantages without modification but it also
    means that XKB state can be reported to clients that have not explicitly
    requested the keyboard extension.
    
    
    
    /* $XFree86$ */