XkbSetDeviceInfo man page on Peanut

Man page or keyword search:  
man Server   7435 pages
apropos Keyword Search (all sections)
Output format
Peanut logo
[printable version]

XkbSetDeviceInfo(3)		 XKB FUNCTIONS		   XkbSetDeviceInfo(3)

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

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

ARGUMENTS
       - dpy  connection to X server

       - which
	      mask indicating characteristics to modify

       - device_info
	      structure defining the device and modifications

DESCRIPTION
       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 network traffic, use an XkbDeviceChanges‐
       Rec  structure  and call XkbChangeDeviceInfo to download the changes to
       the server.

       XkbSetDeviceInfo sends a request to the server to modify the character‐
       istics  of  the device specified in the device_info structure. The par‐
       ticular characteristics modified are identified	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  suc‐
       cessfully  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
				     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  which  parameter  specifies	 which aspects of the device should be
       changed and is a bitmask composed of an inclusive OR or one or more  of
       the  following bits: XkbXI_ButtonActionsMask, XkbXI_IndicatorNamesMask,
       XkbXI_IndicatorMapsMask. If the features requested to be manipulated in
       which are valid for the device, but the server does not support assign‐
       ment 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 affecting indicators is made, a Bad‐
       Match protocol error results.

       If the  XkbXI_ButtonActionsMask	bit  is	 set  in  the  supported  mask
       returned	 by XkbGetDeviceInfo, 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
       XkbActions  specified  in device_info->btn_acts.	 If the number of but‐
       tons requested to be updated is not valid for the device, XkbSetDevice‐
       Info returns False and a BadValue protocol 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.

RETURN VALUES
       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 Extension.

STRUCTURES
       Changes	to an Xkb extension device may be tracked by listening to Xkb‐
       DeviceExtensionNotify events and accumulating the changes in an	XkbDe‐
       viceChangesRec  structure.  The changes noted in the structure may then
       be used in subsequent operations to update either a  server  configura‐
       tion  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;

DIAGNOSTICS
       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

SEE ALSO
       XkbChangeDeviceInfo(3), XkbGetDeviceInfo(3)

X Version 11			  libX11 1.2		   XkbSetDeviceInfo(3)
[top]

List of man pages available for Peanut

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net