Introduction to libxkbcommon
        
        
          libxkbcommon is a keymap compiler
          and support library which processes a reduced subset of keymaps as
          defined by the XKB specification.
        
        
          This package is known to build and work properly using an LFS 12.4
          platform.
        
        
          Package Information
        
        
        
          ![[Note]](../images/note.png) 
          
            Note
          
          
            On GitHub we've forked the upstream repository into our own
            lfs-book namespace and recreated a
            tag for the release. This is done to ensure the downloaded
            tarball file name to be correct and consistent (i.e. it shouldn't
            change when using the browser instead of a tool like wget). Our tag and the upstream
            release tag are on the same commit, so we've not introduced any
            change to the tarball content except the name of its top-level
            directory (that Git does not track).
          
         
        
          libxkbcommon Dependencies
        
        
          Required
        
        
          xkeyboard-config-2.45 (runtime)
        
        
          Recommended
        
        
          libxcb-1.17.0, Wayland-1.24.0, and
          wayland-protocols-1.45
        
        
          Optional
        
        
          Doxygen-1.14.0 (for generating the
          documentation) and Xvfb (from Xorg-Server-21.1.18 or Xwayland-24.1.8)
        
       
      
        
          Installation of libxkbcommon
        
        
          Install libxkbcommon by running
          the following commands:
        
        mkdir build &&
cd    build &&
meson setup ..             \
      --prefix=/usr        \
      --buildtype=release  \
      -D enable-docs=false &&
ninja
        
          To test the results, ensure Xvfb and xkeyboard-config-2.45 are available,
          then issue: ninja
          test.
        
        
          Now, as the root user:
        
        ninja install
       
      
        
          Command Explanations
        
        
          --buildtype=release:
          Specify a buildtype suitable for stable releases of the package, as
          the default may produce unoptimized binaries.
        
        
          -D enable-docs=true: This
          switch enables documentation generation. Doxygen-1.14.0 is
          required.
        
        
          mv -v
          /usr/share/doc/libxkbcommon{,-1.11.0}: If you built
          the documentation, use this command to install it in a versioned
          directory.
        
       
      
        
          Contents
        
        
          
            
              Installed Programs:
              xkbcli
            
            
              Installed Libraries:
              libxkbcommon.so, libxkbcommon-x11.so, and
              libxkbregistry.so
            
            
              Installed Directories:
              /usr/include/xkbcommon,
              /usr/libexec/xkbcommon, and (optionally)
              /usr/share/doc/libxkbcommon-1.11.0
            
           
         
        
          
            Short Descriptions
          
          
            
              
              
            
            
              
                | 
                    xkbcli
                   | 
                    provides a debugger and compiler for XKB keymaps
                   | 
              
                | 
                    libxkbcommon.so | 
                    contains the libxkbcommon API functions
                   | 
              
                | 
                    libxkbcommon-x11.so | 
                    contains the libxkbcommon X11 specific API
                    functions
                   | 
              
                | 
                    libxkbregistry.so | 
                    contains a list of available XKB models, layouts, and
                    variants for a given ruleset
                   |