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

FreeBSD Manual Pages

  
 
  

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

NAME
     XkbAddDeviceLedInfo - Initialize an XkbDeviceLedInfoRec structure

SYNOPSIS
     XkbDeviceLedInfoPtr  XkbAddDeviceLedInfo (XkbDeviceInfoPtr device_info, un-
	    signed int led_class, unsigned int led_id);

ARGUMENTS
     device_info
	    structure in which to add LED info

     led_class
	    input extension class for LED device of interest

     led_id
	    input extension ID for LED device of interest

DESCRIPTION
     XkbAddDeviceLedInfo first checks to see whether an entry matching led_class
     and led_id already exists in the device_info->leds array.	If  it	finds  a
     matching entry, it returns a pointer to that entry. Otherwise, it checks to
     be  sure there is at least one empty entry in device_info->leds and extends
     it if there is not enough room. It  then  increments  device_info->num_leds
     and  fills  in the next available entry in device_info->leds with led_class
     and led_id.

     If successful, XkbAddDeviceLedInfo returns a pointer to the XkbDeviceLedIn-
     foRec structure that was initialized.  If	unable	to  allocate  sufficient
     storage, or if device_info points to an invalid XkbDeviceInfoRec structure,
     or  if  led_class	or led_id are inappropriate, XkbAddDeviceLedInfo returns
     NULL.

     To allocate additional space for  button  actions	in  an	XkbDeviceInfoRec
     structure, use XkbResizeDeviceButtonActions.

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;

SEE ALSO
     XkbResizeDeviceButtonActions(3)

X Version 11			  libX11 1.8.13 	  XkbAddDeviceLedInfo(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=XkbAddDeviceLedInfo&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help