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 controls in
     a server to match those in the changed keyboard description

SYNOPSIS
     Bool XkbChangeControls (Display *dpy, XkbDescPtr xkb, XkbControlsChangesPtr
	    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 modifica-
     tions to an XkbControlsRec structure and thereby reduce the amount of traf-
     fic sent to the server. The same  XkbControlsChangesRec  structure  may  be
     used  in several successive modifications to the same XkbControlsRec struc-
     ture, 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 Table 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 parame-
     ters 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 parame-
     ters
      used to configure the control (which), and to enable and disable the  con-
     trol  (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 updating the con-
     trols 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 speci-
     fied 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;

SEE ALSO
     XkbChangeControls(3), XkbChangeDeviceInfo(3),  XkbChangeEnabledControls(3),
     XkbChangeMap(3), XkbChangeNames(3), XkbChangeTypesOfKey(3)

X Version 11			  libX11 1.8.13 	    XkbChangeControls(3)

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

home | help