Index of /archives/NetBSD/NetBSD-release-10/xsrc/external/mit/xkeyboard-config/dist/compat

Icon  Name                                                                        Last modified      Size  Description
[PARENTDIR] Parent Directory - [DIR] CVS/ 2022-12-18 05:58 - [TXT] README 2014-03-17 17:32 1.7K [   ] accessx 2014-03-17 17:32 1.1K [TXT] basic 2022-10-17 16:37 1.0K [TXT] caps 2014-03-17 17:32 507 [   ] complete 2014-03-17 17:32 228 [TXT] iso9995 2022-10-17 16:37 1.5K [TXT] japan 2014-03-17 17:32 1.0K [TXT] ledcaps 2014-03-17 17:32 469 [   ] ledcompose 2020-02-23 20:13 305 [TXT] lednum 2014-03-17 17:32 466 [TXT] ledscroll 2014-03-17 17:32 486 [TXT] level5 2022-10-17 16:37 1.2K [TXT] misc 2022-10-17 16:37 2.4K [TXT] mousekeys 2022-10-17 16:37 4.5K [TXT] olpc 2022-10-17 16:37 1.0K [TXT] pc 2022-10-17 16:37 341 [TXT] pc98 2022-10-17 16:37 1.1K [TXT] xfree86 2014-03-17 17:32 1.8K [TXT] xtest 2022-10-17 16:37 1.4K
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 the 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 states are essentially the corresponding XKB states, but with
the 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's
features; clients that directly interpret the state field of core-protocol
events or the keymap directly 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.