1XkbGetKeyExplicitComponents(3) XKB FUNCTION XkbGetKeyExplicitComponents(3)
2
3
4
6 XkbGetKeyExplicitComponents - Obtain the explicit components (the
7 explicit array) for a subset of the keys in a keyboard description
8
10 Status XkbGetKeyExplicitComponents (Display *dpy, unsigned int first,
11 unsigned int num, XkbDescPtr xkb);
12
14 - dpy connection to server
15
16 - first
17 keycode of first key to fetch
18
19 - num number of keys for which to get explicit info
20
21 - xkb Xkb description in which to put results
22
24 Whenever a client remaps the keyboard using core protocol requests, Xkb
25 examines the map to determine likely default values for the components
26 that cannot be specified using the core protocol (see Core Keyboard
27 Mapping to Xkb Keyboard Mapping Transformation for more information on
28 how Xkb chooses the default values).
29
30 DO THE FOUR PAGES OF "CORE KEYBOARD MAPPING TO XKB KEYBOARD MAPPING
31 TRANSFORMATION" NEED TO BE ADDED HERE?
32
33 This automatic remapping might replace definitions explicitly requested
34 by an application, so the Xkb keyboard description defines an explicit
35 components mask for each key. Any aspects of the automatic remapping
36 listed in the explicit components mask for a key are not changed by the
37 automatic keyboard mapping.
38
39 The explicit components masks are held in the explicit field of the
40 server map, which is an array indexed by keycode. Each entry in this
41 array is a mask that is a bitwise inclusive OR of the values shown in
42 Table 1.
43
44 Table 1 Explicit Component Masks
45 ───────────────────────────────────────────────────────────────
46 Bit in Explicit Mask Value Protects Against
47 ───────────────────────────────────────────────────────────────
48 ExplicitKeyType1 (1<<0) Automatic determination of the
49 key type associated with
50 Group1.
51 ExplicitKeyType2 (1<<1) Automatic determination of the
52 key type associated with
53 Group2.
54 ExplicitKeyType3 (1<<2) Automatic determination of the
55 key type associated with
56 Group3.
57 ExplicitKeyType4 (1<<3) Automatic determination of the
58 key type associated with
59 Group4.
60 ExplicitInterpret (1<<4) Application of any of the
61 fields of a symbol interpreta‐
62 tion to the key in question.
63
64
65
66
67 ExplicitAutoRepeat (1<<5) Automatic determination of
68 auto-repeat status for the
69 key, as specified in a symbol
70 interpretation.
71 ExplicitBehavior (1<<6) Automatic assignment of the
72 XkbKB_Lock behavior to the
73 key, if the XkbSI_LockingKey
74 flag is set in a symbol inter‐
75 pretation.
76 ExplicitVModMap (1<<7) Automatic determination of the
77 virtual modifier map for the
78 key based on the actions
79 assigned to the key and the
80 symbol interpretations that
81 match the key.
82
83 XkbGetKeyExplicitComponents sends a request to the server to obtain the
84 explicit components for num keys on the keyboard starting with key
85 first. It waits for a reply and returns the explicit components in the
86 server->explicit array of xkb. If successful, XkbGetKeyExplicitCompo‐
87 nents returns Success. The xkb parameter must be a pointer to a valid
88 Xkb keyboard description.
89
90 If the server map in the xkb parameter has not been allocated,
91 XkbGetKeyExplicitComponents allocates and initializes it before obtain‐
92 ing the actions.
93
94 If the server does not have a compatible version of Xkb, or the Xkb
95 extension has not been properly initialized, XkbGetKeyExplicitCompo‐
96 nents returns BadMatch. If num is less than 1 or greater than XkbMaxK‐
97 eyCount, XkbGetKeyExplicitComponents returns BadValue. If any alloca‐
98 tion errors occur, XkbGetKeyExplicitComponents returns BadAlloc.
99
101 BadAlloc Unable to allocate storage
102
103 BadMatch A compatible version of Xkb was not available in the
104 server or an argument has correct type and range, but is
105 otherwise invalid
106
107 BadValue An argument is out of range
108
109
110
111X v11 Rel. 6.4 20 Jul 1999 XkbGetKeyExplicitComponents(3)