|  | 
| struct xkb_keymap * | xkb_keymap::xkb_keymap_new_from_names (struct xkb_context *context, const struct xkb_rule_names *names, enum xkb_keymap_compile_flags flags) | 
|  | 
| struct xkb_keymap * | xkb_keymap::xkb_keymap_new_from_file (struct xkb_context *context, FILE *file, enum xkb_keymap_format format, enum xkb_keymap_compile_flags flags) | 
|  | 
| struct xkb_keymap * | xkb_keymap::xkb_keymap_new_from_string (struct xkb_context *context, const char *string, enum xkb_keymap_format format, enum xkb_keymap_compile_flags flags) | 
|  | 
| struct xkb_keymap * | xkb_keymap::xkb_keymap_new_from_buffer (struct xkb_context *context, const char *buffer, size_t length, enum xkb_keymap_format format, enum xkb_keymap_compile_flags flags) | 
|  | 
| struct xkb_keymap * | xkb_keymap::xkb_keymap_ref (struct xkb_keymap *keymap) | 
|  | 
| void | xkb_keymap::xkb_keymap_unref (struct xkb_keymap *keymap) | 
|  | 
| char * | xkb_keymap::xkb_keymap_get_as_string (struct xkb_keymap *keymap, enum xkb_keymap_format format) | 
|  | 
Creating and destroying keymaps. 
◆ XKB_KEYMAP_USE_ORIGINAL_FORMAT
◆ xkb_keymap_compile_flags
Flags for keymap compilation. 
| Enumerator | 
|---|
| XKB_KEYMAP_COMPILE_NO_FLAGS | Do not apply any flags.  | 
 
 
◆ xkb_keymap_format
The possible keymap formats. 
| Enumerator | 
|---|
| XKB_KEYMAP_FORMAT_TEXT_V1 | The current/classic XKB text format, as generated by xkbcomp -xkb.  | 
 
 
◆ xkb_keymap_new_from_names()
Create a keymap from RMLVO names. 
The primary keymap entry point: creates a new XKB keymap from a set of RMLVO (Rules + Model + Layouts + Variants + Options) names.
- Parameters
- 
  
    | context | The context in which to create the keymap. |  | names | The RMLVO names to use. See xkb_rule_names. |  | flags | Optional flags for the keymap, or 0. |  
 
- Returns
- A keymap compiled according to the RMLVO names, or NULL if the compilation failed.
- See also
- xkb_rule_names 
 
 
◆ xkb_keymap_new_from_file()
Create a keymap from a keymap file. 
- Parameters
- 
  
    | context | The context in which to create the keymap. |  | file | The keymap file to compile. |  | format | The text format of the keymap file to compile. |  | flags | Optional flags for the keymap, or 0. |  
 
- Returns
- A keymap compiled from the given XKB keymap file, or NULL if the compilation failed.
The file must contain a complete keymap. For example, in the XKB_KEYMAP_FORMAT_TEXT_V1 format, this means the file must contain one top level 'xkb_keymap' section, which in turn contains other required sections. 
 
 
◆ xkb_keymap_new_from_string()
◆ xkb_keymap_new_from_buffer()
◆ xkb_keymap_ref()
Take a new reference on a keymap. 
- Returns
- The passed in keymap. 
 
 
◆ xkb_keymap_unref()
      
        
          | void xkb_keymap_unref | ( | struct xkb_keymap * | keymap | ) |  | 
      
 
Release a reference on a keymap, and possibly free it. 
- Parameters
- 
  
    | keymap | The keymap. If it is NULL, this function does nothing. |  
 
 
 
◆ xkb_keymap_get_as_string()
Get the compiled keymap as a string. 
- Parameters
- 
  
    | keymap | The keymap to get as a string. |  | format | The keymap format to use for the string. You can pass in the special value XKB_KEYMAP_USE_ORIGINAL_FORMAT to use the format from which the keymap was originally created. |  
 
- Returns
- The keymap as a NUL-terminated string, or NULL if unsuccessful.
The returned string may be fed back into xkb_keymap_new_from_string() to get the exact same keymap (possibly in another process, etc.).
The returned string is dynamically allocated and should be freed by the caller.