/usr/share/doc/libx11-dev/XKB/xkblib.html.db is in libx11-doc 2:1.6.2-1ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 | <div element="book" href="xkblib.html#xkblib" number="" targetptr="xkblib"><ttl>The X Keyboard Extension:</ttl><xreftext>The X Keyboard Extension:</xreftext><div element="preface" href="xkblib.html#acknowledgement" number="" targetptr="acknowledgement"><ttl>Acknowledgement</ttl><xreftext>Acknowledgement</xreftext></div><div element="chapter" href="xkblib.html#Overview" number="1" targetptr="Overview"><ttl>Overview</ttl><xreftext>Chapter 1, <em xmlns="http://www.w3.org/1999/xhtml">Overview</em></xreftext><div element="sect1" href="xkblib.html#Core_X_Protocol_Support_for_Keyboards" number="" targetptr="Core_X_Protocol_Support_for_Keyboards"><ttl>Core X Protocol Support for Keyboards</ttl><xreftext>the section called “Core X Protocol Support for Keyboards”</xreftext></div><div element="sect1" href="xkblib.html#Xkb_Keyboard_Extension_Support_for_Keyboards" number="" targetptr="Xkb_Keyboard_Extension_Support_for_Keyboards"><ttl>Xkb Keyboard Extension Support for Keyboards</ttl><xreftext>the section called “Xkb Keyboard Extension Support for Keyboards”</xreftext></div><div element="sect1" href="xkblib.html#Xkb_Extension_Components" number="" targetptr="Xkb_Extension_Components"><ttl>Xkb Extension Components</ttl><xreftext>the section called “Xkb Extension Components”</xreftext><div element="sect2" href="xkblib.html#Groups_and_Shift_Levels" number="" targetptr="Groups_and_Shift_Levels"><ttl>Groups and Shift Levels</ttl><xreftext>the section called “Groups and Shift Levels”</xreftext></div><div element="sect2" href="xkblib.html#Radio_Groups" number="" targetptr="Radio_Groups"><ttl>Radio Groups</ttl><xreftext>the section called “Radio Groups”</xreftext></div></div><div element="sect1" href="xkblib.html#Client_Types" number="" targetptr="Client_Types"><ttl>Client Types</ttl><xreftext>the section called “Client Types”</xreftext></div><div element="sect1" href="xkblib.html#Compatibility_With_the_Core_Protocol" number="" targetptr="Compatibility_With_the_Core_Protocol"><ttl>Compatibility With the Core Protocol</ttl><xreftext>the section called “Compatibility With the Core Protocol”</xreftext></div><div element="sect1" href="xkblib.html#Additional_Protocol_Errors" number="" targetptr="Additional_Protocol_Errors"><ttl>Additional Protocol Errors</ttl><xreftext>the section called “Additional Protocol Errors”</xreftext></div><div element="sect1" href="xkblib.html#Extension_Library_Functions" number="" targetptr="Extension_Library_Functions"><ttl>Extension Library Functions</ttl><xreftext>the section called “Extension Library Functions”</xreftext><div element="sect2" href="xkblib.html#Error_Indications" number="" targetptr="Error_Indications"><ttl>Error Indications</ttl><xreftext>the section called “Error Indications”</xreftext><obj element="table" href="xkblib.html#idp29031276" number="1.1"><ttl>Function Error Returns Due to Extension Problems</ttl><xreftext>Table 1.1, “Function Error Returns Due to Extension Problems”</xreftext></obj></div></div></div><div element="chapter" href="xkblib.html#Initialization_and_General_Programming_Information" number="2" targetptr="Initialization_and_General_Programming_Information"><ttl>Initialization and General Programming Information</ttl><xreftext>Chapter 2, <em xmlns="http://www.w3.org/1999/xhtml">Initialization and General Programming Information</em></xreftext><div element="sect1" href="xkblib.html#Extension_Header_Files" number="" targetptr="Extension_Header_Files"><ttl>Extension Header Files</ttl><xreftext>the section called “Extension Header Files”</xreftext></div><div element="sect1" href="xkblib.html#Extension_Name" number="" targetptr="Extension_Name"><ttl>Extension Name</ttl><xreftext>the section called “Extension Name”</xreftext></div><div element="sect1" href="xkblib.html#Determining_Library_Compatibility" number="" targetptr="Determining_Library_Compatibility"><ttl>Determining Library Compatibility</ttl><xreftext>the section called “Determining Library Compatibility”</xreftext></div><div element="sect1" href="xkblib.html#Initializing_the_Keyboard_Extension" number="" targetptr="Initializing_the_Keyboard_Extension"><ttl>Initializing the Keyboard Extension</ttl><xreftext>the section called “Initializing the Keyboard Extension”</xreftext></div><div element="sect1" href="xkblib.html#Disabling_the_Keyboard_Extension" number="" targetptr="Disabling_the_Keyboard_Extension"><ttl>Disabling the Keyboard Extension</ttl><xreftext>the section called “Disabling the Keyboard Extension”</xreftext></div><div element="sect1" href="xkblib.html#Protocol_Errors" number="" targetptr="Protocol_Errors"><ttl>Protocol Errors</ttl><xreftext>the section called “Protocol Errors”</xreftext><obj element="table" href="xkblib.html#idp30625108" number="2.1"><ttl>Xkb Protocol Errors</ttl><xreftext>Table 2.1, “Xkb Protocol Errors”</xreftext></obj><obj element="table" href="xkblib.html#idp30638532" number="2.2"><ttl>BadKeyboard Protocol Error resource_id Values</ttl><xreftext>Table 2.2, “BadKeyboard Protocol Error resource_id Values”</xreftext></obj></div><div element="sect1" href="xkblib.html#Display_and_Device_Specifications_in_Function_Calls" number="" targetptr="Display_and_Device_Specifications_in_Function_Calls"><ttl>Display and Device Specifications in Function Calls</ttl><xreftext>the section called “Display and Device Specifications in Function Calls”</xreftext></div></div><div element="chapter" href="xkblib.html#Data_Structures" number="3" targetptr="Data_Structures"><ttl>Data Structures</ttl><xreftext>Chapter 3, <em xmlns="http://www.w3.org/1999/xhtml">Data Structures</em></xreftext><div element="sect1" href="xkblib.html#Allocating_Xkb_Data_Structures" number="" targetptr="Allocating_Xkb_Data_Structures"><ttl>Allocating Xkb Data Structures</ttl><xreftext>the section called “Allocating Xkb Data Structures”</xreftext></div><div element="sect1" href="xkblib.html#Adding_Data_and_Editing_Data_Structures" number="" targetptr="Adding_Data_and_Editing_Data_Structures"><ttl>Adding Data and Editing Data Structures</ttl><xreftext>the section called “Adding Data and Editing Data Structures”</xreftext></div><div element="sect1" href="xkblib.html#Making_Changes_to_the_Servers_Keyboard_Description" number="" targetptr="Making_Changes_to_the_Servers_Keyboard_Description"><ttl>Making Changes to the Server’s Keyboard Description</ttl><xreftext>the section called “Making Changes to the Server’s Keyboard Description”</xreftext></div><div element="sect1" href="xkblib.html#Tracking_Keyboard_Changes_in_the_Server" number="" targetptr="Tracking_Keyboard_Changes_in_the_Server"><ttl>Tracking Keyboard Changes in the Server</ttl><xreftext>the section called “Tracking Keyboard Changes in the Server”</xreftext></div><div element="sect1" href="xkblib.html#Freeing_Data_Structures" number="" targetptr="Freeing_Data_Structures"><ttl>Freeing Data Structures</ttl><xreftext>the section called “Freeing Data Structures”</xreftext></div></div><div element="chapter" href="xkblib.html#Xkb_Events" number="4" targetptr="Xkb_Events"><ttl>Xkb Events</ttl><xreftext>Chapter 4, <em xmlns="http://www.w3.org/1999/xhtml">Xkb Events</em></xreftext><div element="sect1" href="xkblib.html#Xkb_Event_Types" number="" targetptr="Xkb_Event_Types"><ttl>Xkb Event Types</ttl><xreftext>the section called “Xkb Event Types”</xreftext><obj element="table" href="xkblib.html#idp29076812" number="4.1"><ttl>Xkb Event Types</ttl><xreftext>Table 4.1, “Xkb Event Types”</xreftext></obj></div><div element="sect1" href="xkblib.html#Xkb_Event_Data_Structures" number="" targetptr="Xkb_Event_Data_Structures"><ttl>Xkb Event Data Structures</ttl><xreftext>the section called “Xkb Event Data Structures”</xreftext></div><div element="sect1" href="xkblib.html#Selecting_Xkb_Events" number="" targetptr="Selecting_Xkb_Events"><ttl>Selecting Xkb Events</ttl><xreftext>the section called “Selecting Xkb Events”</xreftext><div element="sect2" href="xkblib.html#Event_Masks" number="" targetptr="Event_Masks"><ttl>Event Masks</ttl><xreftext>the section called “Event Masks”</xreftext><obj element="table" href="xkblib.html#idp32367500" number="4.2"><ttl>XkbSelectEvents Mask Constants</ttl><xreftext>Table 4.2, “XkbSelectEvents Mask Constants”</xreftext></obj></div></div><div element="sect1" href="xkblib.html#Unified_Xkb_Event_Type" number="" targetptr="Unified_Xkb_Event_Type"><ttl>Unified Xkb Event Type</ttl><xreftext>the section called “Unified Xkb Event Type”</xreftext></div></div><div element="chapter" href="xkblib.html#Keyboard_State" number="5" targetptr="Keyboard_State"><ttl>Keyboard State</ttl><xreftext>Chapter 5, <em xmlns="http://www.w3.org/1999/xhtml">Keyboard State</em></xreftext><div element="sect1" href="xkblib.html#Keyboard_State_Description" number="" targetptr="Keyboard_State_Description"><ttl>Keyboard State Description</ttl><xreftext>the section called “Keyboard State Description”</xreftext></div><div element="sect1" href="xkblib.html#Changing_the_Keyboard_State" number="" targetptr="Changing_the_Keyboard_State"><ttl>Changing the Keyboard State</ttl><xreftext>the section called “Changing the Keyboard State”</xreftext><div element="sect2" href="xkblib.html#Changing_Modifiers" number="" targetptr="Changing_Modifiers"><ttl>Changing Modifiers</ttl><xreftext>the section called “Changing Modifiers”</xreftext><obj element="table" href="xkblib.html#idp32282988" number="5.1"><ttl>Real Modifier Masks</ttl><xreftext>Table 5.1, “Real Modifier Masks”</xreftext></obj></div><div element="sect2" href="xkblib.html#Changing_Groups" number="" targetptr="Changing_Groups"><ttl>Changing Groups</ttl><xreftext>the section called “Changing Groups”</xreftext><obj element="table" href="xkblib.html#idp32464348" number="5.2"><ttl>Symbolic Group Names</ttl><xreftext>Table 5.2, “Symbolic Group Names”</xreftext></obj></div></div><div element="sect1" href="xkblib.html#Determining_Keyboard_State" number="" targetptr="Determining_Keyboard_State"><ttl>Determining Keyboard State</ttl><xreftext>the section called “Determining Keyboard State”</xreftext></div><div element="sect1" href="xkblib.html#Tracking_Keyboard_State" number="" targetptr="Tracking_Keyboard_State"><ttl>Tracking Keyboard State</ttl><xreftext>the section called “Tracking Keyboard State”</xreftext><obj element="table" href="xkblib.html#idp32494012" number="5.3"><ttl>XkbStateNotify Event Detail Masks</ttl><xreftext>Table 5.3, “XkbStateNotify Event Detail Masks”</xreftext></obj></div></div><div element="chapter" href="xkblib.html#Complete_Keyboard_Description" number="6" targetptr="Complete_Keyboard_Description"><ttl>Complete Keyboard Description</ttl><xreftext>Chapter 6, <em xmlns="http://www.w3.org/1999/xhtml">Complete Keyboard Description</em></xreftext><div element="sect1" href="xkblib.html#The_XkbDescRec_Structure" number="" targetptr="The_XkbDescRec_Structure"><ttl>The XkbDescRec Structure</ttl><xreftext>the section called “The XkbDescRec Structure”</xreftext><obj element="table" href="xkblib.html#idp32445764" number="6.1"><ttl>XkbDescRec Component References</ttl><xreftext>Table 6.1, “XkbDescRec Component References”</xreftext></obj><obj element="table" href="xkblib.html#idp32430196" number="6.2"><ttl>Mask Bits for XkbDescRec</ttl><xreftext>Table 6.2, “Mask Bits for XkbDescRec”</xreftext></obj></div><div element="sect1" href="xkblib.html#Obtaining_a_Keyboard_Description_from_the_Server" number="" targetptr="Obtaining_a_Keyboard_Description_from_the_Server"><ttl>Obtaining a Keyboard Description from the Server</ttl><xreftext>the section called “Obtaining a Keyboard Description from the Server”</xreftext></div><div element="sect1" href="xkblib.html#Tracking_Changes_to_the_Keyboard_Description_in_the_Server" number="" targetptr="Tracking_Changes_to_the_Keyboard_Description_in_the_Server"><ttl>Tracking Changes to the Keyboard Description in the Server</ttl><xreftext>the section called “Tracking Changes to the Keyboard Description in the Server”</xreftext></div><div element="sect1" href="xkblib.html#Allocating_and_Freeing_a_Keyboard_Description" number="" targetptr="Allocating_and_Freeing_a_Keyboard_Description"><ttl>Allocating and Freeing a Keyboard Description</ttl><xreftext>the section called “Allocating and Freeing a Keyboard Description”</xreftext></div></div><div element="chapter" href="xkblib.html#Virtual_Modifiers" number="7" targetptr="Virtual_Modifiers"><ttl>Virtual Modifiers</ttl><xreftext>Chapter 7, <em xmlns="http://www.w3.org/1999/xhtml">Virtual Modifiers</em></xreftext><div element="sect1" href="xkblib.html#Virtual_Modifier_Names_and_Masks" number="" targetptr="Virtual_Modifier_Names_and_Masks"><ttl>Virtual Modifier Names and Masks</ttl><xreftext>the section called “Virtual Modifier Names and Masks”</xreftext></div><div element="sect1" href="xkblib.html#Modifier_Definitions" number="" targetptr="Modifier_Definitions"><ttl>Modifier Definitions</ttl><xreftext>the section called “Modifier Definitions”</xreftext></div><div element="sect1" href="xkblib.html#Binding_Virtual_Modifiers_to_Real_Modifiers" number="" targetptr="Binding_Virtual_Modifiers_to_Real_Modifiers"><ttl>Binding Virtual Modifiers to Real Modifiers</ttl><xreftext>the section called “Binding Virtual Modifiers to Real Modifiers”</xreftext></div><div element="sect1" href="xkblib.html#Virtual_Modifier_Key_Mapping" number="" targetptr="Virtual_Modifier_Key_Mapping"><ttl>Virtual Modifier Key Mapping</ttl><xreftext>the section called “Virtual Modifier Key Mapping”</xreftext><div element="sect2" href="xkblib.html#Inactive_Modifier_Sets" number="" targetptr="Inactive_Modifier_Sets"><ttl>Inactive Modifier Sets</ttl><xreftext>the section called “Inactive Modifier Sets”</xreftext></div></div><div element="sect1" href="xkblib.html#Conventions" number="" targetptr="Conventions"><ttl>Conventions</ttl><xreftext>the section called “Conventions”</xreftext></div><div element="sect1" href="xkblib.html#Example" number="" targetptr="Example"><ttl>Example</ttl><xreftext>the section called “Example”</xreftext></div></div><div element="chapter" href="xkblib.html#Indicators" number="8" targetptr="Indicators"><ttl>Indicators</ttl><xreftext>Chapter 8, <em xmlns="http://www.w3.org/1999/xhtml">Indicators</em></xreftext><div element="sect1" href="xkblib.html#Indicator_Names" number="" targetptr="Indicator_Names"><ttl>Indicator Names</ttl><xreftext>the section called “Indicator Names”</xreftext></div><div element="sect1" href="xkblib.html#Indicator_Data_Structures" number="" targetptr="Indicator_Data_Structures"><ttl>Indicator Data Structures</ttl><xreftext>the section called “Indicator Data Structures”</xreftext><div element="sect2" href="xkblib.html#XkbIndicatorRec" number="" targetptr="XkbIndicatorRec"><ttl>XkbIndicatorRec</ttl><xreftext>the section called “XkbIndicatorRec”</xreftext></div><div element="sect2" href="xkblib.html#XkbIndicatorMapRec" number="" targetptr="XkbIndicatorMapRec"><ttl>XkbIndicatorMapRec</ttl><xreftext>the section called “XkbIndicatorMapRec”</xreftext><div element="sect3" href="xkblib.html#XkbIndicatorMapRec_flags_field" number="" targetptr="XkbIndicatorMapRec_flags_field"><ttl>XkbIndicatorMapRec flags field</ttl><xreftext>the section called “XkbIndicatorMapRec flags field”</xreftext><obj element="table" href="xkblib.html#idp32567412" number="8.1"><ttl>XkbIndicatorMapRec flags Field</ttl><xreftext>Table 8.1, “XkbIndicatorMapRec flags Field”</xreftext></obj></div><div element="sect3" href="xkblib.html#XkbIndicatorMapRec_which_groups_and_groups_fields" number="" targetptr="XkbIndicatorMapRec_which_groups_and_groups_fields"><ttl>XkbIndicatorMapRec which_groups and groups fields</ttl><xreftext>the section called “XkbIndicatorMapRec which_groups and groups fields”</xreftext><obj element="table" href="xkblib.html#idp32586020" number="8.2"><ttl>XkbIndicatorMapRec which_groups and groups, Keyboard Drives
Indicator</ttl><xreftext>Table 8.2, “XkbIndicatorMapRec which_groups and groups, Keyboard Drives
Indicator”</xreftext></obj><obj element="table" href="xkblib.html#idp32778996" number="8.3"><ttl>XkbIndicatorMapRec which_groups and groups, Indicator Drives
Keyboard</ttl><xreftext>Table 8.3, “XkbIndicatorMapRec which_groups and groups, Indicator Drives
Keyboard”</xreftext></obj></div><div element="sect3" href="xkblib.html#XkbIndicatorMapRec_which_mods_and_mods_fields" number="" targetptr="XkbIndicatorMapRec_which_mods_and_mods_fields"><ttl>XkbIndicatorMapRec which_mods and mods fields</ttl><xreftext>the section called “XkbIndicatorMapRec which_mods and mods fields”</xreftext><obj element="table" href="xkblib.html#idp32798548" number="8.4"><ttl>XkbIndicatorMapRec which_mods and mods, Keyboard Drives Indicator</ttl><xreftext>Table 8.4, “XkbIndicatorMapRec which_mods and mods, Keyboard Drives Indicator”</xreftext></obj><obj element="table" href="xkblib.html#idp32811300" number="8.5"><ttl>XkbIndicatorMapRec which_mods and mods, Indicator Drives Keyboard</ttl><xreftext>Table 8.5, “XkbIndicatorMapRec which_mods and mods, Indicator Drives Keyboard”</xreftext></obj></div><div element="sect3" href="xkblib.html#XkbIndicatorMapRec_ctrls_field" number="" targetptr="XkbIndicatorMapRec_ctrls_field"><ttl>XkbIndicatorMapRec ctrls field</ttl><xreftext>the section called “XkbIndicatorMapRec ctrls field”</xreftext></div></div></div><div element="sect1" href="xkblib.html#Getting_Information_About_Indicators" number="" targetptr="Getting_Information_About_Indicators"><ttl>Getting Information About Indicators</ttl><xreftext>the section called “Getting Information About Indicators”</xreftext><div element="sect2" href="xkblib.html#Getting_Indicator_State" number="" targetptr="Getting_Indicator_State"><ttl>Getting Indicator State</ttl><xreftext>the section called “Getting Indicator State”</xreftext></div><div element="sect2" href="xkblib.html#Getting_Indicator_Information_by_Index" number="" targetptr="Getting_Indicator_Information_by_Index"><ttl>Getting Indicator Information by Index</ttl><xreftext>the section called “Getting Indicator Information by Index”</xreftext></div><div element="sect2" href="xkblib.html#Getting_Indicator_Information_by_Name" number="" targetptr="Getting_Indicator_Information_by_Name"><ttl>Getting Indicator Information by Name</ttl><xreftext>the section called “Getting Indicator Information by Name”</xreftext></div></div><div element="sect1" href="xkblib.html#Changing_Indicator_Maps_and_State" number="" targetptr="Changing_Indicator_Maps_and_State"><ttl>Changing Indicator Maps and State</ttl><xreftext>the section called “Changing Indicator Maps and State”</xreftext><div element="sect2" href="xkblib.html#Effects_of_Explicit_Changes_on_Indicators" number="" targetptr="Effects_of_Explicit_Changes_on_Indicators"><ttl>Effects of Explicit Changes on Indicators</ttl><xreftext>the section called “Effects of Explicit Changes on Indicators”</xreftext></div><div element="sect2" href="xkblib.html#Changing_Indicator_Maps_by_Index" number="" targetptr="Changing_Indicator_Maps_by_Index"><ttl>Changing Indicator Maps by Index</ttl><xreftext>the section called “Changing Indicator Maps by Index”</xreftext></div><div element="sect2" href="xkblib.html#Changing_Indicator_Maps_by_Name" number="" targetptr="Changing_Indicator_Maps_by_Name"><ttl>Changing Indicator Maps by Name</ttl><xreftext>the section called “Changing Indicator Maps by Name”</xreftext></div><div element="sect2" href="xkblib.html#The_XkbIndicatorChangesRec_Structure" number="" targetptr="The_XkbIndicatorChangesRec_Structure"><ttl>The XkbIndicatorChangesRec Structure</ttl><xreftext>the section called “The XkbIndicatorChangesRec Structure”</xreftext></div></div><div element="sect1" href="xkblib.html#Tracking_Changes_to_Indicator_State_or_Map" number="" targetptr="Tracking_Changes_to_Indicator_State_or_Map"><ttl>Tracking Changes to Indicator State or Map</ttl><xreftext>the section called “Tracking Changes to Indicator State or Map”</xreftext></div><div element="sect1" href="xkblib.html#Allocating_and_Freeing_Indicator_Maps" number="" targetptr="Allocating_and_Freeing_Indicator_Maps"><ttl>Allocating and Freeing Indicator Maps</ttl><xreftext>the section called “Allocating and Freeing Indicator Maps”</xreftext></div></div><div element="chapter" href="xkblib.html#Bells" number="9" targetptr="Bells"><ttl>Bells</ttl><xreftext>Chapter 9, <em xmlns="http://www.w3.org/1999/xhtml">Bells</em></xreftext><div element="sect1" href="xkblib.html#Bell_Names" number="" targetptr="Bell_Names"><ttl>Bell Names</ttl><xreftext>the section called “Bell Names”</xreftext><obj element="table" href="xkblib.html#idp32598140" number="9.1"><ttl>Predefined Bells</ttl><xreftext>Table 9.1, “Predefined Bells”</xreftext></obj></div><div element="sect1" href="xkblib.html#Audible_Bells" number="" targetptr="Audible_Bells"><ttl>Audible Bells</ttl><xreftext>the section called “Audible Bells”</xreftext></div><div element="sect1" href="xkblib.html#Bell_Functions" number="" targetptr="Bell_Functions"><ttl>Bell Functions</ttl><xreftext>the section called “Bell Functions”</xreftext><obj element="table" href="xkblib.html#idp32619956" number="9.2"><ttl>Bell Sounding and Bell Event Generating</ttl><xreftext>Table 9.2, “Bell Sounding and Bell Event Generating”</xreftext></obj><div element="sect2" href="xkblib.html#Generating_Named_Bells" number="" targetptr="Generating_Named_Bells"><ttl>Generating Named Bells</ttl><xreftext>the section called “Generating Named Bells”</xreftext></div><div element="sect2" href="xkblib.html#Generating_Named_Bell_Events" number="" targetptr="Generating_Named_Bell_Events"><ttl>Generating Named Bell Events</ttl><xreftext>the section called “Generating Named Bell Events”</xreftext></div><div element="sect2" href="xkblib.html#Forcing_a_Server_Generated_Bell" number="" targetptr="Forcing_a_Server_Generated_Bell"><ttl>Forcing a Server-Generated Bell</ttl><xreftext>the section called “Forcing a Server-Generated Bell”</xreftext></div></div><div element="sect1" href="xkblib.html#Detecting_Bells" number="" targetptr="Detecting_Bells"><ttl>Detecting Bells</ttl><xreftext>the section called “Detecting Bells”</xreftext></div></div><div element="chapter" href="xkblib.html#Keyboard_Controls" number="10" targetptr="Keyboard_Controls"><ttl>Keyboard Controls</ttl><xreftext>Chapter 10, <em xmlns="http://www.w3.org/1999/xhtml">Keyboard Controls</em></xreftext><obj element="table" href="xkblib.html#idp32681836" number="10.1"><ttl>Xkb Keyboard Controls</ttl><xreftext>Table 10.1, “Xkb Keyboard Controls”</xreftext></obj><div element="sect1" href="xkblib.html#Controls_that_Enable_and_Disable_Other_Controls" number="" targetptr="Controls_that_Enable_and_Disable_Other_Controls"><ttl>Controls that Enable and Disable Other Controls</ttl><xreftext>the section called “Controls that Enable and Disable Other Controls”</xreftext><div element="sect2" href="xkblib.html#The_EnabledControls_Control" number="" targetptr="The_EnabledControls_Control"><ttl>The EnabledControls Control</ttl><xreftext>the section called “The EnabledControls Control”</xreftext></div><div element="sect2" href="xkblib.html#The_AutoReset_Control" number="" targetptr="The_AutoReset_Control"><ttl>The AutoReset Control</ttl><xreftext>the section called “The AutoReset Control”</xreftext></div></div><div element="sect1" href="xkblib.html#Control_for_Bell_Behavior" number="" targetptr="Control_for_Bell_Behavior"><ttl>Control for Bell Behavior</ttl><xreftext>the section called “Control for Bell Behavior”</xreftext><div element="sect2" href="xkblib.html#The_AudibleBell_Control" number="" targetptr="The_AudibleBell_Control"><ttl>The AudibleBell Control</ttl><xreftext>the section called “The AudibleBell Control”</xreftext></div></div><div element="sect1" href="xkblib.html#Controls_for_Repeat_Key_Behavior" number="" targetptr="Controls_for_Repeat_Key_Behavior"><ttl>Controls for Repeat Key Behavior</ttl><xreftext>the section called “Controls for Repeat Key Behavior”</xreftext><div element="sect2" href="xkblib.html#The_PerKeyRepeat_Control" number="" targetptr="The_PerKeyRepeat_Control"><ttl>The PerKeyRepeat Control</ttl><xreftext>the section called “The PerKeyRepeat Control”</xreftext></div><div element="sect2" href="xkblib.html#The_RepeatKeys_Control" number="" targetptr="The_RepeatKeys_Control"><ttl>The RepeatKeys Control</ttl><xreftext>the section called “The RepeatKeys Control”</xreftext></div><div element="sect2" href="xkblib.html#The_DetectableAutorepeat_Control" number="" targetptr="The_DetectableAutorepeat_Control"><ttl>The DetectableAutorepeat Control</ttl><xreftext>the section called “The DetectableAutorepeat Control”</xreftext></div></div><div element="sect1" href="xkblib.html#Controls_for_Keyboard_Overlays_Overlay1_and_Overlay2_Controls" number="" targetptr="Controls_for_Keyboard_Overlays_Overlay1_and_Overlay2_Controls"><ttl>Controls for Keyboard Overlays (Overlay1 and Overlay2 Controls)</ttl><xreftext>the section called “Controls for Keyboard Overlays (Overlay1 and Overlay2 Controls)”</xreftext></div><div element="sect1" href="xkblib.html#Controls_for_Using_the_Mouse_from_the_Keyboard" number="" targetptr="Controls_for_Using_the_Mouse_from_the_Keyboard"><ttl>Controls for Using the Mouse from the Keyboard</ttl><xreftext>the section called “Controls for Using the Mouse from the Keyboard”</xreftext><div element="sect2" href="xkblib.html#The_MouseKeys_Control" number="" targetptr="The_MouseKeys_Control"><ttl>The MouseKeys Control</ttl><xreftext>the section called “The MouseKeys Control”</xreftext></div><div element="sect2" href="xkblib.html#The_MouseKeysAccel_Control" number="" targetptr="The_MouseKeysAccel_Control"><ttl>The MouseKeysAccel Control</ttl><xreftext>the section called “The MouseKeysAccel Control”</xreftext><obj element="table" href="xkblib.html#idp33628036" number="10.2"><ttl>MouseKeysAccel Fields</ttl><xreftext>Table 10.2, “MouseKeysAccel Fields”</xreftext></obj><div element="sect3" href="xkblib.html#Absolute_Pointer_Motion" number="" targetptr="Absolute_Pointer_Motion"><ttl>Absolute Pointer Motion</ttl><xreftext>the section called “Absolute Pointer Motion”</xreftext></div><div element="sect3" href="xkblib.html#Relative_Pointer_Motion" number="" targetptr="Relative_Pointer_Motion"><ttl>Relative Pointer Motion</ttl><xreftext>the section called “Relative Pointer Motion”</xreftext></div></div></div><div element="sect1" href="xkblib.html#Controls_for_Better_Keyboard_Access_by_Physically_ImpairedPersons" number="" targetptr="Controls_for_Better_Keyboard_Access_by_Physically_ImpairedPersons"><ttl>Controls for Better Keyboard Access by Physically Impaired
Persons</ttl><xreftext>the section called “Controls for Better Keyboard Access by Physically Impaired
Persons”</xreftext><div element="sect2" href="xkblib.html#The_AccessXKeys_Control" number="" targetptr="The_AccessXKeys_Control"><ttl>The AccessXKeys Control</ttl><xreftext>the section called “The AccessXKeys Control”</xreftext></div><div element="sect2" href="xkblib.html#The_AccessXTimeout_Control" number="" targetptr="The_AccessXTimeout_Control"><ttl>The AccessXTimeout Control</ttl><xreftext>the section called “The AccessXTimeout Control”</xreftext></div><div element="sect2" href="xkblib.html#The_AccessXFeedback_Control" number="" targetptr="The_AccessXFeedback_Control"><ttl>The AccessXFeedback Control</ttl><xreftext>the section called “The AccessXFeedback Control”</xreftext><obj element="table" href="xkblib.html#idp33702052" number="10.3"><ttl>AccessXFeedback Masks</ttl><xreftext>Table 10.3, “AccessXFeedback Masks”</xreftext></obj></div><div element="sect2" href="xkblib.html#AccessXNotify_Events" number="" targetptr="AccessXNotify_Events"><ttl>AccessXNotify Events</ttl><xreftext>the section called “AccessXNotify Events”</xreftext><obj element="table" href="xkblib.html#idp33726228" number="10.4"><ttl>AccessXNotify Events</ttl><xreftext>Table 10.4, “AccessXNotify Events”</xreftext></obj><div element="sect3" href="xkblib.html#Selecting_for_AccessX_Events" number="" targetptr="Selecting_for_AccessX_Events"><ttl>Selecting for AccessX Events</ttl><xreftext>the section called “Selecting for AccessX Events”</xreftext><obj element="table" href="xkblib.html#idp33740988" number="10.5"><ttl>AccessXNotify Event Details</ttl><xreftext>Table 10.5, “AccessXNotify Event Details”</xreftext></obj></div></div><div element="sect2" href="xkblib.html#StickyKeys_RepeatKeys_and_MouseKeys_Events" number="" targetptr="StickyKeys_RepeatKeys_and_MouseKeys_Events"><ttl>StickyKeys, RepeatKeys, and MouseKeys Events</ttl><xreftext>the section called “StickyKeys, RepeatKeys, and MouseKeys Events”</xreftext></div><div element="sect2" href="xkblib.html#The_SlowKeys_Control" number="" targetptr="The_SlowKeys_Control"><ttl>The SlowKeys Control</ttl><xreftext>the section called “The SlowKeys Control”</xreftext></div><div element="sect2" href="xkblib.html#The_BounceKeys_Control" number="" targetptr="The_BounceKeys_Control"><ttl>The BounceKeys Control</ttl><xreftext>the section called “The BounceKeys Control”</xreftext></div><div element="sect2" href="xkblib.html#The_StickyKeys_Control" number="" targetptr="The_StickyKeys_Control"><ttl>The StickyKeys Control</ttl><xreftext>the section called “The StickyKeys Control”</xreftext><div element="sect3" href="xkblib.html#StickyKeys_Options" number="" targetptr="StickyKeys_Options"><ttl>StickyKeys Options</ttl><xreftext>the section called “StickyKeys Options”</xreftext></div></div></div><div element="sect1" href="xkblib.html#Controls_for_General_Keyboard_Mapping" number="" targetptr="Controls_for_General_Keyboard_Mapping"><ttl>Controls for General Keyboard Mapping</ttl><xreftext>the section called “Controls for General Keyboard Mapping”</xreftext><div element="sect2" href="xkblib.html#The_GroupsWrap_Control" number="" targetptr="The_GroupsWrap_Control"><ttl>The GroupsWrap Control</ttl><xreftext>the section called “The GroupsWrap Control”</xreftext></div><div element="sect2" href="xkblib.html#The_IgnoreLockMods_Control" number="" targetptr="The_IgnoreLockMods_Control"><ttl>The IgnoreLockMods Control</ttl><xreftext>the section called “The IgnoreLockMods Control”</xreftext></div><div element="sect2" href="xkblib.html#The_IgnoreGroupLock_Control" number="" targetptr="The_IgnoreGroupLock_Control"><ttl>The IgnoreGroupLock Control</ttl><xreftext>the section called “The IgnoreGroupLock Control”</xreftext></div><div element="sect2" href="xkblib.html#The_InternalMods_Control" number="" targetptr="The_InternalMods_Control"><ttl>The InternalMods Control</ttl><xreftext>the section called “The InternalMods Control”</xreftext></div></div><div element="sect1" href="xkblib.html#The_XkbControlsRec_Structure" number="" targetptr="The_XkbControlsRec_Structure"><ttl>The XkbControlsRec Structure</ttl><xreftext>the section called “The XkbControlsRec Structure”</xreftext><obj element="table" href="xkblib.html#idp33902132" number="10.6"><ttl>Xkb Controls</ttl><xreftext>Table 10.6, “Xkb Controls”</xreftext></obj><obj element="table" href="xkblib.html#idp33939220" number="10.7"><ttl>Controls Mask Bits</ttl><xreftext>Table 10.7, “Controls Mask Bits”</xreftext></obj><div element="sect2" href="xkblib.html#idp33967588" number=""><ttl/><xreftext>the section called “”</xreftext><div element="sect3" href="xkblib.html#mk_dflt_btn" number="" targetptr="mk_dflt_btn"><ttl>mk_dflt_btn</ttl><xreftext>the section called “mk_dflt_btn”</xreftext></div><div element="sect3" href="xkblib.html#num_groups" number="" targetptr="num_groups"><ttl>num_groups</ttl><xreftext>the section called “num_groups”</xreftext></div><div element="sect3" href="xkblib.html#groups_wrap" number="" targetptr="groups_wrap"><ttl>groups_wrap</ttl><xreftext>the section called “groups_wrap”</xreftext><obj element="table" href="xkblib.html#idp33973596" number="10.8"><ttl>GroupsWrap options (groups_wrap field)</ttl><xreftext>Table 10.8, “GroupsWrap options (groups_wrap field)”</xreftext></obj></div><div element="sect3" href="xkblib.html#internal" number="" targetptr="internal"><ttl>internal</ttl><xreftext>the section called “internal”</xreftext></div><div element="sect3" href="xkblib.html#ignore_lock" number="" targetptr="ignore_lock"><ttl>ignore_lock</ttl><xreftext>the section called “ignore_lock”</xreftext></div><div element="sect3" href="xkblib.html#enabled_ctrls" number="" targetptr="enabled_ctrls"><ttl>enabled_ctrls</ttl><xreftext>the section called “enabled_ctrls”</xreftext></div><div element="sect3" href="xkblib.html#repeat_delay_and_repeat_interval" number="" targetptr="repeat_delay_and_repeat_interval"><ttl>repeat_delay and repeat_interval</ttl><xreftext>the section called “repeat_delay and repeat_interval”</xreftext></div><div element="sect3" href="xkblib.html#slow_keys_delay" number="" targetptr="slow_keys_delay"><ttl>slow_keys_delay</ttl><xreftext>the section called “slow_keys_delay”</xreftext></div><div element="sect3" href="xkblib.html#debounce_delay" number="" targetptr="debounce_delay"><ttl>debounce_delay</ttl><xreftext>the section called “debounce_delay”</xreftext></div><div element="sect3" href="xkblib.html#mk_delay_mk_interval_mk_time_to_max_mk_max_speed_and_mk_curve" number="" targetptr="mk_delay_mk_interval_mk_time_to_max_mk_max_speed_and_mk_curve"><ttl>mk_delay, mk_interval, mk_time_to_max, mk_max_speed, and mk_curve</ttl><xreftext>the section called “mk_delay, mk_interval, mk_time_to_max, mk_max_speed, and mk_curve”</xreftext></div><div element="sect3" href="xkblib.html#ax_options" number="" targetptr="ax_options"><ttl>ax_options</ttl><xreftext>the section called “ax_options”</xreftext><obj element="table" href="xkblib.html#idp33998508" number="10.9"><ttl>Access X Enable/Disable Bits (ax_options field)</ttl><xreftext>Table 10.9, “Access X Enable/Disable Bits (ax_options field)”</xreftext></obj></div><div element="sect3" href="xkblib.html#ax_timeout_axt_opts_mask_axt_opts_values_axt_ctrls_mask_and_axt_ctrls_values" number="" targetptr="ax_timeout_axt_opts_mask_axt_opts_values_axt_ctrls_mask_and_axt_ctrls_values"><ttl>ax_timeout, axt_opts_mask, axt_opts_values, axt_ctrls_mask, and axt_ctrls_values</ttl><xreftext>the section called “ax_timeout, axt_opts_mask, axt_opts_values, axt_ctrls_mask, and axt_ctrls_values”</xreftext></div><div element="sect3" href="xkblib.html#per_key_repeat" number="" targetptr="per_key_repeat"><ttl>per_key_repeat</ttl><xreftext>the section called “per_key_repeat”</xreftext></div></div></div><div element="sect1" href="xkblib.html#Querying_Controls" number="" targetptr="Querying_Controls"><ttl>Querying Controls</ttl><xreftext>the section called “Querying Controls”</xreftext></div><div element="sect1" href="xkblib.html#Changing_Controls" number="" targetptr="Changing_Controls"><ttl>Changing Controls</ttl><xreftext>the section called “Changing Controls”</xreftext><div element="sect2" href="xkblib.html#The_XkbControlsChangesRec_Structure" number="" targetptr="The_XkbControlsChangesRec_Structure"><ttl>The XkbControlsChangesRec Structure</ttl><xreftext>the section called “The XkbControlsChangesRec Structure”</xreftext></div></div><div element="sect1" href="xkblib.html#Tracking_Changes_to_Keyboard_Controls" number="" targetptr="Tracking_Changes_to_Keyboard_Controls"><ttl>Tracking Changes to Keyboard Controls</ttl><xreftext>the section called “Tracking Changes to Keyboard Controls”</xreftext></div><div element="sect1" href="xkblib.html#Allocating_and_Freeing_an_XkbControlsRec" number="" targetptr="Allocating_and_Freeing_an_XkbControlsRec"><ttl>Allocating and Freeing an XkbControlsRec</ttl><xreftext>the section called “Allocating and Freeing an XkbControlsRec”</xreftext></div><div element="sect1" href="xkblib.html#The_Miscellaneous_Per_client_Controls" number="" targetptr="The_Miscellaneous_Per_client_Controls"><ttl>The Miscellaneous Per-client Controls</ttl><xreftext>the section called “The Miscellaneous Per-client Controls”</xreftext></div></div><div element="chapter" href="xkblib.html#X_Library_Controls" number="11" targetptr="X_Library_Controls"><ttl>X Library Controls</ttl><xreftext>Chapter 11, <em xmlns="http://www.w3.org/1999/xhtml">X Library Controls</em></xreftext><div element="sect1" href="xkblib.html#Controls_Affecting_Keycode_to_String_Translation" number="" targetptr="Controls_Affecting_Keycode_to_String_Translation"><ttl>Controls Affecting Keycode-to-String Translation</ttl><xreftext>the section called “Controls Affecting Keycode-to-String Translation”</xreftext><div element="sect2" href="xkblib.html#ForceLatin1Lookup" number="" targetptr="ForceLatin1Lookup"><ttl>ForceLatin1Lookup</ttl><xreftext>the section called “ForceLatin1Lookup”</xreftext></div><div element="sect2" href="xkblib.html#ConsumeLookupMods" number="" targetptr="ConsumeLookupMods"><ttl>ConsumeLookupMods</ttl><xreftext>the section called “ConsumeLookupMods”</xreftext></div><div element="sect2" href="xkblib.html#AlwaysConsumeShiftAndLock" number="" targetptr="AlwaysConsumeShiftAndLock"><ttl>AlwaysConsumeShiftAndLock</ttl><xreftext>the section called “AlwaysConsumeShiftAndLock”</xreftext></div></div><div element="sect1" href="xkblib.html#Controls_Affecting_Compose_Processing" number="" targetptr="Controls_Affecting_Compose_Processing"><ttl>Controls Affecting Compose Processing</ttl><xreftext>the section called “Controls Affecting Compose Processing”</xreftext><div element="sect2" href="xkblib.html#ConsumeKeysOnComposeFail" number="" targetptr="ConsumeKeysOnComposeFail"><ttl>ConsumeKeysOnComposeFail</ttl><xreftext>the section called “ConsumeKeysOnComposeFail”</xreftext></div><div element="sect2" href="xkblib.html#ComposeLED" number="" targetptr="ComposeLED"><ttl>ComposeLED</ttl><xreftext>the section called “ComposeLED”</xreftext></div><div element="sect2" href="xkblib.html#BeepOnComposeFail" number="" targetptr="BeepOnComposeFail"><ttl>BeepOnComposeFail</ttl><xreftext>the section called “BeepOnComposeFail”</xreftext></div></div><div element="sect1" href="xkblib.html#Controls_Effecting_Event_Delivery" number="" targetptr="Controls_Effecting_Event_Delivery"><ttl>Controls Effecting Event Delivery</ttl><xreftext>the section called “Controls Effecting Event Delivery”</xreftext><div element="sect2" href="xkblib.html#IgnoreNewKeyboards" number="" targetptr="IgnoreNewKeyboards"><ttl>IgnoreNewKeyboards</ttl><xreftext>the section called “IgnoreNewKeyboards”</xreftext></div></div><div element="sect1" href="xkblib.html#Manipulating_the_Library_Controls" number="" targetptr="Manipulating_the_Library_Controls"><ttl>Manipulating the Library Controls</ttl><xreftext>the section called “Manipulating the Library Controls”</xreftext><obj element="table" href="xkblib.html#idp33301996" number="11.1"><ttl>Library Control Masks</ttl><xreftext>Table 11.1, “Library Control Masks”</xreftext></obj><div element="sect2" href="xkblib.html#Determining_Which_Library_Controls_are_Implemented" number="" targetptr="Determining_Which_Library_Controls_are_Implemented"><ttl>Determining Which Library Controls are Implemented</ttl><xreftext>the section called “Determining Which Library Controls are Implemented”</xreftext></div><div element="sect2" href="xkblib.html#Determining_the_State_of_the_Library_Controls" number="" targetptr="Determining_the_State_of_the_Library_Controls"><ttl>Determining the State of the Library Controls</ttl><xreftext>the section called “Determining the State of the Library Controls”</xreftext></div><div element="sect2" href="xkblib.html#Changing_the_State_of_the_Library_Controls" number="" targetptr="Changing_the_State_of_the_Library_Controls"><ttl>Changing the State of the Library Controls</ttl><xreftext>the section called “Changing the State of the Library Controls”</xreftext></div></div></div><div element="chapter" href="xkblib.html#Interpreting_Key_Events" number="12" targetptr="Interpreting_Key_Events"><ttl>Interpreting Key Events</ttl><xreftext>Chapter 12, <em xmlns="http://www.w3.org/1999/xhtml">Interpreting Key Events</em></xreftext><div element="sect1" href="xkblib.html#Effects_of_Xkb_on_the_Core_X_Library" number="" targetptr="Effects_of_Xkb_on_the_Core_X_Library"><ttl>Effects of Xkb on the Core X Library</ttl><xreftext>the section called “Effects of Xkb on the Core X Library”</xreftext><div element="sect2" href="xkblib.html#Effects_of_Xkb_on_Event_State" number="" targetptr="Effects_of_Xkb_on_Event_State"><ttl>Effects of Xkb on Event State</ttl><xreftext>the section called “Effects of Xkb on Event State”</xreftext></div><div element="sect2" href="xkblib.html#Effects_of_Xkb_on_MappingNotify_Events" number="" targetptr="Effects_of_Xkb_on_MappingNotify_Events"><ttl>Effects of Xkb on MappingNotify Events</ttl><xreftext>the section called “Effects of Xkb on MappingNotify Events”</xreftext></div><div element="sect2" href="xkblib.html#X_Library_Functions_Affected_by_Xkb" number="" targetptr="X_Library_Functions_Affected_by_Xkb"><ttl>X Library Functions Affected by Xkb</ttl><xreftext>the section called “X Library Functions Affected by Xkb”</xreftext></div></div><div element="sect1" href="xkblib.html#Xkb_Event_and_Keymap_Functions" number="" targetptr="Xkb_Event_and_Keymap_Functions"><ttl>Xkb Event and Keymap Functions</ttl><xreftext>the section called “Xkb Event and Keymap Functions”</xreftext></div></div><div element="chapter" href="xkblib.html#Keyboard_Geometry" number="13" targetptr="Keyboard_Geometry"><ttl>Keyboard Geometry</ttl><xreftext>Chapter 13, <em xmlns="http://www.w3.org/1999/xhtml">Keyboard Geometry</em></xreftext><div element="sect1" href="xkblib.html#Shapes_and_Outlines" number="" targetptr="Shapes_and_Outlines"><ttl>Shapes and Outlines</ttl><xreftext>the section called “Shapes and Outlines”</xreftext></div><div element="sect1" href="xkblib.html#Sections" number="" targetptr="Sections"><ttl>Sections</ttl><xreftext>the section called “Sections”</xreftext></div><div element="sect1" href="xkblib.html#Rows_and_Keys" number="" targetptr="Rows_and_Keys"><ttl>Rows and Keys</ttl><xreftext>the section called “Rows and Keys”</xreftext></div><div element="sect1" href="xkblib.html#Doodads" number="" targetptr="Doodads"><ttl>Doodads</ttl><xreftext>the section called “Doodads”</xreftext><obj element="table" href="xkblib.html#idp34209372" number="13.1"><ttl>Doodad Types</ttl><xreftext>Table 13.1, “Doodad Types”</xreftext></obj></div><div element="sect1" href="xkblib.html#Overlay_Rows_and_Overlay_Keys" number="" targetptr="Overlay_Rows_and_Overlay_Keys"><ttl>Overlay Rows and Overlay Keys</ttl><xreftext>the section called “Overlay Rows and Overlay Keys”</xreftext></div><div element="sect1" href="xkblib.html#Drawing_a_Keyboard_Representation" number="" targetptr="Drawing_a_Keyboard_Representation"><ttl>Drawing a Keyboard Representation</ttl><xreftext>the section called “Drawing a Keyboard Representation”</xreftext></div><div element="sect1" href="xkblib.html#Geometry_Data_Structures" number="" targetptr="Geometry_Data_Structures"><ttl>Geometry Data Structures</ttl><xreftext>the section called “Geometry Data Structures”</xreftext><div element="sect2" href="xkblib.html#DoodadRec_Structures" number="" targetptr="DoodadRec_Structures"><ttl>DoodadRec Structures</ttl><xreftext>the section called “DoodadRec Structures”</xreftext></div></div><div element="sect1" href="xkblib.html#Getting_Keyboard_Geometry_From_the_Server" number="" targetptr="Getting_Keyboard_Geometry_From_the_Server"><ttl>Getting Keyboard Geometry From the Server</ttl><xreftext>the section called “Getting Keyboard Geometry From the Server”</xreftext></div><div element="sect1" href="xkblib.html#Using_Keyboard_Geometry" number="" targetptr="Using_Keyboard_Geometry"><ttl>Using Keyboard Geometry</ttl><xreftext>the section called “Using Keyboard Geometry”</xreftext></div><div element="sect1" href="xkblib.html#Adding_Elements_to_a_Keyboard_Geometry" number="" targetptr="Adding_Elements_to_a_Keyboard_Geometry"><ttl>Adding Elements to a Keyboard Geometry</ttl><xreftext>the section called “Adding Elements to a Keyboard Geometry”</xreftext></div><div element="sect1" href="xkblib.html#Allocating_and_Freeing_Geometry_Components" number="" targetptr="Allocating_and_Freeing_Geometry_Components"><ttl>Allocating and Freeing Geometry Components</ttl><xreftext>the section called “Allocating and Freeing Geometry Components”</xreftext></div></div><div element="chapter" href="xkblib.html#Xkb_Keyboard_Mapping" number="14" targetptr="Xkb_Keyboard_Mapping"><ttl>Xkb Keyboard Mapping</ttl><xreftext>Chapter 14, <em xmlns="http://www.w3.org/1999/xhtml">Xkb Keyboard Mapping</em></xreftext><div element="sect1" href="xkblib.html#Notation_and_Terminology" number="" targetptr="Notation_and_Terminology"><ttl>Notation and Terminology</ttl><xreftext>the section called “Notation and Terminology”</xreftext><div element="sect2" href="xkblib.html#Core_Implementation" number="" targetptr="Core_Implementation"><ttl>Core Implementation</ttl><xreftext>the section called “Core Implementation”</xreftext></div><div element="sect2" href="xkblib.html#Xkb_Implementation" number="" targetptr="Xkb_Implementation"><ttl>Xkb Implementation</ttl><xreftext>the section called “Xkb Implementation”</xreftext></div></div><div element="sect1" href="xkblib.html#Getting_Map_Components_from_the_Server" number="" targetptr="Getting_Map_Components_from_the_Server"><ttl>Getting Map Components from the Server</ttl><xreftext>the section called “Getting Map Components from the Server”</xreftext><obj element="table" href="xkblib.html#idp33397724" number="14.1"><ttl>Xkb Mapping Component Masks and Convenience Functions</ttl><xreftext>Table 14.1, “Xkb Mapping Component Masks and Convenience Functions”</xreftext></obj></div><div element="sect1" href="xkblib.html#Changing_Map_Components_in_the_Server" number="" targetptr="Changing_Map_Components_in_the_Server"><ttl>Changing Map Components in the Server</ttl><xreftext>the section called “Changing Map Components in the Server”</xreftext><div element="sect2" href="xkblib.html#The_XkbMapChangesRec_Structure" number="" targetptr="The_XkbMapChangesRec_Structure"><ttl>The XkbMapChangesRec Structure</ttl><xreftext>the section called “The XkbMapChangesRec Structure”</xreftext><obj element="table" href="xkblib.html#idp33457580" number="14.2"><ttl>XkbMapChangesRec Masks</ttl><xreftext>Table 14.2, “XkbMapChangesRec Masks”</xreftext></obj></div></div><div element="sect1" href="xkblib.html#Tracking_Changes_to_Map_Components" number="" targetptr="Tracking_Changes_to_Map_Components"><ttl>Tracking Changes to Map Components</ttl><xreftext>the section called “Tracking Changes to Map Components”</xreftext></div><div element="sect1" href="xkblib.html#Allocating_and_Freeing_Client_and_Server_Maps" number="" targetptr="Allocating_and_Freeing_Client_and_Server_Maps"><ttl>Allocating and Freeing Client and Server Maps</ttl><xreftext>the section called “Allocating and Freeing Client and Server Maps”</xreftext><div element="sect2" href="xkblib.html#Allocating_an_Empty_Client_Map" number="" targetptr="Allocating_an_Empty_Client_Map"><ttl>Allocating an Empty Client Map</ttl><xreftext>the section called “Allocating an Empty Client Map”</xreftext><obj element="table" href="xkblib.html#idp33016836" number="14.3"><ttl>XkbAllocClientMap Masks</ttl><xreftext>Table 14.3, “XkbAllocClientMap Masks”</xreftext></obj></div><div element="sect2" href="xkblib.html#Freeing_a_Client_Map" number="" targetptr="Freeing_a_Client_Map"><ttl>Freeing a Client Map</ttl><xreftext>the section called “Freeing a Client Map”</xreftext></div><div element="sect2" href="xkblib.html#Allocating_an_Empty_Server_Map" number="" targetptr="Allocating_an_Empty_Server_Map"><ttl>Allocating an Empty Server Map</ttl><xreftext>the section called “Allocating an Empty Server Map”</xreftext><obj element="table" href="xkblib.html#idp33052444" number="14.4"><ttl>XkbAllocServerMap Masks</ttl><xreftext>Table 14.4, “XkbAllocServerMap Masks”</xreftext></obj></div><div element="sect2" href="xkblib.html#Freeing_a_Server_Map" number="" targetptr="Freeing_a_Server_Map"><ttl>Freeing a Server Map</ttl><xreftext>the section called “Freeing a Server Map”</xreftext></div></div></div><div element="chapter" href="xkblib.html#Xkb_Client_Keyboard_Mapping" number="15" targetptr="Xkb_Client_Keyboard_Mapping"><ttl>Xkb Client Keyboard Mapping</ttl><xreftext>Chapter 15, <em xmlns="http://www.w3.org/1999/xhtml">Xkb Client Keyboard Mapping</em></xreftext><div element="sect1" href="xkblib.html#The_XkbClientMapRec_Structure" number="" targetptr="The_XkbClientMapRec_Structure"><ttl>The XkbClientMapRec Structure</ttl><xreftext>the section called “The XkbClientMapRec Structure”</xreftext></div><div element="sect1" href="xkblib.html#Key_Types" number="" targetptr="Key_Types"><ttl>Key Types</ttl><xreftext>the section called “Key Types”</xreftext><obj element="table" href="xkblib.html#idp33096044" number="15.1"><ttl>Example Key Type</ttl><xreftext>Table 15.1, “Example Key Type”</xreftext></obj><div element="sect2" href="xkblib.html#The_Canonical_Key_Types" number="" targetptr="The_Canonical_Key_Types"><ttl>The Canonical Key Types</ttl><xreftext>the section called “The Canonical Key Types”</xreftext><div element="sect3" href="xkblib.html#ONE_LEVEL" number="" targetptr="ONE_LEVEL"><ttl>ONE_LEVEL</ttl><xreftext>the section called “ONE_LEVEL”</xreftext></div><div element="sect3" href="xkblib.html#TWO_LEVEL" number="" targetptr="TWO_LEVEL"><ttl>TWO_LEVEL</ttl><xreftext>the section called “TWO_LEVEL”</xreftext></div><div element="sect3" href="xkblib.html#ALPHABETIC" number="" targetptr="ALPHABETIC"><ttl>ALPHABETIC</ttl><xreftext>the section called “ALPHABETIC”</xreftext></div><div element="sect3" href="xkblib.html#KEYPAD" number="" targetptr="KEYPAD"><ttl>KEYPAD</ttl><xreftext>the section called “KEYPAD”</xreftext></div><div element="sect3" href="xkblib.html#Initializing_the_Canonical_Key_Types_in_a_New_Client_Map" number="" targetptr="Initializing_the_Canonical_Key_Types_in_a_New_Client_Map"><ttl>Initializing the Canonical Key Types in a New Client Map</ttl><xreftext>the section called “Initializing the Canonical Key Types in a New Client Map”</xreftext></div></div><div element="sect2" href="xkblib.html#Getting_Key_Types_from_the_Server" number="" targetptr="Getting_Key_Types_from_the_Server"><ttl>Getting Key Types from the Server</ttl><xreftext>the section called “Getting Key Types from the Server”</xreftext></div><div element="sect2" href="xkblib.html#Changing_the_Number_of_Levels_in_a_Key_Type" number="" targetptr="Changing_the_Number_of_Levels_in_a_Key_Type"><ttl>Changing the Number of Levels in a Key Type</ttl><xreftext>the section called “Changing the Number of Levels in a Key Type”</xreftext></div><div element="sect2" href="xkblib.html#Copying_Key_Types" number="" targetptr="Copying_Key_Types"><ttl>Copying Key Types</ttl><xreftext>the section called “Copying Key Types”</xreftext></div></div><div element="sect1" href="xkblib.html#Key_Symbol_Map" number="" targetptr="Key_Symbol_Map"><ttl>Key Symbol Map</ttl><xreftext>the section called “Key Symbol Map”</xreftext><div element="sect2" href="xkblib.html#Per_Key_Key_Type_Indices" number="" targetptr="Per_Key_Key_Type_Indices"><ttl>Per-Key Key Type Indices</ttl><xreftext>the section called “Per-Key Key Type Indices”</xreftext></div><div element="sect2" href="xkblib.html#Per_Key_Group_Information" number="" targetptr="Per_Key_Group_Information"><ttl>Per-Key Group Information</ttl><xreftext>the section called “Per-Key Group Information”</xreftext><obj element="table" href="xkblib.html#idp34846084" number="15.2"><ttl>group_info Range Normalization</ttl><xreftext>Table 15.2, “group_info Range Normalization”</xreftext></obj></div><div element="sect2" href="xkblib.html#Key_Width" number="" targetptr="Key_Width"><ttl>Key Width</ttl><xreftext>the section called “Key Width”</xreftext></div><div element="sect2" href="xkblib.html#Offset_in_to_the_Symbol_Map" number="" targetptr="Offset_in_to_the_Symbol_Map"><ttl>Offset in to the Symbol Map</ttl><xreftext>the section called “Offset in to the Symbol Map”</xreftext></div><div element="sect2" href="xkblib.html#Getting_the_Symbol_Map_for_Keys_from_the_Server" number="" targetptr="Getting_the_Symbol_Map_for_Keys_from_the_Server"><ttl>Getting the Symbol Map for Keys from the Server</ttl><xreftext>the section called “Getting the Symbol Map for Keys from the Server”</xreftext></div><div element="sect2" href="xkblib.html#Changing_the_Number_of_Groups_and_Types_Bound_to_a_Key" number="" targetptr="Changing_the_Number_of_Groups_and_Types_Bound_to_a_Key"><ttl>Changing the Number of Groups and Types Bound to a Key</ttl><xreftext>the section called “Changing the Number of Groups and Types Bound to a Key”</xreftext><obj element="table" href="xkblib.html#idp34949812" number="15.3"><ttl>Group Index Constants</ttl><xreftext>Table 15.3, “Group Index Constants”</xreftext></obj></div><div element="sect2" href="xkblib.html#Changing_the_Number_of_Symbols_Bound_to_a_Key" number="" targetptr="Changing_the_Number_of_Symbols_Bound_to_a_Key"><ttl>Changing the Number of Symbols Bound to a Key</ttl><xreftext>the section called “Changing the Number of Symbols Bound to a Key”</xreftext></div></div><div element="sect1" href="xkblib.html#The_Per_Key_Modifier_Map" number="" targetptr="The_Per_Key_Modifier_Map"><ttl>The Per-Key Modifier Map</ttl><xreftext>the section called “The Per-Key Modifier Map”</xreftext><div element="sect2" href="xkblib.html#Getting_the_Per_Key_Modifier_Map_from_the_Server" number="" targetptr="Getting_the_Per_Key_Modifier_Map_from_the_Server"><ttl>Getting the Per-Key Modifier Map from the Server</ttl><xreftext>the section called “Getting the Per-Key Modifier Map from the Server”</xreftext></div></div></div><div element="chapter" href="xkblib.html#Xkb_Server_Keyboard_Mapping" number="16" targetptr="Xkb_Server_Keyboard_Mapping"><ttl>Xkb Server Keyboard Mapping</ttl><xreftext>Chapter 16, <em xmlns="http://www.w3.org/1999/xhtml">Xkb Server Keyboard Mapping</em></xreftext><div element="sect1" href="xkblib.html#Key_Actions" number="" targetptr="Key_Actions"><ttl>Key Actions</ttl><xreftext>the section called “Key Actions”</xreftext><div element="sect2" href="xkblib.html#The_XkbAction_Structure" number="" targetptr="The_XkbAction_Structure"><ttl>The XkbAction Structure</ttl><xreftext>the section called “The XkbAction Structure”</xreftext></div><div element="sect2" href="xkblib.html#The_XkbAnyAction_Structure" number="" targetptr="The_XkbAnyAction_Structure"><ttl>The XkbAnyAction Structure</ttl><xreftext>the section called “The XkbAnyAction Structure”</xreftext><obj element="table" href="xkblib.html#idp35329340" number="16.1"><ttl>Action Types</ttl><xreftext>Table 16.1, “Action Types”</xreftext></obj></div><div element="sect2" href="xkblib.html#Actions_for_Changing_Modifiers_State" number="" targetptr="Actions_for_Changing_Modifiers_State"><ttl>Actions for Changing Modifiers’ State</ttl><xreftext>the section called “Actions for Changing Modifiers’ State”</xreftext><obj element="table" href="xkblib.html#idp35360284" number="16.2"><ttl>Modifier Action Types</ttl><xreftext>Table 16.2, “Modifier Action Types”</xreftext></obj><obj element="table" href="xkblib.html#idp35375572" number="16.3"><ttl>Modifier Action Flags</ttl><xreftext>Table 16.3, “Modifier Action Flags”</xreftext></obj></div><div element="sect2" href="xkblib.html#Actions_for_Changing_Group_State" number="" targetptr="Actions_for_Changing_Group_State"><ttl>Actions for Changing Group State</ttl><xreftext>the section called “Actions for Changing Group State”</xreftext><obj element="table" href="xkblib.html#idp35405772" number="16.4"><ttl>Group Action Types</ttl><xreftext>Table 16.4, “Group Action Types”</xreftext></obj><obj element="table" href="xkblib.html#idp35422260" number="16.5"><ttl>Group Action Flags</ttl><xreftext>Table 16.5, “Group Action Flags”</xreftext></obj></div><div element="sect2" href="xkblib.html#Actions_for_Moving_the_Pointer" number="" targetptr="Actions_for_Moving_the_Pointer"><ttl>Actions for Moving the Pointer</ttl><xreftext>the section called “Actions for Moving the Pointer”</xreftext><obj element="table" href="xkblib.html#idp35448388" number="16.6"><ttl>Pointer Action Types</ttl><xreftext>Table 16.6, “Pointer Action Types”</xreftext></obj></div><div element="sect2" href="xkblib.html#Actions_for_Simulating_Pointer_Button_Press_and_Release" number="" targetptr="Actions_for_Simulating_Pointer_Button_Press_and_Release"><ttl>Actions for Simulating Pointer Button Press and Release</ttl><xreftext>the section called “Actions for Simulating Pointer Button Press and Release”</xreftext><obj element="table" href="xkblib.html#idp35483612" number="16.7"><ttl>Pointer Button Action Types</ttl><xreftext>Table 16.7, “Pointer Button Action Types”</xreftext></obj><obj element="table" href="xkblib.html#idp35500596" number="16.8"><ttl>Pointer Button Action Flags</ttl><xreftext>Table 16.8, “Pointer Button Action Flags”</xreftext></obj></div><div element="sect2" href="xkblib.html#Actions_for_Changing_the_Pointer_Button_Simulated" number="" targetptr="Actions_for_Changing_the_Pointer_Button_Simulated"><ttl>Actions for Changing the Pointer Button Simulated</ttl><xreftext>the section called “Actions for Changing the Pointer Button Simulated”</xreftext><obj element="table" href="xkblib.html#idp35513956" number="16.9"><ttl>Pointer Default Flags</ttl><xreftext>Table 16.9, “Pointer Default Flags”</xreftext></obj></div><div element="sect2" href="xkblib.html#Actions_for_Locking_Modifiers_and_Group" number="" targetptr="Actions_for_Locking_Modifiers_and_Group"><ttl>Actions for Locking Modifiers and Group</ttl><xreftext>the section called “Actions for Locking Modifiers and Group”</xreftext><obj element="table" href="xkblib.html#idp35543212" number="16.10"><ttl>ISO Action Flags when XkbSA_ISODfltIsGroup is Set</ttl><xreftext>Table 16.10, “ISO Action Flags when XkbSA_ISODfltIsGroup is Set”</xreftext></obj><obj element="table" href="xkblib.html#idp35558148" number="16.11"><ttl>ISO Action Flags when XkbSA_ISODfltIsGroup is Not Set</ttl><xreftext>Table 16.11, “ISO Action Flags when XkbSA_ISODfltIsGroup is Not Set”</xreftext></obj><obj element="table" href="xkblib.html#idp35578716" number="16.12"><ttl>ISO Action Affect Field Values</ttl><xreftext>Table 16.12, “ISO Action Affect Field Values”</xreftext></obj></div><div element="sect2" href="xkblib.html#Actions_for_Changing_the_Active_Screen" number="" targetptr="Actions_for_Changing_the_Active_Screen"><ttl>Actions for Changing the Active Screen</ttl><xreftext>the section called “Actions for Changing the Active Screen”</xreftext><obj element="table" href="xkblib.html#idp35594188" number="16.13"><ttl>Switch Screen Action Flags</ttl><xreftext>Table 16.13, “Switch Screen Action Flags”</xreftext></obj></div><div element="sect2" href="xkblib.html#Actions_for_Changing_Boolean_Controls_State" number="" targetptr="Actions_for_Changing_Boolean_Controls_State"><ttl>Actions for Changing Boolean Controls State</ttl><xreftext>the section called “Actions for Changing Boolean Controls State”</xreftext><obj element="table" href="xkblib.html#idp35617564" number="16.14"><ttl>Controls Action Types</ttl><xreftext>Table 16.14, “Controls Action Types”</xreftext></obj><obj element="table" href="xkblib.html#idp35628900" number="16.15"><ttl>Control Action Flags</ttl><xreftext>Table 16.15, “Control Action Flags”</xreftext></obj></div><div element="sect2" href="xkblib.html#Actions_for_Generating_Messages" number="" targetptr="Actions_for_Generating_Messages"><ttl>Actions for Generating Messages</ttl><xreftext>the section called “Actions for Generating Messages”</xreftext><obj element="table" href="xkblib.html#idp35652764" number="16.16"><ttl>Message Action Flags</ttl><xreftext>Table 16.16, “Message Action Flags”</xreftext></obj><div element="sect3" href="xkblib.html#Detecting_Key_Action_Messages" number="" targetptr="Detecting_Key_Action_Messages"><ttl>Detecting Key Action Messages</ttl><xreftext>the section called “Detecting Key Action Messages”</xreftext></div></div><div element="sect2" href="xkblib.html#Actions_for_Generating_a_Different_Keycode" number="" targetptr="Actions_for_Generating_a_Different_Keycode"><ttl>Actions for Generating a Different Keycode</ttl><xreftext>the section called “Actions for Generating a Different Keycode”</xreftext></div><div element="sect2" href="xkblib.html#Actions_for_Generating_DeviceButtonPress_and_DeviceButtonRelease" number="" targetptr="Actions_for_Generating_DeviceButtonPress_and_DeviceButtonRelease"><ttl>Actions for Generating DeviceButtonPress and DeviceButtonRelease</ttl><xreftext>the section called “Actions for Generating DeviceButtonPress and DeviceButtonRelease”</xreftext><obj element="table" href="xkblib.html#idp35713484" number="16.17"><ttl>Device Button Action Types</ttl><xreftext>Table 16.17, “Device Button Action Types”</xreftext></obj><obj element="table" href="xkblib.html#idp35728516" number="16.18"><ttl>Device Button Action Flags</ttl><xreftext>Table 16.18, “Device Button Action Flags”</xreftext></obj></div><div element="sect2" href="xkblib.html#Actions_for_Simulating_Events_from_Device_Valuators" number="" targetptr="Actions_for_Simulating_Events_from_Device_Valuators"><ttl>Actions for Simulating Events from Device Valuators</ttl><xreftext>the section called “Actions for Simulating Events from Device Valuators”</xreftext><obj element="table" href="xkblib.html#idp35740588" number="16.19"><ttl>Device Valuator v<n>_what High Bits Values</ttl><xreftext>Table 16.19, “Device Valuator v<n>_what High Bits Values”</xreftext></obj></div><div element="sect2" href="xkblib.html#Obtaining_Key_Actions_for_Keys_from_the_Server" number="" targetptr="Obtaining_Key_Actions_for_Keys_from_the_Server"><ttl>Obtaining Key Actions for Keys from the Server</ttl><xreftext>the section called “Obtaining Key Actions for Keys from the Server”</xreftext></div><div element="sect2" href="xkblib.html#Changing_the_Number_of_Actions_Bound_to_a_Key" number="" targetptr="Changing_the_Number_of_Actions_Bound_to_a_Key"><ttl>Changing the Number of Actions Bound to a Key</ttl><xreftext>the section called “Changing the Number of Actions Bound to a Key”</xreftext></div></div><div element="sect1" href="xkblib.html#Key_Behavior" number="" targetptr="Key_Behavior"><ttl>Key Behavior</ttl><xreftext>the section called “Key Behavior”</xreftext><div element="sect2" href="xkblib.html#Radio_Groups_2" number="" targetptr="Radio_Groups_2"><ttl>Radio Groups</ttl><xreftext>the section called “Radio Groups”</xreftext></div><div element="sect2" href="xkblib.html#The_XkbBehavior_Structure" number="" targetptr="The_XkbBehavior_Structure"><ttl>The XkbBehavior Structure</ttl><xreftext>the section called “The XkbBehavior Structure”</xreftext><obj element="table" href="xkblib.html#idp35792132" number="16.20"><ttl>Key Behaviors</ttl><xreftext>Table 16.20, “Key Behaviors”</xreftext></obj></div><div element="sect2" href="xkblib.html#Obtaining_Key_Behaviors_for_Keys_from_the_Server" number="" targetptr="Obtaining_Key_Behaviors_for_Keys_from_the_Server"><ttl>Obtaining Key Behaviors for Keys from the Server</ttl><xreftext>the section called “Obtaining Key Behaviors for Keys from the Server”</xreftext></div></div><div element="sect1" href="xkblib.html#Explicit_ComponentsAvoiding_Automatic_Remapping_by_the_Server" number="" targetptr="Explicit_ComponentsAvoiding_Automatic_Remapping_by_the_Server"><ttl>Explicit Components—Avoiding Automatic Remapping by the Server</ttl><xreftext>the section called “Explicit Components—Avoiding Automatic Remapping by the Server”</xreftext><obj element="table" href="xkblib.html#idp35821636" number="16.21"><ttl>Explicit Component Masks</ttl><xreftext>Table 16.21, “Explicit Component Masks”</xreftext></obj><div element="sect2" href="xkblib.html#Obtaining_Explicit_Components_for_Keys_from_the_Server" number="" targetptr="Obtaining_Explicit_Components_for_Keys_from_the_Server"><ttl>Obtaining Explicit Components for Keys from the Server</ttl><xreftext>the section called “Obtaining Explicit Components for Keys from the Server”</xreftext></div></div><div element="sect1" href="xkblib.html#Virtual_Modifier_Mapping" number="" targetptr="Virtual_Modifier_Mapping"><ttl>Virtual Modifier Mapping</ttl><xreftext>the section called “Virtual Modifier Mapping”</xreftext><div element="sect2" href="xkblib.html#Obtaining_Virtual_Modifier_Bindings_from_the_Server" number="" targetptr="Obtaining_Virtual_Modifier_Bindings_from_the_Server"><ttl>Obtaining Virtual Modifier Bindings from the Server</ttl><xreftext>the section called “Obtaining Virtual Modifier Bindings from the Server”</xreftext></div><div element="sect2" href="xkblib.html#Obtaining_Per_Key_Virtual_Modifier_Mappings_from_the_Server" number="" targetptr="Obtaining_Per_Key_Virtual_Modifier_Mappings_from_the_Server"><ttl>Obtaining Per-Key Virtual Modifier Mappings from the Server</ttl><xreftext>the section called “Obtaining Per-Key Virtual Modifier Mappings from the Server”</xreftext></div></div></div><div element="chapter" href="xkblib.html#The_Xkb_Compatibility_Map" number="17" targetptr="The_Xkb_Compatibility_Map"><ttl>The Xkb Compatibility Map</ttl><xreftext>Chapter 17, <em xmlns="http://www.w3.org/1999/xhtml">The Xkb Compatibility Map</em></xreftext><div element="sect1" href="xkblib.html#The_XkbCompatMap_Structure" number="" targetptr="The_XkbCompatMap_Structure"><ttl>The XkbCompatMap Structure</ttl><xreftext>the section called “The XkbCompatMap Structure”</xreftext><div element="sect2" href="xkblib.html#Xkb_State_to_Core_Protocol_State_Transformation" number="" targetptr="Xkb_State_to_Core_Protocol_State_Transformation"><ttl>Xkb State to Core Protocol State Transformation</ttl><xreftext>the section called “Xkb State to Core Protocol State Transformation”</xreftext></div><div element="sect2" href="xkblib.html#Core_Keyboard_Mapping_to_Xkb_Keyboard_Mapping_Transformation" number="" targetptr="Core_Keyboard_Mapping_to_Xkb_Keyboard_Mapping_Transformation"><ttl>Core Keyboard Mapping to Xkb Keyboard Mapping Transformation</ttl><xreftext>the section called “Core Keyboard Mapping to Xkb Keyboard Mapping Transformation”</xreftext><div element="sect3" href="xkblib.html#Symbol_Interpretations__the_XkbSymInterpretRec_Structure" number="" targetptr="Symbol_Interpretations__the_XkbSymInterpretRec_Structure"><ttl>Symbol Interpretations — the XkbSymInterpretRec Structure</ttl><xreftext>the section called “Symbol Interpretations — the XkbSymInterpretRec Structure”</xreftext><obj element="table" href="xkblib.html#idp34700332" number="17.1"><ttl>Symbol Interpretation Match Criteria</ttl><xreftext>Table 17.1, “Symbol Interpretation Match Criteria”</xreftext></obj></div></div><div element="sect2" href="xkblib.html#Xkb_Keyboard_Mapping_to_Core_Keyboard_Mapping_Transformations" number="" targetptr="Xkb_Keyboard_Mapping_to_Core_Keyboard_Mapping_Transformations"><ttl>Xkb Keyboard Mapping to Core Keyboard Mapping Transformations</ttl><xreftext>the section called “Xkb Keyboard Mapping to Core Keyboard Mapping Transformations”</xreftext></div></div><div element="sect1" href="xkblib.html#Getting_Compatibility_Map_Components_From_the_Server" number="" targetptr="Getting_Compatibility_Map_Components_From_the_Server"><ttl>Getting Compatibility Map Components From the Server</ttl><xreftext>the section called “Getting Compatibility Map Components From the Server”</xreftext><obj element="table" href="xkblib.html#idp35015044" number="17.2"><ttl>Compatibility Map Component Masks</ttl><xreftext>Table 17.2, “Compatibility Map Component Masks”</xreftext></obj></div><div element="sect1" href="xkblib.html#Using_the_Compatibility_Map" number="" targetptr="Using_the_Compatibility_Map"><ttl>Using the Compatibility Map</ttl><xreftext>the section called “Using the Compatibility Map”</xreftext></div><div element="sect1" href="xkblib.html#Changing_the_Servers_Compatibility_Map" number="" targetptr="Changing_the_Servers_Compatibility_Map"><ttl>Changing the Server’s Compatibility Map</ttl><xreftext>the section called “Changing the Server’s Compatibility Map”</xreftext></div><div element="sect1" href="xkblib.html#Tracking_Changes_to_the_Compatibility_Map" number="" targetptr="Tracking_Changes_to_the_Compatibility_Map"><ttl>Tracking Changes to the Compatibility Map</ttl><xreftext>the section called “Tracking Changes to the Compatibility Map”</xreftext></div><div element="sect1" href="xkblib.html#Allocating_and_Freeing_the_Compatibility_Map" number="" targetptr="Allocating_and_Freeing_the_Compatibility_Map"><ttl>Allocating and Freeing the Compatibility Map</ttl><xreftext>the section called “Allocating and Freeing the Compatibility Map”</xreftext></div></div><div element="chapter" href="xkblib.html#Symbolic_Names" number="18" targetptr="Symbolic_Names"><ttl>Symbolic Names</ttl><xreftext>Chapter 18, <em xmlns="http://www.w3.org/1999/xhtml">Symbolic Names</em></xreftext><div element="sect1" href="xkblib.html#The_XkbNamesRec_Structure" number="" targetptr="The_XkbNamesRec_Structure"><ttl>The XkbNamesRec Structure</ttl><xreftext>the section called “The XkbNamesRec Structure”</xreftext></div><div element="sect1" href="xkblib.html#Symbolic_Names_Masks" number="" targetptr="Symbolic_Names_Masks"><ttl>Symbolic Names Masks</ttl><xreftext>the section called “Symbolic Names Masks”</xreftext><obj element="table" href="xkblib.html#idp33143252" number="18.1"><ttl>Symbolic Names Masks</ttl><xreftext>Table 18.1, “Symbolic Names Masks”</xreftext></obj></div><div element="sect1" href="xkblib.html#Getting_Symbolic_Names_From_the_Server" number="" targetptr="Getting_Symbolic_Names_From_the_Server"><ttl>Getting Symbolic Names From the Server</ttl><xreftext>the section called “Getting Symbolic Names From the Server”</xreftext></div><div element="sect1" href="xkblib.html#Changing_Symbolic_Names_on_the_Server" number="" targetptr="Changing_Symbolic_Names_on_the_Server"><ttl>Changing Symbolic Names on the Server</ttl><xreftext>the section called “Changing Symbolic Names on the Server”</xreftext><div element="sect2" href="xkblib.html#idp35162316" number=""><ttl/><xreftext>the section called “”</xreftext><div element="sect3" href="xkblib.html#The_XkbNameChangesRec_Structure" number="" targetptr="The_XkbNameChangesRec_Structure"><ttl>The XkbNameChangesRec Structure</ttl><xreftext>the section called “The XkbNameChangesRec Structure”</xreftext><obj element="table" href="xkblib.html#idp35166604" number="18.2"><ttl>XkbNameChanges Fields</ttl><xreftext>Table 18.2, “XkbNameChanges Fields”</xreftext></obj></div></div></div><div element="sect1" href="xkblib.html#Tracking_Name_Changes" number="" targetptr="Tracking_Name_Changes"><ttl>Tracking Name Changes</ttl><xreftext>the section called “Tracking Name Changes”</xreftext></div><div element="sect1" href="xkblib.html#Allocating_and_Freeing_Symbolic_Names" number="" targetptr="Allocating_and_Freeing_Symbolic_Names"><ttl>Allocating and Freeing Symbolic Names</ttl><xreftext>the section called “Allocating and Freeing Symbolic Names”</xreftext></div></div><div element="chapter" href="xkblib.html#Replacing_a_Keyboard_On_the_Fly" number="19" targetptr="Replacing_a_Keyboard_On_the_Fly"><ttl>Replacing a Keyboard "On the Fly"</ttl><xreftext>Chapter 19, <em xmlns="http://www.w3.org/1999/xhtml">Replacing a Keyboard "On the Fly"</em></xreftext><obj element="table" href="xkblib.html#idp30579020" number="19.1"><ttl>XkbNewKeyboardNotifyEvent Details</ttl><xreftext>Table 19.1, “XkbNewKeyboardNotifyEvent Details”</xreftext></obj></div><div element="chapter" href="xkblib.html#Server_Database_of_Keyboard_Components" number="20" targetptr="Server_Database_of_Keyboard_Components"><ttl>Server Database of Keyboard Components</ttl><xreftext>Chapter 20, <em xmlns="http://www.w3.org/1999/xhtml">Server Database of Keyboard Components</em></xreftext><obj element="table" href="xkblib.html#idp33194644" number="20.1"><ttl>Server Database Keyboard Components</ttl><xreftext>Table 20.1, “Server Database Keyboard Components”</xreftext></obj><div element="sect1" href="xkblib.html#Component_Names" number="" targetptr="Component_Names"><ttl>Component Names</ttl><xreftext>the section called “Component Names”</xreftext></div><div element="sect1" href="xkblib.html#Listing_the_Known_Keyboard_Components" number="" targetptr="Listing_the_Known_Keyboard_Components"><ttl>Listing the Known Keyboard Components</ttl><xreftext>the section called “Listing the Known Keyboard Components”</xreftext></div><div element="sect1" href="xkblib.html#Component_Hints" number="" targetptr="Component_Hints"><ttl>Component Hints</ttl><xreftext>the section called “Component Hints”</xreftext><obj element="table" href="xkblib.html#idp35896452" number="20.2"><ttl>XkbComponentNameRec Flags Bits</ttl><xreftext>Table 20.2, “XkbComponentNameRec Flags Bits”</xreftext></obj></div><div element="sect1" href="xkblib.html#Building_a_Keyboard_Description_Using_the_Server_Database" number="" targetptr="Building_a_Keyboard_Description_Using_the_Server_Database"><ttl>Building a Keyboard Description Using the Server Database</ttl><xreftext>the section called “Building a Keyboard Description Using the Server Database”</xreftext><obj element="table" href="xkblib.html#idp35949356" number="20.3"><ttl>Want and Need Mask Bits and Required Names Components</ttl><xreftext>Table 20.3, “Want and Need Mask Bits and Required Names Components”</xreftext></obj><obj element="table" href="xkblib.html#idp35971436" number="20.4"><ttl>XkbDescRec Components Returned for Values of Want & Needs</ttl><xreftext>Table 20.4, “XkbDescRec Components Returned for Values of Want & Needs”</xreftext></obj></div></div><div element="chapter" href="xkblib.html#Attaching_Xkb_Actions_to_X_Input_Extension_Devices" number="21" targetptr="Attaching_Xkb_Actions_to_X_Input_Extension_Devices"><ttl>Attaching Xkb Actions to X Input Extension Devices</ttl><xreftext>Chapter 21, <em xmlns="http://www.w3.org/1999/xhtml">Attaching Xkb Actions to X Input Extension Devices</em></xreftext><div element="sect1" href="xkblib.html#XkbDeviceInfoRec" number="" targetptr="XkbDeviceInfoRec"><ttl>XkbDeviceInfoRec</ttl><xreftext>the section called “XkbDeviceInfoRec”</xreftext><obj element="table" href="xkblib.html#idp35302660" number="21.1"><ttl>XkbDeviceInfoRec Mask Bits</ttl><xreftext>Table 21.1, “XkbDeviceInfoRec Mask Bits”</xreftext></obj></div><div element="sect1" href="xkblib.html#Querying_Xkb_Features_for_Non_KeyClass_Input_Extension_Devices" number="" targetptr="Querying_Xkb_Features_for_Non_KeyClass_Input_Extension_Devices"><ttl>Querying Xkb Features for Non-KeyClass Input Extension Devices</ttl><xreftext>the section called “Querying Xkb Features for Non-KeyClass Input Extension Devices”</xreftext></div><div element="sect1" href="xkblib.html#Allocating_Initializing_and_Freeing_the_XkbDeviceInfoRecStructure" number="" targetptr="Allocating_Initializing_and_Freeing_the_XkbDeviceInfoRecStructure"><ttl>Allocating, Initializing, and Freeing the XkbDeviceInfoRec
Structure</ttl><xreftext>the section called “Allocating, Initializing, and Freeing the XkbDeviceInfoRec
Structure”</xreftext></div><div element="sect1" href="xkblib.html#Setting_Xkb_Features_for_Non_KeyClass_Input_Extension_Devices" number="" targetptr="Setting_Xkb_Features_for_Non_KeyClass_Input_Extension_Devices"><ttl>Setting Xkb Features for Non-KeyClass Input Extension Devices</ttl><xreftext>the section called “Setting Xkb Features for Non-KeyClass Input Extension Devices”</xreftext></div><div element="sect1" href="xkblib.html#XkbExtensionDeviceNotify_Event" number="" targetptr="XkbExtensionDeviceNotify_Event"><ttl>XkbExtensionDeviceNotify Event</ttl><xreftext>the section called “XkbExtensionDeviceNotify Event”</xreftext></div><div element="sect1" href="xkblib.html#Tracking_Changes_to_Extension_Devices" number="" targetptr="Tracking_Changes_to_Extension_Devices"><ttl>Tracking Changes to Extension Devices</ttl><xreftext>the section called “Tracking Changes to Extension Devices”</xreftext></div></div><div element="chapter" href="xkblib.html#Debugging_Aids" number="22" targetptr="Debugging_Aids"><ttl>Debugging Aids</ttl><xreftext>Chapter 22, <em xmlns="http://www.w3.org/1999/xhtml">Debugging Aids</em></xreftext><obj element="table" href="xkblib.html#idp32652884" number="22.1"><ttl>Debug Control Masks</ttl><xreftext>Table 22.1, “Debug Control Masks”</xreftext></obj></div><obj element="glossary" href="xkblib.html#glossary" number="" targetptr="glossary"><ttl>Glossary</ttl><xreftext>Glossary</xreftext></obj></div>
|