Unix/Linux Go Back    

X11R7.4 - man page for xkbsetdeviceinfo (x11r4 section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

XkbSetDeviceInfo(3)			  XKB FUNCTIONS 		      XkbSetDeviceInfo(3)

       XkbSetDeviceInfo  -  Modify  some  or  all  of the characteristics of an X Input Extension

       Bool XkbSetDeviceInfo ( dpy, which, device_info )
	     Display * dpy;
	     unsigned int which;
	     XkbDeviceInfoPtr device_info;

       - dpy  connection to X server

       - which
	      mask indicating characteristics to modify

       - device_info
	      structure defining the device and modifications

       To change characteristics of an X Input Extension device in the	server,  first	modify	a
       local  copy of the device structure and then use either XkbSetDeviceInfo, or, to save net-
       work traffic, use an XkbDeviceChangesRec structure and call XkbChangeDeviceInfo	to  down-
       load the changes to the server.

       XkbSetDeviceInfo sends a request to the server to modify the characteristics of the device
       specified in the device_info structure. The particular characteristics modified are  iden-
       tified  by  the	bits  set  in  which  and  take  their values from the relevant fields in
       device_info (see Table 1). XkbSetDeviceInfo returns True if the request	was  successfully
       sent  to the server. If the X server implementation does not allow interaction between the
       X input extension and the Xkb Extension, the function does nothing and returns False.
				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

       XkbXI_AllFeaturesMask	     Those selected  (0x1f)   XkbSI_AllDeviceFeaturesMask |
				     by Value Column	      XkbSI_KeyboardsMask

       XkbXI_AllDetailsMask	     Those selected  (0x801f) XkbXI_AllFeaturesMask |
				     by Value column	      XkbXI_UnsupportedFeaturesMask

       The which parameter specifies which aspects of the device should be changed and is a  bit-
       mask composed of an inclusive OR or one or more of the following bits: XkbXI_ButtonAction-
       sMask, XkbXI_IndicatorNamesMask, XkbXI_IndicatorMapsMask. If the features requested to  be
       manipulated  in which are valid for the device, but the server does not support assignment
       of one or more of them, that particular portion of the request is ignored.

       If the device specified in device_info->device_spec does not contain buttons and a request
       affecting buttons is made, or the device does not contain indicators and a request affect-
       ing indicators is made, a BadMatch protocol error results.

       If the XkbXI_ButtonActionsMask bit is set in the supported mask returned by  XkbGetDevice-
       Info,  the  Xkb	extension  allows  applications to assign key actions to buttons on input
       extension devices other than the core keyboard device. If the  XkbXI_ButtonActionsMask  is
       set  in	which, the actions for all buttons specified in device_info are set to the XkbAc-
       tions specified in device_info->btn_acts.  If  the  number  of  buttons	requested  to  be
       updated	is not valid for the device, XkbSetDeviceInfo returns False and a BadValue proto-
       col error results.

       If the XkbXI_IndicatorMaps and / or XkbXI_IndicatorNamesMask bit is set in  the	supported
       mask  returned  by  XkbGetDeviceInfo, the Xkb extension allows applications to assign maps
       and / or names to the indicators of nonkeyboard extension devices. If supported, maps  and
       /  or names can be assigned to all extension device indicators, whether they are part of a
       keyboard feedback or part of an indicator feedback.

       If the XkbXI_IndicatorMapsMask and / or XkbXI_IndicatorNamesMask flag is set in which, the
       indicator maps and / or names for all device_info->num_leds indicator devices specified in
       device_info->leds are set to the maps and  /  or  names	specified  in  device_info->leds.
       device_info->leds->led_class  and  led_id  specify the input extension class and device ID
       for each indicator device to modify; if they have  invalid  values,  a  BadValue  protocol
       error  results  and  XkbSetDeviceInfo  returns False. If they have legal values but do not
       specify a keyboard or indicator class feedback for the  device  in  question,  a  BadMatch
       error  results.	 If any of the values in device_info->leds->names are not a valid Atom or
       None, a BadAtom protocol error results.

       True	      The XkbSetDeviceInfo function returns True if the request was  successfully
		      sent to the server.

       False	      The  XkbSetDeviceInfo function returns False if the X server implementation
		      does not allow interaction between the X input extension and the Xkb Exten-

       Changes to an Xkb extension device may be tracked by listening to XkbDeviceExtensionNotify
       events and accumulating the changes in an XkbDeviceChangesRec structure. The changes noted
       in  the structure may then be used in subsequent operations to update either a server con-
       figuration or a local copy of an Xkb extension device configuration. The changes structure
       is defined as follows:

       typedef struct _XkbDeviceChanges {
	   unsigned int    changed;    /* bits indicating what has changed */
	   unsigned short  first_btn;  /* number of first button which changed, if any */
	   unsigned short  num_btns;   /* number of buttons that have changed */
	   XkbDeviceLedChangesRec leds;
       } XkbDeviceChangesRec,*XkbDeviceChangesPtr;

       BadAtom	      A name is neither a valid Atom or None

       BadMatch       A  compatible version of Xkb was not available in the server or an argument
		      has correct type and range, but is otherwise invalid

       BadValue       An argument is out of range

       XkbChangeDeviceInfo(3), XkbGetDeviceInfo(3)

X Version 11				   libX11 1.2.1 		      XkbSetDeviceInfo(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 01:16 PM.