XSetLocaleModifiers()XSetLocaleModifiers()NameXSetLocaleModifiers – configure locale modifiers.
Synopsis
char *XSetLocaleModifiers(modifier_list)
char *modifier_list;
Arguments
modifier_list
Specifies the modifiers.
Returns
The previous locale modifiers on success; NULL on failure.
Availability
Release 5 and later.
DescriptionXSetLocaleModifiers() sets or queries the X modifiers for the current
locale setting. If the modifier_list argument is NULL, XSetLocaleModi‐
fiers() returns the current settings of the X modifiers without modify‐
ing them. Otherwise, the modifier_list argument is the empty string or
a string of the form "{@category=value}", that is, having zero or more
concatenated "@category=value" entries where category is a category
name and value is the (possibly empty) setting for that category. The
values are encoded in the current locale. Category names are
restricted to the POSIX Portable Filename Character Set.
The local host X locale modifiers announcer (on POSIX-compliant sys‐
tems, the XMODIFIERS environment variable) is appended to the modi‐
fier_list to provide default values on the local host. If a given cat‐
egory appears more than once in the list, the first setting in the list
is used. If a given category is not included in the full modifier
list, the category is set to an implementation-dependent default for
the current locale. An empty value for a category explicitly specifies
the implementation-dependent default.
If XSetLocaleModifiers() is successful, it returns a string of the cur‐
rent locale modifiers obtained from the modifier_list argument and the
XMODIFIERS environment variable. This string is formatted so that it
may be passed in a subsequent call to XSetLocaleModifiers() to restore
the state of the X modifiers. When the current modifiers are queried
with a NULL modifier_list argument, the returned string is also in this
format.
If invalid values are given for one or more modifier categories sup‐
ported by the locale, a NULL pointer is returned, and none of the cur‐
rent modifiers are changed.
At program startup the modifiers that are in effect are unspecified
until the first successful call to set them. Whenever the locale is
changed, the modifiers that are in effect become unspecified until the
next successful call to set them. Clients should always call XSetLo‐
caleModifiers() with a non-NULL modifier_list after setting the locale,
before they call any locale-dependent Xlib routine.
The only standard modifier category currently defined is "im," which
identifies the desired input method. The values for this category are
not standardized. A single locale may use multiple input methods,
switching input method under user control. The modifier may specify
the initial input method in effect, or an ordered list of input meth‐
ods. Multiple input methods may be specified in a single im value
string in an implementation-dependent manner.
The returned modifiers string is owned by Xlib and should not be modi‐
fied or freed by the client. It may be freed by Xlib after the current
locale or modifiers is changed. Until freed, it will not be modified
by Xlib.
See AlsoXSupportsLocale().
Xlib - Locale Management XSetLocaleModifiers()