Manpage of 'XkbGetDeviceInfo' on UHLU - BSD System Documentation,
Programming Reference, Manual Pages and Source Code
All manual pages         All RFC pages
Common page
for XkbGetDeviceInfo
Other pages
for XkbGetDeviceInfo
More pages
containing XkbGetDeviceInfo

Section 3 manual page or howto for 'XkbGetDeviceInfo'  

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 ( dpy, which, device_spec, ind_class,
       ind_id )

	     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
       returned. 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
       corresponding 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
       XkbXI_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(3X11)



X Version 11			 libX11 1.2.1		   XkbGetDeviceInfo(3)

NAME - SYNOPSIS - ARGUMENTS - DESCRIPTION - STRUCTURES - SEE ALSO -  
All manual pages         All RFC pages
Common page
for XkbGetDeviceInfo
Other pages
for XkbGetDeviceInfo
More pages
containing XkbGetDeviceInfo
A random manual page         All manual pages        All RFC pages