Create new XklConfigItem new instance characters); can be NULL. Change the @description field of a XklConfigItem. This is mostly useful for language bindings, in C you can manipulate the member directly. Description (max. 192 Change the @name field of a XklConfigItem. This is mostly useful for language bindings, in C you can manipulate the member directly. Name (max. 32 characters); can be NULL. characters); can be NULL. Change the @short_description field of a XklConfigItem. This is mostly useful for language bindings, in C you can manipulate the member directly. Short Description (max. 10 Callback type used for enumerating keyboard models, layouts, variants, options the config registry the item from registry anything which can be stored into the pointer Create new XklConfigRec new instance Writes some XKB configuration into XKM/XKB/... file TRUE on success the engine name of the file to create valid XKB configuration description. Can be NULL flag indicating whether the output file should be binary Activates some XKB configuration description. Can be NULL TRUE on success the engine Compares two records TRUE if records are same another record Loads the current XKB configuration (from backup) TRUE on success the engine Gets the XKB configuration from any root window property TRUE on success atom name of the root window property to read pointer to hold the file name the engine Loads the current XKB configuration (from X server) TRUE on success the engine Resets the record (equal to Destroy and Init) Sets a new layout list. Frees the previous layout list. This is primarily useful for bindings, in C you can manipulate the @layouts record member directly. zero terminated list of new layout names. Sets a new option list. Frees the previous option list. This is primarily useful for bindings, in C you can manipulate the @options record member directly. zero terminated list of new option names. Saves the XKB configuration into any root window property TRUE on success atom name of the root window property to write rules file name the engine Sets a new variant list. Frees the previous variant list. This is primarily useful for bindings, in C you can manipulate the @variants record member directly. zero terminated list of new variant names. Create new XklConfig new instance the engine to use for accessing X in all the operations (like accessing root window properties etc) Loads a keyboard layout information from the XML configuration registry. TRUE if appropriate element was found and loaded pointer to a XklConfigItem containing the name of the keyboard layout. On successfull return, the descriptions are filled. Loads a keyboard model information from the XML configuration registry. TRUE if appropriate element was found and loaded pointer to a XklConfigItem containing the name of the keyboard model. On successfull return, the descriptions are filled. Loads a keyboard option information from the XML configuration registry. TRUE if appropriate element was found and loaded name of the option group pointer to a XklConfigItem containing the name of the keyboard option. On successfull return, the descriptions are filled. Loads a keyboard option group information from the XML configuration registry. TRUE if appropriate element was found and loaded pointer to a XklConfigItem containing the name of the keyboard option group. On successfull return, the descriptions are filled. Loads a keyboard layout variant information from the XML configuration registry. TRUE if appropriate element was found and loaded name of the parent layout pointer to a XklConfigItem containing the name of the keyboard layout variant. On successfull return, the descriptions are filled. Enumerates countries for which layouts are available, from the XML configuration registry callback to call for every ISO 3166 country code anything which can be stored into the pointer Enumerates keyboard layout variants for the country, from the XML configuration registry country ISO code for which variants will be listed callback to call for every country variant anything which can be stored into the pointer Enumerates languages for which layouts are available, from the XML configuration registry callback to call for every ISO 639-2 country code anything which can be stored into the pointer Enumerates keyboard layout variants for the language, from the XML configuration registry language ISO code for which variants will be listed callback to call for every country variant anything which can be stored into the pointer Enumerates keyboard layouts from the XML configuration registry callback to call for every layout anything which can be stored into the pointer Enumerates keyboard layout variants from the XML configuration registry layout name for which variants will be listed callback to call for every layout variant anything which can be stored into the pointer Enumerates keyboard models from the XML configuration registry callback to call for every model anything which can be stored into the pointer Enumerates keyboard options from the XML configuration registry option group name for which variants will be listed callback to call for every option anything which can be stored into the pointer Enumerates keyboard option groups from the XML configuration registry callback to call for every option group anything which can be stored into the pointer Loads XML configuration registry. The name is taken from X server (for XKB/libxkbfile, from the root window property) TRUE on success whether exotic materials (layouts, options) should be loaded as well Enumerates keyboard layout/variants that match the pattern. The layout/variant is considered as matching if one of the following is true: 1. Country description (from the country list or name) contains pattern as substring 2. Language description (from the language list or name) contains pattern as substring pattern to search for (NULL means "all") callback to call for every matching layout/variant anything which can be stored into the pointer Get the instance of the XklEngine. Within a process, there is always once instance. the singleton instance the X display used by the application Allows to switch (once) to the secondary group Backups current XKB configuration into some property - if this property is not defined yet. TRUE on success Drops the state of a given window (of its "App window"). target window What kind of backend is used some string id of the backend current state of the keyboard. Returned value is a statically allocated buffer, should not be freed. currently focused window saved group id of the current window. Returns the default group set on window creation If -1, no default group is used the default group Provides information regarding available backend features (combination of XKLF_* constants) ORed XKLF_* constants the array of group names for the current XKB configuration (keyboard). This array is static, should not be freed the value of the parameter: perform indicator handling the array of indicator names for the current XKB configuration (keyboard). This array is static, should not be freed Provides the information on maximum number of simultaneously supported groups (layouts) maximum number of the groups in configuration, 0 if no restrictions. Calculates next group id. Does not change the state of anything. next group id the total number of groups in the current configuration (keyboard) Calculates prev group id. Does not change the state of anything. prev group id the secondary group mask Finds the state for a given window (for its "App window"). TRUE on success, otherwise FALSE (the error message can be obtained using xkl_GetLastError). window to query structure to store the state the window title of some window or NULL. If not NULL, it should be freed with XFree X window Grabs some key TRUE on success keycode bitmask of modifiers the value of the parameter: group per application Checks whether 2 windows have the same topmost window TRUE is windows are in the same application first window second window TRUE if the window is "transparent" window to get the transparent flag from. Locks the group. Can be used after xkl_GetXXXGroup functions group number for locking Temporary pauses listening for XKB-related events 0 Resumes listening for XKB-related events 0 Stores ths state for a given window target window new state of the window Configures the default group set on window creation. If -1, no default group is used default group Sets the configuration parameter: group per application new parameter value Sets the configuration parameter: perform indicators handling new parameter value Sets the secondary groups (one bit per group). Secondary groups require explicit "allowance" for switching new group mask Sets the "transparent" flag. It means focus switching onto this window will never change the state. window do set the flag for. if true, the windows is transparent. Starts listening for XKB-related events 0 any combination of XKLL_* constants Stops listening for XKB-related events 0 any combination of XKLL_* constants Ungrabs some key TRUE on success keycode bitmask of modifiers Custom log output method for _xkl_debug. This appender is NOT called if the level of the message is greater than currently set debug level. name of the source file. Preprocessor symbol__FILE__ should be used here name of the function Preprocessor symbol__func__ should be used here level of the message format (like in printf) list of parameters Callback type used for enumerating layouts/variants for countries/languages the config registry the item from registry the item from registry anything which can be stored into the pointer Get localized country name, from ISO code localized country name (USA, Russia, France, ... translated) ISO 3166 Alpha 2 code: 2 chars, uppercase (US, RU, FR, ...) Get localized language name, from ISO code localized country name (English, Russiam, French, ... translated) ISO 639 2B or 2T code: 3 chars, lowercase (eng, rus, fra, ...) the text message (statically allocated) of the last error Restores XKB from the property saved by xkl_backup_names_prop TRUE on success the engine Sets maximum debug level. Message of the level more than the one set here - will be ignored new debug level