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

FreeBSD Manual Pages

  
 
  

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

NAME
       XkbSetIndicatorMap - Downloads the changes to the server	based on modi-
       fications to a local copy of the	keyboard description which will	update
       the maps	for one	or more	indicators

SYNOPSIS

       Bool  XkbSetIndicatorMap	 (Display *dpy,	unsigned int which, XkbDescPtr
	      desc);

ARGUMENTS
       dpy    connection to the	X server

       which  mask of indicators to change

       desc   keyboard description from	which the maps are taken

DESCRIPTION
       This section discusses the effects of  explicitly  changing  indicators
       depending  upon	different  settings in the indicator map. See Tables 1
       and Table 2 for information on the effects of the indicator map	fields
       when explicit changes are made.

	    Table 1 XkbIndicatorMapRec which_groups and	groups,
			  Indicator Drives Keyboard
       ----------------------------------------------------------------
       which_groups	    New	State	Effect on Keyboard Group State
       ----------------------------------------------------------------
       XkbIM_UseNone	    On or Off	No effect
       XkbIM_UseBase	    On or Off	No effect
       XkbIM_UseLatched	    On		The groups field is treated as
					a  group  mask.	 The  keyboard
					group latch is changed to  the
					lowest	numbered  group	speci-
					fied in	groups;	if  groups  is
					empty,	 the   keyboard	 group
					latch is changed to zero.
       XkbIM_UseLatched	    Off		The groups field is treated as
					a group	mask. If the indicator
					is  explicitly	 extinguished,
					keyboard    group   latch   is
					changed	to the lowest numbered
					group not specified in groups;
					if groups is  zero,  the  key-
					board  group  latch  is	set to
					the index of the highest legal
					keyboard group.
       XkbIM_UseLocked or
       XkbIM_UseEffective   On		If the groups mask  is	empty,
					group  is  not changed;	other-
					wise,  the   locked   keyboard
					group is changed to the	lowest
					numbered  group	 specified  in
					groups.
       XkbIM_UseLocked or
       XkbIM_UseEffective   Off		Locked	 keyboard   group   is
					changed	to the lowest numbered
					group that is not specified in
					the  groups mask, or to	Group1
					if the	groups	mask  contains
					all keyboard groups.

	       Table 2 XkbIndicatorMapRec which_mods and mods,
			  Indicator Drives Keyboard
       -----------------------------------------------------------------
       which_mods	     New State	 Effect	on Keyboard Modifiers
       -----------------------------------------------------------------
       XkbIM_UseNone or
       XkbIM_UseBase	     On	or Off	 No Effect
       XkbIM_UseLatched	     On		 Any modifiers specified in the
					 mask  field  of mods are added
					 to the	latched	modifiers.
       XkbIM_UseLatched	     Off	 Any modifiers specified in the
					 mask field of mods are	removed
					 from the latched modifiers.
       XkbIM_UseLocked,
       XkbIM_UseCompat,	or
       XkbIM_UseEffective    On		 Any modifiers specified in the
					 mask field of mods  are  added
					 to the	locked modifiers.
       XkbIM_UseLocked	     Off	 Any modifiers specified in the
					 mask field of mods are	removed
					 from the locked modifiers.
       XkbIM_UseCompat or
       XkbIM_UseEffective    Off	 Any modifiers specified in the
					 mask field of mods are	removed
					 from	both   the  locked  and
					 latched modifiers.

       If XkbIM_LEDDrivesKB is set and XkbIM_NoExplicit	is  not,  and  if  you
       call  a	function  that updates the server's image of the indicator map
       (such as	XkbSetIndicatorMap or XkbSetNamedIndicator), Xkb  changes  the
       keyboard	 state and controls to reflect the other fields	of the indica-
       tor map.	If you attempt to explicitly change the	value of an  indicator
       for  which XkbIM_LEDDrivesKB is absent or for which XkbIM_NoExplicit is
       present,	keyboard state or controls are unaffected.

       If neither XkbIM_NoAutomatic nor	XkbIM_NoExplicit is set	in an  indica-
       tor  map,  Xkb honors any request to change the state of	the indicator,
       but the new state might be immediately superseded by automatic  changes
       to the indicator	state if the keyboard state or controls	change.

       The effects of changing an indicator that drives	the keyboard are cumu-
       lative;	it  is	possible for a single change to	affect keyboard	group,
       modifiers, and controls simultaneously.

       If you change an	indicator for which both the XkbIM_LEDDrivesKB and Xk-
       bIM_NoAutomatic flags are specified, Xkb	applies	the  keyboard  changes
       specified  in  the other	indicator map fields and changes the indicator
       to reflect the state that was explicitly	requested. The	indicator  re-
       mains in	the new	state until it is explicitly changed again.

       If  the XkbIM_NoAutomatic flag is not set and XkbIM_LEDDrivesKB is set,
       Xkb applies the changes specified in the	other indicator	map fields and
       sets the	state of the indicator to the values specified by the  indica-
       tor map.	Note that it is	possible in this case for the indicator	to end
       up in a different state than the	one that was explicitly	requested. For
       example,	 Xkb  does  not	extinguish an indicator	with which_mods	of Xk-
       bIM_UseBase and mods of Shift if, at the	time Xkb processes the request
       to extinguish the indicator, one	of the Shift keys  is  physically  de-
       pressed.

       If  you	explicitly  light  an indicator	for which XkbIM_LEDDrivesKB is
       set, Xkb	enables	all of the boolean controls  specified	in  the	 ctrls
       field  of its indicator map. Explicitly extinguishing such an indicator
       causes Xkb to disable all of the	boolean	controls specified in ctrls.

       For each	bit set	in the which parameter,	XkbSetIndicatorMap  sends  the
       corresponding indicator map from	the desc parameter to the server.

SEE ALSO
       XkbSetNamedIndicator(3)

X Version 11			 libX11	1.8.12		 XkbSetIndicatorMap(3)

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

home | help