1Compose(5)                    File Formats Manual                   Compose(5)
2
3
4

NAME

6       Compose - X client mappings for multi-key input sequences
7

DESCRIPTION

9       The  X  library,  libX11, provides a simple input method for characters
10       beyond those represented on typical keyboards using  sequences  of  key
11       strokes that are combined to enter a single character.
12
13       The compose file is searched for in  the following order:
14
15       -      If  the  environment variable $XCOMPOSEFILE is set, its value is
16              used as the name of the Compose file.
17
18       -      If the user's home directory has a file named .XCompose,  it  is
19              used as the Compose file.
20
21       -      The  system  provided compose file is used by mapping the locale
22              to a compose file from the  list  in  /usr/share/X11/locale/com‐
23              pose.dir.
24
25       Compose files can use an "include" instruction.  This allows local mod‐
26       ifications to be made to existing compose files without  including  all
27       of  the  content directly.  For example, the system's iso8859-1 compose
28       file can be included with a line like this:
29           include "%S/iso8859-1/Compose"
30
31       There are several substitutions that can be made in the  file  name  of
32       the include instruction:
33
34       %H  expands  to  the user's home directory (the $HOME environment vari‐
35           able)
36
37       %L  expands to the name of the  locale  specific  Compose  file  (i.e.,
38           "/usr/share/X11/locale/<localename>/Compose")
39
40       %S  expands  to  the  name  of  the  system directory for Compose files
41           (i.e., "/usr/share/X11/locale")
42
43       For example, you can include in your compose file the  default  Compose
44       file by using:
45              include "%L"
46       and  then rewrite only the few rules that you need to change.  New com‐
47       pose rules can be added, and previous ones replaced.
48

FILE FORMAT

50       Compose files are plain text files, with a separate line for each  com‐
51       pose  sequence.   Comments  begin  with # characters.  Each compose se‐
52       quence specifies one or more events and  a  resulting  input  sequence,
53       with an optional comment at the end of the line:
54              EVENT [EVENT...] : RESULT [# COMMENT]
55
56       Each  event consists of a specified input keysym, and optional modifier
57       states:
58              [([!] ([~] MODIFIER)...) | None] <keysym>
59
60       If the modifier list is preceded by "!" it must match  exactly.   MODI‐
61       FIER may be one of Ctrl, Lock, Caps, Shift, Alt or Meta.  Each modifier
62       may be preceded by a "~" character to indicate that the  modifier  must
63       not be present.  If "None" is specified, no modifier may be present.
64
65       The  result  specifies a string, keysym, or both, that the X client re‐
66       ceives as input when the sequence of events is input:
67              "STRING" | keysym | "STRING" keysym
68
69       Keysyms are specified without the XK_ prefix.
70
71       Strings may be direct text encoded in the locale for which the  compose
72       file  is to be used, or an escaped octal or hexadecimal character code.
73       Octal codes are specified as "\123" and hexadecimal  codes  as  "\x3a".
74       It is not necessary to specify in the right part of a rule a locale en‐
75       coded string in addition to the keysym name.  If the string is omitted,
76       Xlib  figures  it  out from the keysym according to the current locale.
77       I.e., if a rule looks like:
78              <dead_grave> <A> : "\300" Agrave
79       the result of the composition is always  the  letter  with  the  "\300"
80       code.  But if the rule is:
81              <dead_grave> <A> : Agrave
82       the result depends on how Agrave is mapped in the current locale.
83

ENVIRONMENT

85       XCOMPOSEFILE
86              File to use for compose sequences.
87
88       XCOMPOSECACHE
89              Directory to use for caching compiled compose files.
90

FILES

92       $HOME/.XCompose
93              User default compose file if XCOMPOSEFILE is not set.
94
95       /usr/share/X11/locale/compose.dir
96              File listing the compose file path to use for each locale.
97
98       /usr/share/X11/locale/<localemapping>/Compose
99              System  default  compose  file  for  the locale, mapped via com‐
100              pose.dir.
101
102       /var/cache/libx11/compose/
103              System-wide cache directory for compiled compose files.
104
105       $HOME/.compose-cache/
106              Per-user cache directory for compiled compose files.
107

SEE ALSO

109       XLookupString(3), XmbLookupString(3), XwcLookupString(3),  Xutf8Lookup‐
110       String(3), mkcomposecache(1), locale(7).
111       Xlib - C Language X Interface
112
113
114
115X Version 11                     libX11 1.7.2                       Compose(5)
Impressum