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

FreeBSD Manual Pages

  
 
  

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

NAME
       XkbGetDeviceInfo	 - Determine whether the X server allows Xkb access to
       particular capabilities of input	devices	other than  the	 core  X  key-
       board, or to determine the status of indicator maps, indicator names or
       button actions on a non-KeyClass	extension device

SYNOPSIS

       XkbDeviceInfoPtr	 XkbGetDeviceInfo  (Display  *dpy, unsigned int	which,
	      unsigned int device_spec,	unsigned int ind_class,	 unsigned  int
	      ind_id);

ARGUMENTS
       dpy    connection to X server

       which  mask indicating information to return

       device_spec
	      device ID, or XkbUseCoreKbd

       ind_class
	      feedback class for indicator requests

       ind_id feedback ID for indicator	requests

DESCRIPTION
       To determine whether the	X server allows	Xkb access to particular capa-
       bilities	 of input devices other	than the core X	keyboard, or to	deter-
       mine the	status of indicator maps, indicator names or button actions on
       a non-KeyClass extension	device,	use XkbGetDeviceInfo.

       XkbGetDeviceInfo	returns	information about the input  device  specified
       by  device_spec.	  Unlike  the  device_spec parameter of	most Xkb func-
       tions, device_spec does not need	to be a	keyboard device. It must, how-
       ever, indicate either the core keyboard or a valid  X  Input  Extension
       device.

       The which parameter is a	mask specifying	optional information to	be re-
       turned. It is an	inclusive OR of	one or more of the values from Table 1
       and causes the returned XkbDeviceInfoRec	to contain values for the cor-
       responding fields specified in the table.

				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

       The XkbDeviceInfoRec returned by	XkbGetDeviceInfo always	has values for
       name  (may  be  a  null	string,	 ""),  type,  supported,  unsupported,
       has_own_state, dflt_kbd_fd, and dflt_kbd_fb.  Other fields  are	filled
       in as specified by which.

       Upon  return,  the  supported  field will be set	to the inclusive OR of
       zero or more bits from Table 1; each bit	set indicates an optional  Xkb
       extension  device feature supported by the server implementation, and a
       client may modify the associated	behavior.

       If the XkbButtonActionsMask bit is set in which,	 the  XkbDeviceInfoRec
       returned	 will  have  the button	actions	(btn_acts field) filled	in for
       all buttons.

       If which	includes one of	the bits in XkbXI_IndicatorsMask, the feedback
       class of	the indicators must be specified in ind_class, and  the	 feed-
       back  ID	of the indicators must be specified in ind_id.	If the request
       does not	include	any of the bits	in XkbXI_IndicatorsMask, the ind_class
       and ind_id parameters are ignored. The class and	ID can be obtained via
       the input device	extension XListInputDevices request.

       If any of the XkbXI_IndicatorsMask bits are set in which, the  XkbDevi-
       ceInfoRec  returned will	have filled in the portions of the leds	struc-
       ture corresponding to the indicator feedback  identified	 by  ind_class
       and  ind_id.   The  leds	vector of the XkbDeviceInfoRec is allocated if
       necessary and sz_leds and num_leds filled in. The led_class, led_id and
       phys_indicators fields of the leds entry	corresponding to ind_class and
       ind_id are always filled	in. If	which  contains	 XkbXI_IndicatorNames-
       Mask,  the  names_present and names fields of the leds structure	corre-
       sponding	to ind_class and ind_id	are returned. If  which	 contains  Xk-
       bXI_IndicatorStateMask,	the  corresponding  state field	is updated. If
       which  contains	XkbXI_IndicatorMapsMask,  the  maps_present  and  maps
       fields are updated.

       Xkb  provides  convenience functions to request subsets of the informa-
       tion available via XkbGetDeviceInfo.  These convenience functions  mir-
       ror  some  of the mask bits. The	functions all take an XkbDeviceInfoPtr
       as an input argument and	operate	on the X Input Extension device	speci-
       fied by the device_spec field of	the structure. Only the	parts  of  the
       structure indicated in the function description are updated. The	XkbDe-
       viceInfoRec  structure  used  in	 the  function call can	be obtained by
       calling XkbGetDeviceInfo	or can be allocated by calling XkbAllocDevice-
       Info.

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;

SEE ALSO
       XkbAllocDeviceInfo(3), XListInputDevices(3)

X Version 11			 libX11	1.8.12		   XkbGetDeviceInfo(3)

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

home | help