XkbAllocServerMap(3) XKB FUNCTIONS XkbAllocServerMap(3)NAME
XkbAllocServerMap - Allocate and initialize an empty server map description record
SYNOPSIS
Status XkbAllocServerMap (XkbDescPtr xkb, unsigned int which, unsigned int count_acts);
ARGUMENTS
- xkb keyboard description in which to allocate server map
- which
mask selecting map components to allocate
- count_acts
value of num_acts field in map to be allocated
DESCRIPTION
XkbAllocServerMap allocates and initializes an empty server map in the server field of the keyboard description specified by xkb. The
which parameter specifies the particular components of the server map structure to allocate, as specified in Table 1.
Table 1 XkbAllocServerMap Masks
---------------------------------------------------------------------
Mask Effect
---------------------------------------------------------------------
XkbExplicitComponentsMask The min_key_code and max_key_code fields
of the xkb parameter are used to allo-
cate the explicit field of the server
map.
XkbKeyActionsMask The min_key_code and max_key_code fields
of the xkb parameter are used to allo-
cate the key_acts field of the server
map. The count_acts parameter is used to
allocate the acts field of the server
map.
XkbKeyBehaviorsMask The min_key_code and max_key_code fields
of the xkb parameter are used to allo-
cate the behaviors field of the server
map.
XkbVirtualModMapMask The min_key_code and max_key_code fields
of the xkb parameter are used to allo-
cate the vmodmap field of the server
map.
If the server map of the keyboard description is not NULL and any fields are already allocated in the server map, XkbAllocServerMap does
not overwrite the existing values. The only exception is with the acts array. If the count_acts parameter is greater than the current
num_acts field of the server map, XkbAllocServerMap resizes the acts array and resets the num_acts field accordingly.
If XkbAllocServerMap is successful, it returns Success. Otherwise, it can return either BadMatch or BadAlloc errors.
DIAGNOSTICS
BadAlloc Unable to allocate storage
BadMatch A compatible version of Xkb was not available in the server or an argument has correct type and range, but is otherwise
invalid
BadValue An argument is out of range
NOTES
The min_key_code and max_key_code fields of the xkb parameter must be legal values. If they are not valid, XkbAllocServerMap returns Bad-
Value.
X Version 11 libX11 1.6.0 XkbAllocServerMap(3)
Check Out this Related Man Page
XkbAllocClientMap(3) XKB FUNCTIONS XkbAllocClientMap(3)NAME
XkbAllocClientMap - Allocate and initialize an empty client map description record
SYNOPSIS
Status XkbAllocClientMap ( xkb, which, type_count )
XkbDescPtr xkb;
unsigned int which;
unsigned int type_count;
ARGUMENTS
- xkb keyboard description in which to allocate client map
- which
mask selecting map components to allocate
- type_count
value of num_types field in map to be allocated
DESCRIPTION
Calling XkbGetMap should be sufficient for most applications to get client and server maps. As a result, most applications do not need to
directly allocate client and server maps.
If you change the number of key types or construct map components without loading the necessary components from the X server, do not allo-
cate any map components directly using malloc or Xmalloc. Instead, use the Xkb allocators, XkbAllocClientMap, and XkbAllocServerMap.
Similarly, use the Xkb destructors, XkbFreeClientMap, and XkbFreeServerMap instead of free or Xfree.
XkbAllocClientMap allocates and initializes an empty client map in the map field of the keyboard description specified by xkb. The which
parameter specifies the particular components of the client map structure to allocate and is a mask composed by a bitwise inclusive OR of
one or more of the masks shown in Table 1.
Table 1 XkbAllocClientMap Masks
--------------------------------------------------------------
Mask Effect
--------------------------------------------------------------
XkbKeyTypesMask The type_count field specifies the num-
ber of entries to preallocate for the
types field of the client map. If the
type_count field is less than XkbNumRe-
quiredTypes returns BadValue.
XkbKeySymsMask The min_key_code and max_key_code fields
of the xkb parameter are used to allo-
cate the syms and key_sym_map fields of
the client map. The fields are allocated
to contain the maximum number of entries
necessary for max_key_code -
min_key_code + 1 keys.
XkbModifierMapMask The min_key_code and max_key_code fields
of the xkb parameter are used to allo-
cate the modmap field of the client map.
The field is allocated to contain the
maximum number of entries necessary for
max_key_code - min_key_code + 1 keys.
NOTE: The min_key_code and max_key_code fields of the xkb parameter must be legal values if the XkbKeySymsMask or XkbModifierMapMask masks
are set in the which parameter. If they are not valid, XkbAllocClientMap returns BadValue.
If the client map of the keyboard description is not NULL, and any fields are already allocated in the client map, XkbAllocClientMap does
not overwrite the existing values; it simply ignores that part of the request. The only exception is the types array. If type_count is
greater than the current num_types field of the client map, XkbAllocClientMap resizes the types array and resets the num_types field
accordingly.
If XkbAllocClientMap is successful, it returns Success. Otherwise, it can return either BadMatch, BadAlloc, or BadValue errors.
DIAGNOSTICS
BadAlloc Unable to allocate storage
BadMatch A compatible version of Xkb was not available in the server or an argument has correct type and range, but is otherwise
invalid
BadValue An argument is out of range
SEE ALSO XkbAllocClientMap(3), XkbAllocServerMap(3), XkbFreeClientMap,(3), XkbFreeServerMap(3), XkbGetMap(3)X Version 11 libX11 1.2.1 XkbAllocClientMap(3)