Applications seldom need to directly allocate a keyboard description; calling
XkbGetKeyboard usually suffices. In the event you need to create a keyboard description from
scratch, however, use
XkbAllocKeyboard rather than directly calling
XkbAllocKeyboard fails to allocate the keyboard description, it returns NULL.
Otherwise, it returns a pointer to an empty keyboard description structure. The
device_spec field will have been initialized to XkbUseCoreKbd. You may then
either fill in the structure components or use Xkb functions to obtain values
for the structure components from a keyboard device.