Provided by: libx11-doc_1.8.7-1build1_all bug

NAME

       XkbSetIndicatorMap  -  Downloads  the changes to the server based on modifications 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
                                        specified 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
                                        keyboard 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;
                                        otherwise, 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  indicator  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 indicator 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 cumulative; 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 XkbIM_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 remains 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
       indicator 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 XkbIM_UseBase and mods of Shift if, at the time Xkb processes the request to extinguish the
       indicator, one of the Shift keys is physically depressed.

       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.7                             XkbSetIndicatorMap(3)