XkbGetCompatMap(3)
π NAME
XkbGetCompatMap β grab any combo of the current compatibility map components straight off the server, bestie β¨
π SYNOPSIS
Status XkbGetCompatMap (Display *display, unsigned int which, XkbDescRec *xkb);
π«Ά ARGUMENTS
displayβ the connection to the server, obviously πwhichβ the mask of which compatibility map components you wanna fetchxkbβ the keyboard description where the results get placed
π¦ DESCRIPTION
Okay so here's the lore: when another client goes and modifies the compatibility map, you get notified β but only if you've selected for XkbCompatMapNotify events. And XkbGetCompatMap is literally the moment for this, because it lets you update your program's version of the compatibility map so it matches the modified version that's now chillin' in the server. Iconic. And if your program is juggling multiple servers and needs to configure them all the same way? The updated compatibility map can be used to reconfigure the other servers too. Slay π
XkbGetCompatMap fetches the components of the compatibility map that you specified in which, from the server specified by display, and drops them into the compat structure of the keyboard description xkb. Valid values for which are an inclusive OR of the values in Table 1 π
β¨ Table 1: Compatibility Map Component Masks β¨
XkbSymInterpMaskβ value(1<<0)β affecting: Symbol interpretationsXkbGroupCompatMaskβ value(1<<1)β affecting: Group mapsXkbAllCompatMaskβ value(0x3)β affecting: All compatibility map components
So if there's no compatibility map structure allocated in xkb when you come in, XkbGetCompatMap allocates one for you π If one already exists? Its contents get overwritten with the returned results. No cap.
XkbGetCompatMap fetches compatibility map info for the device specified by the device_spec field of xkb. Unless you specifically modified that field, it's the default keyboard device. Standard behavior, iykyk.
And the return tea β: XkbGetCompatMap returns Success if successful, BadAlloc if it can't obtain the necessary storage for either the return values or work space, BadMatch if the dpy field of the xkb argument is non-NULL and doesn't match the display argument, and BadLength under certain conditions caused by server or Xkb implementation errors. π
π₯ DIAGNOSTICS
BadAllocβ unable to allocate storage πBadLengthβ the length of a request is shorter or longer than that required to minimally contain the argumentsBadMatchβ a compatible version of Xkb was not available in the server, or an argument has correct type and range but is otherwise invalid π
fr fr, that's the whole page β every mask, every error, nothing skipped π
okay bye bestie, this page came from X Version 11, libX11 1.8.14, and it's the XkbGetCompatMap(3) era of your life now πβ¨
π¦ where this page comes from
- alpine 3.24: libx11-doc 1.8.14-r0 Β· X11
- arch rolling: libx11 1.8.14-1 Β· MIT AND X11
- nixos 26.05: libx11 1.8.14
- nixpkgs unstable: libx11 1.8.14
- Copyright (c) 1999, Oracle and/or its affiliates
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms