1XkbResizeKeyType(3) XKB FUNCTIONS XkbResizeKeyType(3)
2
3
4
6 XkbResizeKeyType - Change the number of levels in a key type
7
9 Status XkbResizeKeyType (XkbDescPtr xkb, int type_ndx, int map_count,
10 Bool want_preserve, int new_num_lvls);
11
13 - xkb keyboard description containing client map to update
14
15 - type_ndx
16 index in xkb->map->types of type to change
17
18 - map_count
19 total # of map entries needed for the type
20
21 - want_preserve
22 True => list of preserved modifiers is necessary
23
24 - new_num_lvls
25 new max # of levels for type
26
28 XkbResizeKeyType changes the type specified by
29 xkb->map->types[type_ndx], and reallocates the symbols and actions
30 bound to all keys that use the type, if necessary. XkbResizeKeyType
31 updates only the local copy of the types in xkb; to update the server's
32 copy for the physical device, use XkbSetMap or XkbChangeMap after call‐
33 ing XkbResizeKeyType.
34
35 The map_count parameter specifies the total number of map entries
36 needed for the type, and can be zero or greater. If map_count is zero,
37 XkbResizeKeyType frees the existing map and preserve entries for the
38 type if they exist and sets them to NULL.
39
40 The want_preserve parameter specifies whether a preserve list for the
41 key should be created. If want_preserve is True, the preserve list with
42 map_count entries is allocated or reallocated if it already exists.
43 Otherwise, if want_preserve is False, the preserve field is freed if
44 necessary and set to NULL.
45
46 The new_num_lvls parameter specifies the new maximum number of shift
47 levels for the type and is used to calculate and resize the symbols and
48 actions bound to all keys that use the type.
49
50 If type_ndx does not specify a legal type, new_num_lvls is less than 1,
51 or the map_count is less than zero, XkbResizeKeyType returns BadValue.
52 If XkbResizeKeyType encounters any problems with allocation, it returns
53 BadAlloc. Otherwise, it returns Success.
54
56 Success The XkbResizeKeyType function returns Success if
57 type_ndx specifies a legal type, new_num_lvls is greater
58 than zero and map_count is positive.
59
61 BadAlloc Unable to allocate storage
62
63 BadValue An argument is out of range
64
66 XkbChangeMap(3), XkbSetMap(3)
67
68
69
70X Version 11 libX11 1.7.0 XkbResizeKeyType(3)