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

FreeBSD Manual Pages

  
 
  

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

NAME
       XkbSetControls  -  Copies  changes  to the X server based on a modified
       ctrls structure in a local copy of the keyboard description

SYNOPSIS

       Bool XkbSetControls (Display *display, unsigned long which,  XkbDescPtr
	      xkb);

ARGUMENTS
       display
	      connection to X server

       which  mask of controls requested

       xkb    keyboard description for controls	information

DESCRIPTION
       For  each  bit that is set in the which parameter, XkbSetControls sends
       the corresponding values	from the xkb->ctrls field to the server. Valid
       values for which	are any	combination of the masks  listed  in  Table  1
       that have "ok" in the which column.

       Table  1	 shows	the actual values for the individual mask bits used to
       select controls for modification	and to enable and disable the control.
       Note that the same mask bit is used to specify general modifications to
       the parameters used to configure	the control (which), and to enable and
       disable the control (enabled_ctrls). The	anomalies  in  the  table  (no
       "ok"  in	column)	are for	controls that have no configurable attributes;
       and for controls	that are not boolean controls and therefore cannot  be
       enabled or disabled.

			       Table 1 Controls	Mask Bits
       ---------------------------------------------------------------------------
       Mask Bit			which or	enabled	  Value
				changed_ctrls	_ctrls
       ---------------------------------------------------------------------------
       XkbRepeatKeysMask	ok		ok	  (1L<<0)
       XkbSlowKeysMask		ok		ok	  (1L<<1)
       XkbBounceKeysMask	ok		ok	  (1L<<2)
       XkbStickyKeysMask	ok		ok	  (1L<<3)
       XkbMouseKeysMask		ok		ok	  (1L<<4)
       XkbMouseKeysAccelMask	ok		ok	  (1L<<5)
       XkbAccessXKeysMask	ok		ok	  (1L<<6)
       XkbAccessXTimeoutMask	ok		ok	  (1L<<7)
       XkbAccessXFeedbackMask	ok		ok	  (1L<<8)
       XkbAudibleBellMask			ok	  (1L<<9)
       XkbOverlay1Mask				ok	  (1L<<10)
       XkbOverlay2Mask				ok	  (1L<<11)
       XkbIgnoreGroupLockMask			ok	  (1L<<12)
       XkbGroupsWrapMask	ok			  (1L<<27)
       XkbInternalModsMask	ok			  (1L<<28)
       XkbIgnoreLockModsMask	ok			  (1L<<29)
       XkbPerKeyRepeatMask	ok			  (1L<<30)
       XkbControlsEnabledMask	ok			  (1L<<31)
       XkbAccessXOptionsMask	ok		ok	  (XkbStickyKeysMask |
							  XkbAccessXFeedbackMask)
       XkbAllBooleanCtrlsMask			ok	  (0x00001FFF)
       XkbAllControlsMask	ok			  (0xF8001FFF)

       If xkb->ctrls is	NULL, the server does not support a compatible version
       of Xkb, or the Xkb extension has	not been properly initialized, XkbSet-
       Controls	returns	False. Otherwise, it sends the request to the X	server
       and returns True.

       Note  that  changes  to	attributes  of	controls in the	XkbControlsRec
       structure are apparent only when	the associated control is enabled, al-
       though the corresponding	values are still updated in the	X server.  For
       example,	the repeat_delay and repeat_interval fields are	ignored	unless
       the  RepeatKeys	control	is enabled (that is, the X server's equivalent
       of xkb->ctrls has XkbRepeatKeyMask set in enabled_ctrls).  It  is  per-
       missible	 to  modify the	attributes of a	control	in one call to XkbSet-
       Controls	and enable the control in a subsequent call. See  XkbChangeEn-
       abledControls for more information on enabling and disabling controls.

       Note that the enabled_ctrls field is itself a control - the EnabledCon-
       trols  control. As such,	to set a specific configuration	of enabled and
       disabled	boolean	controls, you must set enabled_ctrls to	the  appropri-
       ate  bits  to enable only the controls you want and disable all others,
       then specify the	XkbControlsEnabledMask in a call to XkbSetControls.

       Because this is somewhat	awkward	if all you want	to do  is  enable  and
       disable controls, and not modify	any of their attributes, a convenience
       function	is also	provided for this purpose, XkbChangeEnabledControls.

RETURN VALUES
       True	      The  XkbSetControls  function returns True when it sends
		      the request to the X server.

       False	      The   XkbSetControls   function	returns	  False	  when
		      xkb->ctrls  is  NULL, the	server does not	support	a com-
		      patible version of Xkb, or the  Xkb  extension  has  not
		      been properly initialized.

DIAGNOSTICS
       BadAlloc	      Unable to	allocate storage

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

SEE ALSO
       XkbChangeEnabledControls(3), XkbFreeControls(3)

X Version 11			 libX11	1.8.12		     XkbSetControls(3)

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

home | help