1XkbNoteDeviceChanges(3) XKB FUNCTIONS XkbNoteDeviceChanges(3)
2
3
4
6 XkbNoteDeviceChanges - Note device changes reported in an XkbExtension‐
7 DeviceNotify event
8
10 void XkbNoteDeviceChanges (XkbDeviceChangesPtr old, XkbExtensionDevi‐
11 ceNotifyEvent *new, unsigned int wanted);
12
14 old structure tracking state changes
15
16 new event indicating state changes
17
18 wanted mask indicating changes to note
19
21 The wanted field specifies the changes that should be noted in old, and
22 is composed of the bitwise inclusive OR of one or more of the masks
23 from Table 1. The reason field of the event in new indicates the types
24 of changes the event is reporting. XkbNoteDeviceChanges updates the
25 XkbDeviceChangesRec specified by old with the changes that are both
26 specified in wanted and contained in new->reason.
27
28 Table 1 XkbDeviceInfoRec Mask Bits
29 ____________________________________________________________________________________
30 Name XkbDeviceInfoRec Value Capability If Set
31 Fields Effected
32 ____________________________________________________________________________________
33 XkbXI_KeyboardsMask (1L <<0) Clients can use all
34 Xkb requests and events
35 with KeyClass devices
36 supported by the input
37 device extension.
38
39 XkbXI_ButtonActionsMask num_btns (1L <<1) Clients can assign key
40 btn_acts actions to buttons
41 non-KeyClass input
42 extension devices.
43
44 XkbXI_IndicatorNamesMask leds->names (1L <<2) Clients can assign
45 names to indicators on
46 non-KeyClass input
47 extension devices.
48
49 XkbXI_IndicatorMapsMask leds->maps (1L <<3) Clients can assign
50 indicator maps to
51 indicators on
52 non-KeyClass input
53 extension devices.
54
55 XkbXI_IndicatorStateMask leds->state (1L <<4) Clients can request
56 the status of indicators
57 on non-KeyClass input
58 extension devices.
59
60 XkbXI_IndicatorsMask sz_leds (0x1c) XkbXI_IndicatorNamesMask |
61 num_leds XkbXI_IndicatorMapsMask |
62 leds->* XkbXI_IndicatorStateMask
63
64 XkbXI_UnsupportedFeaturesMask unsupported (1L <<15)
65
66 XkbXI_AllDeviceFeaturesMask Those selected (0x1e) XkbXI_IndicatorsMask |
67 by Value Column XkbSI_ButtonActionsMask
68 masks
69
70 XkbXI_AllFeaturesMask Those selected (0x1f) XkbSI_AllDeviceFeaturesMask |
71 by Value Column XkbSI_KeyboardsMask
72 masks
73
74 XkbXI_AllDetailsMask Those selected (0x801f) XkbXI_AllFeaturesMask |
75 by Value column XkbXI_UnsupportedFeaturesMask
76 masks
77
78 To update a local copy of the state and configuration of an X input ex‐
79 tension device with the changes previously noted in an XkbDe‐
80 viceChangesRec structure, use XkbGetDeviceInfoChanges.
81
83 Changes to an Xkb extension device may be tracked by listening to Xkb‐
84 DeviceExtensionNotify events and accumulating the changes in an XkbDe‐
85 viceChangesRec structure. The changes noted in the structure may then
86 be used in subsequent operations to update either a server configura‐
87 tion or a local copy of an Xkb extension device configuration. The
88 changes structure is defined as follows:
89
90 typedef struct _XkbDeviceChanges {
91 unsigned int changed; /* bits indicating what has changed */
92 unsigned short first_btn; /* number of first button which changed, if any */
93 unsigned short num_btns; /* number of buttons that have changed */
94 XkbDeviceLedChangesRec leds;
95 } XkbDeviceChangesRec,*XkbDeviceChangesPtr;
96
97
99 XkbGetDeviceInfoChanges(3)
100
101
102
103X Version 11 libX11 1.8.7 XkbNoteDeviceChanges(3)