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

FreeBSD Manual Pages

  
 
  

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

NAME
       XkbChangeControls  -  Provides  a flexible method for updating the con-
       trols in	a server to match those	in the changed keyboard	description

SYNOPSIS
       Bool  XkbChangeControls	(Display   *dpy,   XkbDescPtr	xkb,   XkbCon-
	      trolsChangesPtr changes);

ARGUMENTS
       - dpy  connection to X server

       - xkb  keyboard description with	changed	xkb->ctrls

       - changes
	      which parts of xkb->ctrls	have changed

DESCRIPTION
       The  XkbControlsChangesRec structure allows applications	to track modi-
       fications to an XkbControlsRec structure	and thereby reduce the	amount
       of traffic sent to the server. The same XkbControlsChangesRec structure
       may be used in several successive modifications to the same XkbControl-
       sRec structure, then subsequently used to cause all of the changes, and
       only the	changes, to be propagated to the server.

       The changed_ctrls field is a mask specifying which logical sets of data
       in the controls structure have been modified. In	this context, modified
       means set, that is, if a	value is set to	the same value	it  previously
       contained,  it  has still been modified,	and is noted as	changed. Valid
       values for changed_ctrls	are any	combination of the masks listed	in Ta-
       ble 1 that have "ok" in the changed_ctrls column. Setting a bit implies
       the corresponding data fields from the  "Relevant  XkbControlsRec  Data
       Fields" column in Table 1 have been modified. The enabled_ctrls_changes
       field specifies which bits in the enabled_ctrls field have changed.  If
       the number of keyboard groups has changed, the num_groups_changed field
       is set to True.

       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 Xkb Controls
       ----------------------------------------------------------------------------------
       Control		 Control
			 Selection	   Relevant
			 Mask (which	   XkbControlsRec    Boolean Control
			 parameter)	   DataFields	     enabled_ctrls bit	 Section
       ----------------------------------------------------------------------------------
       AccessXFeedback	 XkbAccessX-	   ax_options:	     XkbAccessX-	 10.6.3
			 FeedbackMask	     XkbAX_*FBMask   FeedbackMask
       AccessXKeys					     XkbAccessXKeys-	 10.6.1
							     Mask

       AccessXTimeout	 XkbAccessX-	   ax_timeout	     XkbAccessX-	 10.6.2
			 TimeoutMask	   axt_opts_mask     TimeoutMask
					   axt_opts_values
					   axt_ctrls_mask
					   axt_ctrls_val-
					   ues
       AudibleBell					     XkbAudibleBell-	 9.2
							     Mask
       AutoReset								 10.1.2
       BounceKeys	 XkbBounce-	   debounce_delay    XkbBounceKeysMask	 10.6.7
			 KeysMask
       Detectable-								 10.3.3
       Autorepeat
       EnabledControls	 XkbControls-	   enabled_ctrls     Non-Boolean	 10.1.1
			 EnabledMask			     Control
       GroupsWrap	 XkbGroupsWrap-	   groups_wrap	     Non-Boolean	 10.7.1
			 Mask				     Control
       IgnoreGroupLock					     XkbIgnore-		 10.7.3
							     GroupLockMask
       IgnoreLockMods	 XkbIgnore-	   ignore_lock	     Non-Boolean	 5.1
			 LockModsMask			     Control
       InternalMods	 XkbInternal-	   internal	     Non-Boolean	 5.1
			 ModsMask			     Control
       MouseKeys	 Xkb-		   mk_dflt_btn	     XkbMouseKeysMask	 10.5.1
			 MouseKeysMask
       MouseKeysAccel	 XkbMouseKeys-	   mk_delay mk_in-   XkbMouseKeys-	 10.5.2
			 AccelMask	   terval	     AccelMask
					   mk_time_to_max
					   mk_max_speed
					   mk_curve
       Overlay1						     XkbOverlay1Mask	 10.4
       Overlay2						     XkbOverlay2Mask	 10.4
       PerKeyRepeat	 XkbPerKey-	   per_key_repeat    Non-Boolean	 10.3.1
			 RepeatMask			     Control
       RepeatKeys	 XkbRepeatKeys-	   repeat_delay	     XkbRepeatKeysMask	 10.3
			 Mask
							     repeat_interval
       SlowKeys		 XkbSlowKeysMask   slow_keys_delay   XkbSlowKeysMask	 10.6.6
       StickyKeys	 XkbStickyKeys-	   ax_options:	     XkbStickyKeysMask	 10.6.8
			 Mask		     Xk-
					   bAX_TwoKeysMask
					     XkbAX_Latch-
					   ToLockMask

       Table  2	 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 2 Controls Mask Bits
       ----------------------------------------------------------------------
       Mask Bit			which or	     Value
				changed	   enabled
				_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 you have an Xkb description with controls that  have	been  modified
       and  an XkbControlsChangesRec that describes the	changes	that have been
       made, the XkbChangeControls function provides a flexible	method for up-
       dating  the controls in a server	to match those in the changed keyboard
       description.

       XkbChangeControls copies	any controls fields specified by changes  from
       the  keyboard description controls structure, xkb-_ctrls, to the	server
       specified by dpy.

STRUCTURES
       The XkbControlsChangesRec structure is defined as follows:

       typedef struct _XkbControlsChanges {
	   unsigned int	 changed_ctrls;		/* bits	indicating changed control data
       */
	   unsigned int	 enabled_ctrls_changes;	/* bits	indicating enabled/disabled
       controls	*/
	   Bool		 num_groups_changed;	/* True	if number of keyboard groups
       changed */
       } XkbControlsChangesRec,*XkbControlsChangesPtr;

X Version 11			 libX11	1.6.12		  XkbChangeControls(3)

NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | STRUCTURES

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=XkbChangeControls&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help