1 1.1 mrg The core protocol interpretation of keyboard modifiers does not include direct 2 1.1 mrg support for multiple keyboard groups, so XKB reports the effective keyboard 3 1.1.1.2 mrg group to XKB-aware clients using some of the reserved bits in the state field 4 1.1.1.2 mrg of some core protocol events. This modified state field would not be interpreted 5 1.1 mrg correctly by XKB-unaware clients, so XKB provides a group compatibility mapping 6 1.1 mrg which remaps the keyboard group into a core modifier mask that has similar 7 1.1 mrg effects, when possible. 8 1.1 mrg 9 1.1 mrg XKB maintains three compatibility state components that are used to make 10 1.1 mrg XKB-unaware clients(*) work as well as possible: 11 1.1 mrg - The compatibility state which corresponds to the effective modifier and 12 1.1 mrg effective group state. 13 1.1 mrg - The compatibility lookup state which is the core-protocol equivalent of the 14 1.1 mrg lookup state. 15 1.1 mrg - The compatibility grab state which is the nearest core-protocol equivalent 16 1.1 mrg of the grab state. 17 1.1 mrg 18 1.1.1.2 mrg Compatibility states are essentially the corresponding XKB states, but with 19 1.1.1.2 mrg the keyboard group possibly encoded as one or more modifiers. 20 1.1 mrg 21 1.1 mrg Modifiers that correspond to each keyboard group are described in this 22 1.1 mrg group compatibility map. 23 1.1 mrg 24 1.1 mrg 25 1.1 mrg ---- 26 1.1 mrg (*) The implementation of XKB invisibly extends the X library to use the 27 1.1 mrg keyboard extension if it is present. That means, clients that use library or 28 1.1.1.2 mrg toolkit routines to interpret keyboard events automatically use all of XKB's 29 1.1.1.2 mrg features; clients that directly interpret the state field of core-protocol 30 1.1.1.2 mrg events or the keymap directly may be affected by some of the XKB differences. 31 1.1 mrg Thus most clients can take all advantages without modification but it also 32 1.1 mrg means that XKB state can be reported to clients that have not explicitly 33 1.1 mrg requested the keyboard extension. 34