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

FreeBSD Manual Pages


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

       XkbAllocDeviceInfo - Obtain an XkbDeviceInfoRec structure

       XkbDeviceInfoPtr	XkbAllocDeviceInfo (unsigned int device_spec, unsigned
	      int n_buttons, unsigned int sz_leds);

       - device_spec
	      device ID	with which structure will be used

       - n_buttons
	      number of	button actions to allocate space for

       - sz_leds
	      number of	LED feedbacks to allocate space	for

       XkbAllocDeviceInfo allocates space for  an  XkbDeviceInfoRec  structure
       and  initializes	 that structure's device_spec field with the device ID
       specified by device_spec.  If n_buttons is  nonzero,  n_buttons	XkbAc-
       tions are linked	into the XkbDeviceInfoRec structure and	initialized to
       zero. If	sz_leds	is nonzero, sz_leds XkbDeviceLedInfoRec	structures are
       also  allocated	and linked into	the XkbDeviceInfoRec structure.	If you
       request XkbDeviceLedInfoRec structures be allocated using this request,
       you must	initialize them	explicitly.

       To obtain an XkbDeviceLedInfoRec	structure, use XkbAllocDeviceLedInfo.

       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		 XkbAllocDeviceInfo(3)


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

home | help