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 XkbGetUpdatedMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
25 XkbGetUpdatedMap \- Update the client or server map information in an existing
29 .B Status XkbGetUpdatedMap
30 .BI "(\^Display *" "display" "\^,"
31 .BI "unsigned int " "which" "\^,"
32 .BI "XkbDescPtr " "xkb" "\^);"
38 connection to X server
41 mask selecting subcomponents to populate
44 keyboard description to be updated
49 parameter is a bitwise inclusive OR of the masks in Table 1. If the needed
52 structure are not already allocated,
56 fetches the requested information for the device specified in the XkbDescRec
66 lw(3i) l l lw(1i) lw(3i).
67 Table 1 Xkb Mapping Component Masks
68 and Convenience Functions
70 Mask Value Map Fields Convenience
109 T} (1<<2) client modmap T{
113 XkbExplicitComponentsMask
117 XkbGetKeyExplicitComponents
158 is synchronous; it queries the server for the desired information, waits for a
159 reply, and then returns. If successful,
161 returns Success. If unsuccessful,
163 returns one of the following: BadAlloc (unable to allocate a component in the
164 XkbDescRec structure), BadValue (some mask bits in
166 are undefined), BadImplementation (a compatible version of the Xkb extension is
167 not available in the server or the reply from the server was invalid).
173 function returns Success if a reply is received to the server query for the desired information.
176 The complete description of an Xkb keyboard is given by an XkbDescRec. The
178 structures in the XkbDescRec represent the major Xkb components.
182 struct _XDisplay * display; /\(** connection to X server */
183 unsigned short flags; /\(** private to Xkb, do not modify */
184 unsigned short device_spec; /\(** device of interest */
185 KeyCode min_key_code; /\(** minimum keycode for device */
186 KeyCode max_key_code; /\(** maximum keycode for device */
187 XkbControlsPtr ctrls; /\(** controls */
188 XkbServerMapPtr server; /\(** server keymap */
189 XkbClientMapPtr map; /\(** client keymap */
190 XkbIndicatorPtr indicators; /\(** indicator map */
191 XkbNamesPtr names; /\(** names for all components */
192 XkbCompatMapPtr compat; /\(** compatibility map */
193 XkbGeometryPtr geom; /\(** physical geometry of keyboard */
194 } XkbDescRec, *XkbDescPtr;
199 field points to an X display structure. The
201 field is private to the library: modifying
203 may yield unpredictable results. The
205 field specifies the device identifier of the keyboard input device, or
206 XkbUseCoreKeyboard, which specifies the core keyboard device. The
210 fields specify the least and greatest keycode that can be returned by the
213 Each structure component has a corresponding mask bit that is used in function
215 indicate that the structure should be manipulated in some manner, such as
217 or freeing it. These masks and their relationships to the fields in the
225 Table 2 Mask Bits for XkbDescRec
227 Mask Bit XkbDescRec Field Value
229 XkbControlsMask ctrls (1L<<0)
230 XkbServerMapMask server (1L<<1)
231 XkbIClientMapMask map (1L<<2)
232 XkbIndicatorMapMask indicators (1L<<3)
233 XkbNamesMask names (1L<<4)
234 XkbCompatMapMask compat (1L<<5)
235 XkbGeometryMask geom (1L<<6)
236 XkbAllComponentsMask All Fields (0x7f)
241 Unable to allocate storage
244 Invalid reply from server
247 An argument is out of range
249 .BR XkbChangeTypesOfKey (__libmansuffix__),
250 .BR XkbCopyKeyType (__libmansuffix__),
251 .BR XkbCopyKeyTypes (__libmansuffix__),
252 .BR XkbGetKeyActions (__libmansuffix__),
253 .BR XkbGetKeyBehaviors (__libmansuffix__),
254 .BR XkbGetKeyExplicitComponents (__libmansuffix__),
255 .BR XkbGetKeyModifierMap (__libmansuffix__),
256 .BR XkbGetKeySyms (__libmansuffix__),
257 .BR XkbGetKeyTypes (__libmansuffix__),
258 .BR XkbResizeKeyActions (__libmansuffix__),
259 .BR XkbResizeKeySyms (__libmansuffix__),
260 .BR XkbResizeKeyType (__libmansuffix__),
261 .BR XkbGetVirtualModMap (__libmansuffix__),
262 .BR XkbGetVirtualMods (__libmansuffix__)