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

FreeBSD Manual Pages


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

       XkbAddDeviceLedInfo - Initialize	an XkbDeviceLedInfoRec structure

       XkbDeviceLedInfoPtr  XkbAddDeviceLedInfo	(XkbDeviceInfoPtr device_info,
	      unsigned int led_class, unsigned int led_id);

       - 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

       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.	Other-
       wise,  it  checks  to  be sure there is at least	one empty entry	in de-
       vice_info-_leds and extends it if there is not enough room. It then in-
       crements	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	XkbDe-
       viceLedInfoRec  structure  that	was initialized. If unable to allocate
       sufficient storage, or if device_info points to an invalid XkbDeviceIn-
       foRec structure,	or if led_class	or led_id are inappropriate, XkbAddDe-
       viceLedInfo returns NULL.

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

       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.12		XkbAddDeviceLedInfo(3)


Want to link to this manual page? Use this URL:

home | help