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 XkbAllocClientMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
25 XkbAllocClientMap \- Allocate and initialize an empty client map description
29 .B Status XkbAllocClientMap
30 .BI "(\^XkbDescPtr " "xkb" "\^,"
31 .BI "unsigned int " "which" "\^,"
32 .BI "unsigned int " "type_count" "\^);"
38 keyboard description in which to allocate client map
41 mask selecting map components to allocate
44 value of num_types field in map to be allocated
49 should be sufficient for most applications to get client and server maps. As a
50 result, most applications do not need to directly allocate client and server
53 If you change the number of key types or construct map components without
54 loading the necessary components from the X server, do not allocate any map
55 components directly using
59 Instead, use the Xkb allocators,
64 Similarly, use the Xkb destructors,
74 allocates and initializes an empty client map in the
76 field of the keyboard description specified by
80 parameter specifies the particular components of the client map structure to
81 allocate and is a mask composed by a bitwise inclusive OR of one or more of the
82 masks shown in Table 1.
88 Table 1 XkbAllocClientMap Masks
93 The type_count field specifies the number of entries to preallocate for the
94 types field of the client map. If the type_count field is less than
95 XkbNumRequiredTypes returns BadValue.
99 The min_key_code and max_key_code fields of the xkb parameter are used to
100 allocate the syms and key_sym_map fields of the client map. The fields are
101 allocated to contain the maximum number of entries necessary for max_key_code -
102 min_key_code + 1 keys.
105 XkbModifierMapMask T{
106 The min_key_code and max_key_code fields of the xkb parameter are used to
107 allocate the modmap field of the client map. The field is allocated to contain
108 the maximum number of entries necessary for max_key_code - min_key_code + 1
119 parameter must be legal values if the XkbKeySymsMask or XkbModifierMapMask masks
122 parameter. If they are not valid,
126 If the client map of the keyboard description is not NULL, and any fields are
127 already allocated in the client map,
129 does not overwrite the existing values; it simply ignores that part of the
130 request. The only exception is the
134 is greater than the current
136 field of the client map,
146 is successful, it returns Success. Otherwise, it can return either BadMatch,
147 BadAlloc, or BadValue errors.
151 Unable to allocate storage
154 A compatible version of Xkb was not available in the server or an argument has
155 correct type and range, but is otherwise invalid
158 An argument is out of range
160 .BR XkbAllocClientMap (__libmansuffix__),
161 .BR XkbAllocServerMap (__libmansuffix__),
162 .BR XkbFreeClientMap, (__libmansuffix__),
163 .BR XkbFreeServerMap (__libmansuffix__),
164 .BR XkbGetMap (__libmansuffix__)