summaryrefslogtreecommitdiff
path: root/vapi/external-libs.vapi
blob: 148921630b9f29f6f7f430745e032bb58176c8f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
using X;

[CCode (cprefix = "", lower_case_cprefix = "", cheader_filename = "X11/XKBlib.h")]
namespace Xkb {

    [CCode (cname = "XkbGetKeyboard")]
    public Desc get_keyboard (X.Display dpy, uint which, uint device_spec);

    [CCode (cname = "XkbSetMap")]
    public void set_map (X.Display dpy, uint which, Desc xkb);

    [CCode (cname = "XkbChangeMap")]
    public bool change_map (X.Display dpy, Desc xkb, MapChanges changes);

    [CCode (cname = "XkbFreeKeyboard")]
    public void free_keyboard (Desc xkb, uint which, bool free_all);

    [CCode (cname = "XkbGetState")]
    public void get_state (X.Display dpy, uint device_spec, out State state);

    [CCode (cname = "XkbSelectEvents")]
    public void select_events (X.Display dpy, uint device_spec, ulong bits_to_change,
        ulong values_for_bits);

    [CCode (cname = "XkbLatchModifiers")]
    public void latch_modifiers (X.Display dpy, uint device_spec, uint affect,
                                 uint values);

    [CCode (cname = "XkbLockModifiers")]
    public void lock_modifiers (X.Display dpy, uint device_spec, uint affect,
                                uint values);


    [Compact]
    [CCode (cname = "XkbAnyEvent", free_function = "")]
    public struct AnyEvent {
        int xkb_type;
    }

    [Compact]
    [CCode (cname = "XkbStateNotifyEvent", free_function = "")]
    public struct StateNotifyEvent {
        uint changed;
        int locked_group;
        uint mods;
    }

    [Compact]
    [CCode (cname = "XkbEvent", free_function = "")]
    public struct Event {
        int type;
        AnyEvent any;
        StateNotifyEvent state;
    }

    [Compact]
    [CCode (cname = "XkbStateRec", free_function = "")]
    public struct State {
        uchar   group;
        uchar   locked_group;
        ushort  base_group;
        ushort  latched_group;
        uchar   mods;
        uchar   base_mods;
        uchar   latched_mods;
        uchar   locked_mods;
        uchar   compat_state;
        uchar   grab_mods;
        uchar   compat_grab_mods;
        uchar   lookup_mods;
        uchar   compat_lookup_mods;
        ushort  ptr_buttons;
    }

    [Compact]
    [CCode (cname = "XkbDescRec", free_function = "")]
    public class Desc {
        public X.Display dpy;
        public ushort flags;
        public ushort device_spec;
        public uchar min_key_code;
        public uchar max_key_code;
        public Controls          ctrls;
        public ServerMap         server;
        public ClientMap         map;
        public Indicator         indicators;
        public Names             names;
        public CompatMap         compat;
        public Geometry          geom;
    }

    [Compact]
    [CCode (cname = "XkbControlsRec", free_function = "")]
    public class Controls {
    }

    [Compact]
    [CCode (cname = "XkbServerMapRec", free_function = "")]
    public class ServerMap {
    }

    [Compact]
    [CCode (cname = "XkbKeyTypeRec", free_function = "")]
    public struct KeyType {
    }

    [CCode (cname = "XkbSymMapRec", free_function = "")]
    public struct SymMap {
        uchar    kt_index[4];
        uchar    group_info;
        uchar    width;
        ushort   offset;
    }

    [CCode (cname = "XkbMapChangesRec", free_function = "")]
	public struct MapChanges {
        ushort changed;
        char min_key_code;
        char max_key_code;
        uchar first_type;
        uchar num_types;
        char first_key_sym;
        uchar num_key_syms;
        char first_key_act;
        uchar num_key_acts;
        char first_key_behavior;
        uchar num_key_behaviors;
        char first_key_explicit;
        uchar num_key_explicit;
        char first_modmap_key;
        uchar num_modmap_keys;
        char first_vmodmap_key;
        uchar num_vmodmap_keys;
        uchar pad;
        ushort vmods;
	}

    [Compact]
    [CCode (cname = "XkbClientMapRec", free_function = "")]
    public class ClientMap {
        public uchar            size_types;
        public uchar            num_types;
        public KeyType[]        types;

        public ushort           size_syms;
        public ushort           num_syms;
        [CCode (array_length = false, array_null_terminated = true)]
        public ulong[]          syms;
        [CCode (array_length = false, array_null_terminated = true)]
        public SymMap[]         key_sym_map;

        [CCode (array_length = false, array_null_terminated = true)]
        public uchar[]          modmap;
    }

    [Compact]
    [CCode (cname = "XkbIndicatorRec", free_function = "")]
    public class Indicator {
    }

    [Compact]
    [CCode (cname = "XkbNamesRec", free_function = "")]
    public class Names {
    }

    [Compact]
    [CCode (cname = "XkbCompatMapRec", free_function = "")]
    public class CompatMap {
    }

    [Compact]
    [CCode (cname = "XkbGeometryRec", free_function = "")]
    public class Geometry {
    }

    [CCode (cname = "XkbUseCoreKbd")]
    public int UseCoreKbd;
    [CCode (cname = "XkbUseCorePtr")]
    public int UseCorePtr;
    [CCode (cname = "XkbDfltXIClass")]
    public int DfltXIClass;
    [CCode (cname = "XkbDfltXIId")]
    public int DfltXIId;
    [CCode (cname = "XkbAllXIClasses")]
    public int AllXIClasses;
    [CCode (cname = "XkbAllXIIds")]
    public int AllXIIds;
    [CCode (cname = "XkbXINone")]
    public int XINone;

    [CCode (cname = "XkbGBN_TypesMask")]
    public int GBN_TypesMask;
    [CCode (cname = "XkbGBN_CompatMapMask")]
    public int GBN_CompatMapMask;
    [CCode (cname = "XkbGBN_ClientSymbolsMask")]
    public int GBN_ClientSymbolsMask;
    [CCode (cname = "XkbGBN_ServerSymbolsMask")]
    public int GBN_ServerSymbolsMask;
    [CCode (cname = "XkbGBN_SymbolsMask")]
    public int GBN_SymbolsMask;
    [CCode (cname = "XkbGBN_IndicatorMapMask")]
    public int GBN_IndicatorMapMask;
    [CCode (cname = "XkbGBN_KeyNamesMask")]
    public int GBN_KeyNamesMask;
    [CCode (cname = "XkbGBN_GeometryMask")]
    public int GBN_GeometryMask;
    [CCode (cname = "XkbGBN_OtherNamesMask")]
    public int GBN_OtherNamesMask;
    [CCode (cname = "XkbGBN_AllComponentsMask")]
    public int GBN_AllComponentsMask;

    [CCode (cname = "XkbOneLevelIndex")]
    public int OneLevelIndex;

    [CCode (cname = "XkbNewKeyboardNotifyMask")]
    public int NewKeyboardNotifyMask;
    [CCode (cname = "XkbMapNotifyMask")]
    public int MapNotifyMask;
    [CCode (cname = "XkbStateNotifyMask")]
    public int StateNotifyMask;
    [CCode (cname = "XkbControlsNotifyMask")]
    public int ControlsNotifyMask;
    [CCode (cname = "XkbIndicatorStateNotifyMask")]
    public int IndicatorStateNotifyMask;
    [CCode (cname = "XkbIndicatorMapNotifyMask")]
    public int IndicatorMapNotifyMask;
    [CCode (cname = "XkbNamesNotifyMask")]
    public int NamesNotifyMask;
    [CCode (cname = "XkbCompatMapNotifyMask")]
    public int CompatMapNotifyMask;
    [CCode (cname = "XkbBellNotifyMask")]
    public int BellNotifyMask;
    [CCode (cname = "XkbActionMessageMask")]
    public int ActionMessageMask;
    [CCode (cname = "XkbAccessXNotifyMask")]
    public int AccessXNotifyMask;
    [CCode (cname = "XkbExtensionDeviceNotifyMask")]
    public int ExtensionDeviceNotifyMask;
    [CCode (cname = "XkbAllEventsMask")]
    public int AllEventsMask;

    [CCode (cname = "XkbStateNotify")]
    public int StateNotify;

    [CCode (cname = "XkbGroupStateMask")]
    public int GroupStateMask;

    [CCode (cname = "XkbModifierStateMask")]
    public int ModifierStateMask;

    [CCode (cname = "XkbAllMapComponentsMask")]
    public int AllMapComponentsMask;

    [CCode (cname = "XkbKeySymsMask")]
    public int KeySymsMask;

    [CCode (cname = "XkbKeyTypesMask")]
    public int KeyTypesMask;
}