diff --git a/specs/XKB/ch01.xml b/specs/XKB/ch01.xml index 17868a86..0f71a2eb 100644 --- a/specs/XKB/ch01.xml +++ b/specs/XKB/ch01.xml @@ -359,6 +359,7 @@ directly manipulate the new capabilities. Error Indications +errors Xkb functions that communicate with the X server check to be sure the Xkb diff --git a/specs/XKB/ch02.xml b/specs/XKB/ch02.xml index fffb3e8d..a5790022 100644 --- a/specs/XKB/ch02.xml +++ b/specs/XKB/ch02.xml @@ -53,6 +53,7 @@ keyboard geometry descriptions. Extension Name +XkbName The name of the Xkb extension is given in <X11/extensions/Xkb.h>: @@ -193,6 +194,10 @@ calls to Xkb library functions made prior to initializing the Xkb extension cause BadAccess protocol errors. +errors +BadAccess + +BadAccess @@ -562,6 +567,9 @@ use Xkb on a connection for which it is disabled. Protocol Errors + +errors + Many of the Xkb extension library functions described in this document can cause the X server to report an error, referred to in this document as a @@ -662,7 +670,11 @@ Device, Feedback Class, or Feedback ID invalid - + +errors +BadKeyboard + +BadKeyboard The Xkb extension adds a single protocol error, BadKeyboard, to the core protocol error set. This error code will be reported as the @@ -783,7 +795,8 @@ involve both a server connection (Display * structure passed as an argument. - + +XkbUseCoreKbd The device identifier can specify any X input extension device with a KeyClass component, or it can specify the constant, diff --git a/specs/XKB/ch04.xml b/specs/XKB/ch04.xml index fb4ab495..91f1cc80 100644 --- a/specs/XKB/ch04.xml +++ b/specs/XKB/ch04.xml @@ -3,6 +3,7 @@ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> Xkb Events +events The primary way the X server communicates with clients is by sending X events @@ -159,7 +160,11 @@ event. Xkb Event Data Structures - + + +eventsXkbAnyEvent + +XkbAnyEvent Xkb reports each event it generates in a unique structure holding the data values needed to describe the conditions the event is reporting. However, all Xkb events have certain things in common. These common features are contained @@ -222,6 +227,10 @@ chapters where the events are described. Selecting Xkb Events + +eventsmask + +maskevent Xkb events are selected using an event mask, much the same as normal core X @@ -666,6 +675,10 @@ in section 4.3. Unified Xkb Event Type + +eventsXkbEvent + +XkbEvent The diff --git a/specs/XKB/ch05.xml b/specs/XKB/ch05.xml index afb8ae21..94c318d0 100644 --- a/specs/XKB/ch05.xml +++ b/specs/XKB/ch05.xml @@ -76,6 +76,8 @@ The Xkb extension provides support for keysym groups groupkeysym + +groupISO9995 as defined by ISO9995: @@ -346,6 +348,13 @@ The X11 protocol interpretation of modifiers does not include direct support for Changing Modifiers + +real modifiers + +modifiersreal + +maskreal modifiers + The functions in this section that change the use of modifiers use a mask in the parameter affect. @@ -556,6 +565,11 @@ To latch and unlatch any of the eight real keyboard modifiers, use Changing Groups + +keysym groups + +groupkeysym + Reference the keysym group indices with these symbolic constants: @@ -721,6 +735,9 @@ To latch the keysym group, use Determining Keyboard State + +XkbStateRec + Xkb keyboard state may be represented in an XkbStateRec @@ -819,6 +836,11 @@ All group values are expressed as group indices in the range [0..3]. Modifiers a Tracking Keyboard State + +eventsXkbStateNotify + +XkbStateNotifyEvent + The Xkb extension reports XkbStateNotify diff --git a/specs/XKB/ch06.xml b/specs/XKB/ch06.xml index 67499e5a..48afc4c6 100644 --- a/specs/XKB/ch06.xml +++ b/specs/XKB/ch06.xml @@ -14,6 +14,9 @@ document that discuss the major Xkb components in detail. The XkbDescRec Structure + +XkbDescRec + The complete description of an Xkb keyboard is given by an XkbDescRec. diff --git a/specs/XKB/ch07.xml b/specs/XKB/ch07.xml index 238c5494..b69ce854 100644 --- a/specs/XKB/ch07.xml +++ b/specs/XKB/ch07.xml @@ -113,6 +113,9 @@ These functions are discussed in . Modifier Definitions + +XkbModsRec + An Xkb modifier definition @@ -374,6 +377,9 @@ virtual modifiers are bound. Conventions + +modifiersnames + The Xkb extension does not require any specific virtual modifier names. However, everyone benefits if the same names are used for common modifiers. The diff --git a/specs/XKB/ch08.xml b/specs/XKB/ch08.xml index a83b251b..a65d366a 100644 --- a/specs/XKB/ch08.xml +++ b/specs/XKB/ch08.xml @@ -4,6 +4,9 @@ Indicators + +indicators + Although the core X implementation supports up to 32 LEDs on an input device, it does not provide any linkage between the state of the LEDs and the logical @@ -82,6 +85,9 @@ to inquire about and control most indicator properties and behaviors. XkbIndicatorRec + +XkbIndicatorRec + The description for all the Xkb indicators is held in the indicators @@ -134,6 +140,9 @@ or if a new keyboard is attached and the X implementation notices, XkbIndicatorMapRec + +XkbIndicatorMapRec + Each indicator has its own set of attributes that specify whether clients can explicitly set its state and whether it tracks the keyboard state. The @@ -1589,9 +1598,12 @@ and - + The XkbIndicatorChangesRec Structure + +XkbIndicatorChangesRec + The XkbIndicatorChangesRec @@ -1719,6 +1731,16 @@ If any bits are set in the Tracking Changes to Indicator State or Map + +eventsXkbIndicatorStateNotify + +XkbIndicatorStateNotifyEvent + + +eventsXkbIndicatorMapNotify + +XkbIndicatorMapNotifyEvent + Whenever an indicator changes state, the server sends XkbIndicatorStateNotify diff --git a/specs/XKB/ch09.xml b/specs/XKB/ch09.xml index b66357a9..dad70f24 100644 --- a/specs/XKB/ch09.xml +++ b/specs/XKB/ch09.xml @@ -3,6 +3,7 @@ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> Bells +bell The core X protocol allows only applications to explicitly sound the system diff --git a/specs/XKB/ch10.xml b/specs/XKB/ch10.xml index ffaf24c0..d99c788a 100644 --- a/specs/XKB/ch10.xml +++ b/specs/XKB/ch10.xml @@ -4,6 +4,13 @@ Keyboard Controls + +controls + +server controls + +controlsserver + The Xkb extension is composed of two parts: a server extension, and a client-side X library extension. This chapter discusses functions used to @@ -637,6 +644,9 @@ sound is forced. See section 9.2. Controls for Repeat Key Behavior + +auto-repeatcontrols + The repeating behavior of keyboard keys is governed by three controls, the PerKeyRepeat @@ -2022,6 +2032,11 @@ When any of the above feedbacks occur, Xkb may generate a AccessXNotify Events + +eventsXkbAccessXNotify + +XkbAccessXNotifyEvent + The server can generate XkbAccessXNotify @@ -3430,6 +3445,9 @@ See section 7.1 for a di The XkbControlsRec Structure + +XkbControlsRec + Many of the individual controls described in sections 10.1 through 10.7 may be manipulated via convenience functions discussed in those sections. Some of @@ -4590,6 +4608,9 @@ also provided for this purpose The XkbControlsChangesRec Structure + +XkbControlsChangesRec + The XkbControlsChangesRec @@ -4711,6 +4732,11 @@ to the server specified by Tracking Changes to Keyboard Controls + +eventsXkbControlsNotify + +XkbControlsNotifyEvent + Whenever a field in the controls structure changes in the server’s keyboard description, the server sends an diff --git a/specs/XKB/ch11.xml b/specs/XKB/ch11.xml index c10ee45e..d1881be7 100644 --- a/specs/XKB/ch11.xml +++ b/specs/XKB/ch11.xml @@ -44,6 +44,8 @@ Controls affecting event delivery There are two types of string lookups performed by XLookupString. + +XLookupString The first type involves translating a single keycode into a string; the controls in the first category affect this type of lookup. The second type involves translating a series of keysyms into a string; the controls in the @@ -332,6 +334,11 @@ name is “ComposeFail”. IgnoreNewKeyboards + +eventsNewKeyboardNotify + +eventsMappingNotify + When Xkb is initialized, it implicitly forces requests for NewKeyboardNotify diff --git a/specs/XKB/ch12.xml b/specs/XKB/ch12.xml index 0e04779c..e75a0c97 100644 --- a/specs/XKB/ch12.xml +++ b/specs/XKB/ch12.xml @@ -44,6 +44,9 @@ by the core protocol. Effects of Xkb on MappingNotify Events + +eventsMappingNotify + When Xkb is missing or disabled, the X library tracks changes to the keyboard mapping using @@ -140,9 +143,10 @@ clients. - + The XKeycodeToKeysym +XKeycodeToKeysym function reports the keysym associated with a particular index for a single key. The index specifies a column of symbols in the core keyboard mapping (that is, as reported by the core protocol @@ -153,9 +157,10 @@ the differences. - + The XKeysymToKeycode +XKeysymToKeycode function reports a keycode to which a particular keysym is bound. When Xkb is missing or disabled, this function looks in each column of the core keyboard mapping in turn and returns the lowest numbered key that matches in the lowest @@ -164,18 +169,20 @@ symbols instead. - + The XLookupKeysym +XLookupKeysym function reports the symbol in a specific column of the key associated with an event. Whether or not Xkb is present, the column specifies an index into the core symbol mapping. - + The XLookupString +XLookupString function reports the symbol and string associated with a key event, taking into account the keycode and keyboard state as reported in the event. When Xkb is disabled or missing, @@ -194,9 +201,10 @@ determine matching bindings. - + The XRefreshKeyboardMapping +XRefreshKeyboardMapping function updates the X library’s internal representation of the keyboard to reflect changes reported via MappingNotify @@ -211,9 +219,10 @@ changed. If the implicit support has not noted any keyboard mapping changes, - + The XRebindKeysym +XRebindKeysym function associates a string with a keysym and a set of modifiers. Xkb does not directly change this function, but it does affect the way that the state reported in the event is compared to the state specified to diff --git a/specs/XKB/ch13.xml b/specs/XKB/ch13.xml index ec05ad4b..6cd66531 100644 --- a/specs/XKB/ch13.xml +++ b/specs/XKB/ch13.xml @@ -54,7 +54,9 @@ Objects should be drawn in order from highest priority (0) to lowest (255). - + + +XkbGeometryRec The keyboard geometry’s top-level description is stored in a XkbGeometryRec structure. This structure contains three types of information: diff --git a/specs/XKB/ch14.xml b/specs/XKB/ch14.xml index b87ef56b..a92ae225 100644 --- a/specs/XKB/ch14.xml +++ b/specs/XKB/ch14.xml @@ -43,6 +43,11 @@ For detailed information on particular components of the keyboard map, refer to Notation and Terminology + +level + +shift level + The graphic characters or control functions that may be accessed by one key are logically arranged in groups and levels, where @@ -712,6 +717,8 @@ helper functions and provides a pointer to where they are defined. The XkbMapChangesRec Structure + +XkbMapChangesRec Use the @@ -982,6 +989,11 @@ and Tracking Changes to Map Components + +eventsXkbMapNotify + +XkbMapNotifyEvent + The Xkb extension reports XkbMapNotify diff --git a/specs/XKB/ch15.xml b/specs/XKB/ch15.xml index ed4fd5ab..2c153e26 100644 --- a/specs/XKB/ch15.xml +++ b/specs/XKB/ch15.xml @@ -4,6 +4,11 @@ Xkb Client Keyboard Mapping + +client map + +mapclient + The Xkb client map for a keyboard is the collection of information a client needs to interpret key events from the keyboard. It contains a global list of @@ -32,6 +37,8 @@ Xkb Client Map The XkbClientMapRec Structure + +XkbClientMapRec The @@ -63,6 +70,10 @@ The following sections describe each of the elements of the Key Types + +XkbKeyTypeRec + +XkbKTMapEntryRec Key types are used to determine the shift level of a key given the current @@ -1191,6 +1202,8 @@ Otherwise, Key Symbol Map + +XkbSymMapRec The entire list of key symbols for the keyboard mapping is held in the diff --git a/specs/XKB/ch16.xml b/specs/XKB/ch16.xml index d9bc8c90..75ca23b9 100644 --- a/specs/XKB/ch16.xml +++ b/specs/XKB/ch16.xml @@ -4,6 +4,11 @@ Xkb Server Keyboard Mapping + +server map + +mapserver + The server @@ -30,7 +35,9 @@ to the Xkb server map. Server Map Relationships --> - + + +XkbServerMapRec The Xkb server map contains the information the server needs to interpret key events and is of type XkbServerMapRec: @@ -433,6 +440,8 @@ corresponding to The XkbAction Structure + +XkbAction The description for an action is held in an @@ -470,6 +479,8 @@ structures for each action in detail. The XkbAnyAction Structure + +XkbAnyAction The @@ -619,6 +630,8 @@ have an associated data structure. Actions for Changing Modifiers’ State + +XkbModAction Actions associated with the @@ -999,6 +1012,8 @@ type XkbAction, these macros may be used only with Actions of type Actions for Changing Group State + +XkbGroupAction Actions associated with the @@ -1294,6 +1309,8 @@ type XkbAction, these macros may only be used with Actions of type Actions for Moving the Pointer + +XkbPtrAction Actions associated with the @@ -1586,6 +1603,8 @@ convert between a signed integer and two signed 16-bit values in Actions for Simulating Pointer Button Press and Release + +XkbPtrBtnAction Actions associated with the @@ -1805,6 +1824,8 @@ the server only locks the pointer button. Actions for Changing the Pointer Button Simulated + +XkbPtrDfltAction Actions associated with the @@ -2000,6 +2021,8 @@ values in Actions for Locking Modifiers and Group + +XkbISOAction Actions associated with the @@ -2443,6 +2466,8 @@ If Actions for Changing the Active Screen + +XkbSwitchScreenAction Actions associated with the @@ -2613,6 +2638,8 @@ signed character value for screen numbers in Actions for Changing Boolean Controls State + +XkbCtrlsAction Actions associated with the @@ -2876,6 +2903,8 @@ macros, to convert between the two formats: Actions for Generating Messages + +XkbMessageAction Actions associated with the @@ -2971,6 +3000,10 @@ The Detecting Key Action Messages + +eventsXkbActionMessage + +XkbActionMessageEvent To receive @@ -3105,6 +3138,8 @@ The Actions for Generating a Different Keycode + +XkbRedirectKeyAction Actions associated with the @@ -3370,6 +3405,8 @@ provides the following convenience macros: Actions for Generating DeviceButtonPress and DeviceButtonRelease + +XkbDeviceBtnAction Actions associated with @@ -3552,6 +3589,8 @@ the server only locks the button. Actions for Simulating Events from Device Valuators + +XkbDeviceValuatorAction A @@ -4014,6 +4053,8 @@ currently defined is: The XkbBehavior Structure + +XkbBehavior The diff --git a/specs/XKB/ch17.xml b/specs/XKB/ch17.xml index c59a233e..6f9fa548 100644 --- a/specs/XKB/ch17.xml +++ b/specs/XKB/ch17.xml @@ -130,6 +130,8 @@ subsequent transformations have a particular result. The XkbCompatMap Structure + +XkbCompatMapRec All configurable aspects of mapping Xkb state and configuration to and from @@ -413,6 +415,8 @@ using Symbol Interpretations — the XkbSymInterpretRec Structure + +XkbSymInterpretRec Symbol interpretations are used to guide the X server when it modifies the Xkb @@ -1512,6 +1516,10 @@ not much changes). Tracking Changes to the Compatibility Map + +eventsXkbCompatMapNotify + +XkbCompatMapNotifyEvent The server automatically generates diff --git a/specs/XKB/ch18.xml b/specs/XKB/ch18.xml index 7ea36cd9..55e63015 100644 --- a/specs/XKB/ch18.xml +++ b/specs/XKB/ch18.xml @@ -30,6 +30,12 @@ these symbolic names are grouped into the The XkbNamesRec Structure + +XkbKeyNameRec + +XkbKeyAliasRec + +XkbNamesRec The names component of the keyboard description is defined as follows: @@ -635,6 +641,8 @@ The specified types are illegal if The XkbNameChangesRec Structure + +XkbNameChangesRec The @@ -831,6 +839,10 @@ to the X server specified by Tracking Name Changes + +eventsXkbNamesNotify + +XkbNamesNotifyEvent Whenever a symbolic name changes in the server’s keyboard description, the diff --git a/specs/XKB/ch19.xml b/specs/XKB/ch19.xml index 8b622ac1..756c83a9 100644 --- a/specs/XKB/ch19.xml +++ b/specs/XKB/ch19.xml @@ -160,6 +160,10 @@ manner; all Xkb events report the full range of legal keycodes. No requested Xkb events are discarded, and no Xkb requests have their keycode range clamped. + +eventsXkbNewKeyboardNotify + +XkbNewKeyboardNotifyEvent The structure for the diff --git a/specs/XKB/ch20.xml b/specs/XKB/ch20.xml index d6400f18..1f5c8f15 100644 --- a/specs/XKB/ch20.xml +++ b/specs/XKB/ch20.xml @@ -287,7 +287,9 @@ because of the limit. - + + +XkbComponentNamesRec The component name patterns used to describe the request are passed to XkbListComponents using an @@ -311,7 +313,11 @@ typedef struct _XkbComponentNames { } XkbComponentNamesRec, *XkbComponentNamesPtr; - + + +XkbComponentListRec + +XkbComponentNameRec XkbListComponents returns a pointer to an XkbComponentListRec: diff --git a/specs/XKB/ch21.xml b/specs/XKB/ch21.xml index 79a51bc3..ce9c889f 100644 --- a/specs/XKB/ch21.xml +++ b/specs/XKB/ch21.xml @@ -156,6 +156,10 @@ silently if Xkb access to those devices is not supported by the X server. XkbDeviceInfoRec + +XkbDeviceInfoRec + +XkbDeviceLedInfoRec Information about X Input Extension devices is transferred between a client @@ -1694,6 +1698,10 @@ a BadKeyboard XkbExtensionDeviceNotify Event + +eventsXkbExtensionDeviceNotify + +XkbExtensionDeviceNotifyEvent The Xkb extension generates @@ -1791,6 +1799,10 @@ state or configuration. Tracking Changes to Extension Devices + +XkbDeviceChangesRec + +XkbDeviceLedChangesRec Changes to an Xkb extension device may be tracked by listening to