Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XkbFreeDeviceInfo(3)		 XKB FUNCTIONS		  XkbFreeDeviceInfo(3)

NAME
       XkbFreeDeviceInfo - Free	an XkbDeviceInfoRec structure

SYNOPSIS
       void  XkbFreeDeviceInfo	(XkbDeviceInfoPtr  device_info,	 unsigned  int
	      which, Bool free_all);

ARGUMENTS
       - device_info
	      pointer to XkbDeviceInfoRec in which to free items

       - which
	      mask of components of device_info	to free

       - free_all
	      True => free everything, including device_info

DESCRIPTION
       If free_all is True, the	XkbFreeDeviceInfo frees	all components of  de-
       vice_info  and the XkbDeviceInfoRec structure pointed to	by device_info
       itself. If free_all is False, the value of which	determines which  sub-
       components  are	freed.	which is an inclusive OR of one	or more	of the
       values from Table 1. If	which  contains	 XkbXI_ButtonActionsMask,  all
       button	actions	  associated   with   device_info   are	  freed,   de-
       vice_info-_btn_acts is set to NULL, and device_info-_num_btns is	set to
       zero.  If  which	 contains all bits in XkbXI_IndicatorsMask, all	XkbDe-
       viceLedInfoRec structures associated with device_info  are  freed,  de-
       vice_info-_leds	is  set	 to  NULL,  and	 device_info-_sz_leds  and de-
       vice_info-_num_leds are set to zero. If	which  contains	 XkbXI_Indica-
       torMapsMask,   all  indicator  maps  associated	with  device_info  are
       cleared,	but the	number of LEDs and the leds structures	themselves  is
       preserved.  If  which  contains XkbXI_IndicatorNamesMask, all indicator
       names associated	with device_info are cleared, but the number  of  LEDs
       and  the	leds structures	themselves is preserved. If which contains Xk-
       bXI_IndicatorStateMask, the indicator state  associated	with  the  de-
       vice_info  leds	are  set  to zeros but the number of LEDs and the leds
       structures themselves is	preserved.
				Table 1	XkbDeviceInfoRec Mask Bits
       ____________________________________________________________________________________
       Name			    XkbDeviceInfoRec Value     Capability If Set
				    Fields Effected
       ____________________________________________________________________________________
       XkbXI_KeyboardsMask			     (1L <<0) Clients can use all
							      Xkb requests and events
							      with KeyClass devices
							      supported	by the input
							      device extension.

       XkbXI_ButtonActionsMask	     num_btns	     (1L <<1) Clients can assign key
				     btn_acts		      actions to buttons
							      non-KeyClass input
							      extension	devices.

       XkbXI_IndicatorNamesMask	     leds->names     (1L <<2) Clients can assign
							      names to indicators on
							      non-KeyClass input
							      extension	devices.

       XkbXI_IndicatorMapsMask	     leds->maps	     (1L <<3) Clients can assign
							      indicator	maps to
							      indicators on
							      non-KeyClass input
							      extension	devices.

       XkbXI_IndicatorStateMask	     leds->state     (1L <<4) Clients can request
							      the status of indicators
							      on non-KeyClass input
							      extension	devices.

       XkbXI_IndicatorsMask	     sz_leds	     (0x1c)   XkbXI_IndicatorNamesMask |
				     num_leds		      XkbXI_IndicatorMapsMask |
				     leds->*		      XkbXI_IndicatorStateMask

       XkbXI_UnsupportedFeaturesMask unsupported     (1L <<15)

       XkbXI_AllDeviceFeaturesMask   Those selected  (0x1e)   XkbXI_IndicatorsMask |
				     by	Value Column	      XkbSI_ButtonActionsMask
				     masks

       XkbXI_AllFeaturesMask	     Those selected  (0x1f)   XkbSI_AllDeviceFeaturesMask |
				     by	Value Column	      XkbSI_KeyboardsMask
				     masks

       XkbXI_AllDetailsMask	     Those selected  (0x801f) XkbXI_AllFeaturesMask |
				     by	Value column	      XkbXI_UnsupportedFeaturesMask
				     masks

STRUCTURES
       Information about X Input Extension devices is  transferred  between  a
       client program and the Xkb extension in an XkbDeviceInfoRec structure:

       typedef struct {
	   char	*		name;	       /* name for device */
	   Atom			type;	       /* name for class of devices */
	   unsigned short	device_spec;   /* device of interest */
	   Bool			has_own_state; /* True=>this device has	its own	state */
	   unsigned short	supported;     /* bits indicating supported capabilities */
	   unsigned short	unsupported;   /* bits indicating unsupported capabilities */
	   unsigned short	num_btns;      /* number of entries in btn_acts	*/
	   XkbAction *		btn_acts;      /* button actions */
	   unsigned short	sz_leds;       /* total	number of entries in LEDs vector */
	   unsigned short	num_leds;      /* number of valid entries in LEDs vector */
	   unsigned short	dflt_kbd_fb;   /* input	extension ID of	default	(core kbd) indicator */
	   unsigned short	dflt_led_fb;   /* input	extension ID of	default	indicator feedback */
	   XkbDeviceLedInfoPtr	leds;	       /* LED descriptions */
       } XkbDeviceInfoRec, *XkbDeviceInfoPtr;

       typedef struct {
	   unsigned short      led_class;	 /* class for this LED device*/
	   unsigned short      led_id;		 /* ID for this	LED device */
	   unsigned int	       phys_indicators;	 /* bits for which LEDs	physically present */
	   unsigned int	       maps_present;	 /* bits for which LEDs	have maps in maps */
	   unsigned int	       names_present;	 /* bits for which LEDs	are in names */
	   unsigned int	       state;		 /* 1 bit => corresponding LED is on */
	   Atom		       names[XkbNumIndicators];	  /* names for LEDs */
	   XkbIndicatorMapRec  maps;		 /* indicator maps for each LED	*/
       } XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;

X Version 11			 libX11	1.6.5		  XkbFreeDeviceInfo(3)

NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | STRUCTURES

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=XkbFreeDeviceInfo&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help