1XkbFreeDeviceInfo(3)             XKB FUNCTIONS            XkbFreeDeviceInfo(3)
2
3
4

NAME

6       XkbFreeDeviceInfo - Free an XkbDeviceInfoRec structure
7

SYNOPSIS

9       void  XkbFreeDeviceInfo  (XkbDeviceInfoPtr  device_info,  unsigned  int
10              which, Bool free_all);
11

ARGUMENTS

13       - device_info
14              pointer to XkbDeviceInfoRec in which to free items
15
16       - which
17              mask of components of device_info to free
18
19       - free_all
20              True => free everything, including device_info
21

DESCRIPTION

23       If free_all is True, the XkbFreeDeviceInfo frees all components of  de‐
24       vice_info  and the XkbDeviceInfoRec structure pointed to by device_info
25       itself. If free_all is False, the value of which determines which  sub‐
26       components  are  freed.  which is an inclusive OR of one or more of the
27       values from Table 1. If  which  contains  XkbXI_ButtonActionsMask,  all
28       button   actions   associated   with   device_info   are   freed,   de‐
29       vice_info->btn_acts is set to NULL, and device_info->num_btns is set to
30       zero.  If  which  contains all bits in XkbXI_IndicatorsMask, all XkbDe‐
31       viceLedInfoRec structures associated with device_info  are  freed,  de‐
32       vice_info->leds  is  set  to  NULL,  and  device_info->sz_leds  and de‐
33       vice_info->num_leds are set to zero. If  which  contains  XkbXI_Indica‐
34       torMapsMask,   all  indicator  maps  associated  with  device_info  are
35       cleared, but the number of LEDs and the leds structures  themselves  is
36       preserved.  If  which  contains XkbXI_IndicatorNamesMask, all indicator
37       names associated with device_info are cleared, but the number  of  LEDs
38       and  the leds structures themselves is preserved. If which contains Xk‐
39       bXI_IndicatorStateMask, the indicator state  associated  with  the  de‐
40       vice_info  leds  are  set  to zeros but the number of LEDs and the leds
41       structures themselves is preserved.
42                                Table 1 XkbDeviceInfoRec Mask Bits
43       ____________________________________________________________________________________
44       Name                         XkbDeviceInfoRec Value     Capability If Set
45                                    Fields Effected
46       ____________________________________________________________________________________
47       XkbXI_KeyboardsMask                           (1L <<0) Clients can use all
48                                                              Xkb requests and events
49                                                              with KeyClass devices
50                                                              supported by the input
51                                                              device extension.
52
53       XkbXI_ButtonActionsMask       num_btns        (1L <<1) Clients can assign key
54                                     btn_acts                 actions to buttons
55                                                              non-KeyClass input
56                                                              extension devices.
57
58       XkbXI_IndicatorNamesMask      leds->names     (1L <<2) Clients can assign
59                                                              names to indicators on
60                                                              non-KeyClass input
61                                                              extension devices.
62
63       XkbXI_IndicatorMapsMask       leds->maps      (1L <<3) Clients can assign
64                                                              indicator maps to
65                                                              indicators on
66                                                              non-KeyClass input
67                                                              extension devices.
68
69       XkbXI_IndicatorStateMask      leds->state     (1L <<4) Clients can request
70                                                              the status of indicators
71                                                              on non-KeyClass input
72                                                              extension devices.
73
74       XkbXI_IndicatorsMask          sz_leds         (0x1c)   XkbXI_IndicatorNamesMask |
75                                     num_leds                 XkbXI_IndicatorMapsMask |
76                                     leds->*                  XkbXI_IndicatorStateMask
77
78       XkbXI_UnsupportedFeaturesMask unsupported     (1L <<15)
79
80       XkbXI_AllDeviceFeaturesMask   Those selected  (0x1e)   XkbXI_IndicatorsMask |
81                                     by Value Column          XkbSI_ButtonActionsMask
82                                     masks
83
84       XkbXI_AllFeaturesMask         Those selected  (0x1f)   XkbSI_AllDeviceFeaturesMask |
85                                     by Value Column          XkbSI_KeyboardsMask
86                                     masks
87
88       XkbXI_AllDetailsMask          Those selected  (0x801f) XkbXI_AllFeaturesMask |
89                                     by Value column          XkbXI_UnsupportedFeaturesMask
90                                     masks
91

STRUCTURES

93       Information about X Input Extension devices is  transferred  between  a
94       client program and the Xkb extension in an XkbDeviceInfoRec structure:
95
96       typedef struct {
97           char *               name;          /∗ name for device */
98           Atom                 type;          /∗ name for class of devices */
99           unsigned short       device_spec;   /∗ device of interest */
100           Bool                 has_own_state; /∗ True=>this device has its own state */
101           unsigned short       supported;     /∗ bits indicating supported capabilities */
102           unsigned short       unsupported;   /∗ bits indicating unsupported capabilities */
103           unsigned short       num_btns;      /∗ number of entries in btn_acts */
104           XkbAction *          btn_acts;      /∗ button actions */
105           unsigned short       sz_leds;       /∗ total number of entries in LEDs vector */
106           unsigned short       num_leds;      /∗ number of valid entries in LEDs vector */
107           unsigned short       dflt_kbd_fb;   /∗ input extension ID of default (core kbd) indicator */
108           unsigned short       dflt_led_fb;   /∗ input extension ID of default indicator feedback */
109           XkbDeviceLedInfoPtr  leds;          /∗ LED descriptions */
110       } XkbDeviceInfoRec, *XkbDeviceInfoPtr;
111
112       typedef struct {
113           unsigned short      led_class;        /∗ class for this LED device*/
114           unsigned short      led_id;           /∗ ID for this LED device */
115           unsigned int        phys_indicators;  /∗ bits for which LEDs physically present */
116           unsigned int        maps_present;     /∗ bits for which LEDs have maps in maps */
117           unsigned int        names_present;    /∗ bits for which LEDs are in names */
118           unsigned int        state;            /∗ 1 bit => corresponding LED is on */
119           Atom                names[XkbNumIndicators];   /∗ names for LEDs */
120           XkbIndicatorMapRec  maps;             /∗ indicator maps for each LED */
121       } XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
122
123
124
125
126X Version 11                     libX11 1.7.0             XkbFreeDeviceInfo(3)
Impressum