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		       XkbControlsRec		 Boolean Control
											   (which parameter)   DataFields		 enabled_ctrls bit	   Section
       -----------------------------------------------------------------------------------
       AccessXFeedback									   XkbAccessXFeed-     ax_options:		 XkbAccessXFeedbackMask	   10.6.3
											   backMask
														 XkbAX_*FBMask
       AccessXKeys															 XkbAccessXKeysMask	   10.6.1
       AccessXTimeout									   XkbAccessXTime-     ax_timeout		 XkbAccessXTimeoutMask	   10.6.2
											   outMask
													       axt_opts_mask
													       axt_opts_values

													       axt_ctrls_mask
													       axt_ctrls_values
       AudibleBell															 XkbAudibleBellMask	   9.2
       AutoReset																		   10.1.2
       BounceKeys									   XkbBounceKeysMask   debounce_delay		 XkbBounceKeysMask	   10.6.7
       Detectable-																		   10.3.3
       Autorepeat
       EnabledControls									   XkbControlsEn-      enabled_ctrls		 Non-Boolean Control	   10.1.1
											   abledMask
       GroupsWrap									   XkbGroupsWrapMask   groups_wrap		 Non-Boolean Control	   10.7.1
       IgnoreGroupLock															 XkbIgnoreGroupLockMask	   10.7.3
       IgnoreLockMods									   XkbIgnoreLock-      ignore_lock		 Non-Boolean Control	   5.1
											   ModsMask
       InternalMods									   XkbInternalMods-    internal			 Non-Boolean Control	   5.1
											   Mask
       MouseKeys									   XkbMouseKeysMask    mk_dflt_btn		 XkbMouseKeysMask	   10.5.1
       MouseKeysAccel									   XkbMouseKeysAc-     mk_delay			 XkbMouseKeysAccelMask	   10.5.2
											   celMask
													       mk_interval
													       mk_time_to_max
													       mk_max_speed
													       mk_curve
       Overlay1																 XkbOverlay1Mask	   10.4
       Overlay2																 XkbOverlay2Mask	   10.4
       PerKeyRepeat									   XkbPerKeyRepeat-    per_key_repeat		 Non-Boolean Control	   10.3.1
											   Mask
       RepeatKeys									   XkbRepeatKeysMask   repeat_delay		 XkbRepeatKeysMask	   10.3
																	 repeat_interval
       SlowKeys										   XkbSlowKeysMask     slow_keys_delay		 XkbSlowKeysMask	   10.6.6
       StickyKeys									   XkbStickyKeysMask   ax_options:		 XkbStickyKeysMask	   10.6.8
														 XkbAX_TwoKeysMask
														 XkbAX_LatchToLockMask

       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.

       c s s s
       l l l l
       l l l l
       l l l l.
       Table 2 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 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.5		  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.0-RELEASE+and+Ports>

home | help