2 .\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
4 .\" Permission is hereby granted, free of charge, to any person obtaining a
5 .\" copy of this software and associated documentation files (the "Software"),
6 .\" to deal in the Software without restriction, including without limitation
7 .\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 .\" and/or sell copies of the Software, and to permit persons to whom the
9 .\" Software is furnished to do so, subject to the following conditions:
11 .\" The above copyright notice and this permission notice (including the next
12 .\" paragraph) shall be included in all copies or substantial portions of the
15 .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 .\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 .\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 .\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 .\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 .\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 .\" DEALINGS IN THE SOFTWARE.
23 .TH XkbGetNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
25 XkbGetNames \- Obtain symbolic names from the server
29 .BI "(\^Display *" "dpy" "\^,"
30 .BI "unsigned int " "which" "\^,"
31 .BI "XkbDescPtr " "Xkb" "\^);"
37 connection to the X server
40 mask of names or map components to be updated
43 keyboard description to be updated
47 retrieves symbolic names for the components of the keyboard extension from the X server. The
49 parameter specifies the name components to be updated in the
51 parameter, and is the bitwise inclusive OR of the valid names mask bits defined in Table 1.
57 Table 1 Symbolic Names Masks
59 Mask Bit Value Keyboard Field
62 XkbKeycodesNameMask (1<<0) Xkb->names keycodes
63 XkbGeometryNameMask (1<<1) Xkb->names geometry
64 XkbSymbolsNameMask (1<<2) Xkb->names symbols
65 XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
66 XkbTypesNameMask (1<<4) Xkb->names type
67 XkbCompatNameMask (1<<5) Xkb->names compat
68 XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
69 XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
70 XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
71 XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
72 XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
73 XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
74 XkbGroupNamesMask (1<<12) Xkb->names groups[*]
75 XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
76 XkbComponentNamesMask (0x3f) Xkb->names keycodes,
82 XkbAllNamesMask (0x3fff) Xkb->names all name components
87 field of the keyboard description
91 allocates and initializes the
93 component of the keyboard description before obtaining the values specified by
100 obtains the values specified by
102 and copies them into the keyboard description
111 does not retrieve type or shift level names, even if XkbKeyTypeNamesMask or XkbKTLevelNamesMask are set in
115 can return Success, or BadAlloc, BadLength, BadMatch, and BadImplementation errors.
117 To free symbolic names, use
122 Unable to allocate storage
125 Invalid reply from server
128 The length of a request is shorter or longer than that required to minimally contain the arguments
131 A compatible version of Xkb was not available in the server or an argument has correct type and range, but
134 .BR XkbFreeNames (__libmansuffix__)