Go to main content

man pages section 5: File Formats

Exit Print View

Updated: Wednesday, February 9, 2022

Compose (5)


Compose - key input sequences


Please see following description for synopsis


Compose(5)                    File Formats Manual                   Compose(5)

       Compose - X client mappings for multi-key input sequences

       The  X  library,  libX11, provides a simple input method for characters
       beyond those represented on typical keyboards using  sequences  of  key
       strokes that are combined to enter a single character.

       The compose file is searched for in  the following order:

       -      If  the  environment variable $XCOMPOSEFILE is set, its value is
              used as the name of the Compose file.

       -      If the user's home directory has a file named .XCompose,  it  is
              used as the Compose file.

       -      The  system  provided compose file is used by mapping the locale
              to a compose file from the  list  in  /usr/share/X11/locale/com-

       Compose files can use an "include" instruction.  This allows local mod-
       ifications to be made to existing compose files without  including  all
       of  the  content directly.  For example, the system's iso8859-1 compose
       file can be included with a line like this:
           include "%S/iso8859-1/Compose"

       There are several substitutions that can be made in the  file  name  of
       the include instruction:

       %H  expands  to  the user's home directory (the $HOME environment vari-

       %L  expands to the name of the  locale  specific  Compose  file  (i.e.,

       %S  expands  to  the  name  of  the  system directory for Compose files
           (i.e., "/usr/share/X11/locale")

       For example, you can include in your compose file the  default  Compose
       file by using:
              include "%L"
       and  then rewrite only the few rules that you need to change.  New com-
       pose rules can be added, and previous ones replaced.

       Compose files are plain text files, with a separate line for each  com-
       pose  sequence.   Comments  begin  with  #  characters.   Each  compose
       sequence specifies one or more events and a resulting  input  sequence,
       with an optional comment at the end of the line:
              EVENT [EVENT...] : RESULT [# COMMENT]

       Each  event consists of a specified input keysym, and optional modifier
              [([!] ([~] MODIFIER)...) | None] <keysym>

       If the modifier list is preceded by "!" it must match  exactly.   MODI-
       FIER may be one of Ctrl, Lock, Caps, Shift, Alt or Meta.  Each modifier
       may be preceded by a "~" character to indicate that the  modifier  must
       not be present.  If "None" is specified, no modifier may be present.

       The  result  specifies  a  string,  keysym,  or both, that the X client
       receives as input when the sequence of events is input:
              "STRING" | keysym | "STRING" keysym

       Keysyms are specified without the XK_ prefix.

       Strings may be direct text encoded in the locale for which the  compose
       file  is to be used, or an escaped octal or hexadecimal character code.
       Octal codes are specified as "\123" and hexadecimal  codes  as  "\x3a".
       It  is  not  necessary  to specify in the right part of a rule a locale
       encoded string in addition to the keysym name.  If the string is  omit-
       ted,  Xlib  figures  it  out  from  the keysym according to the current
       locale.  I.e., if a rule looks like:
              <dead_grave> <A> : "\300" Agrave
       the result of the composition is always  the  letter  with  the  "\300"
       code.  But if the rule is:
              <dead_grave> <A> : Agrave
       the result depends on how Agrave is mapped in the current locale.

              File to use for compose sequences.

              Directory to use for caching compiled compose files.

              User default compose file if XCOMPOSEFILE is not set.

              File listing the compose file path to use for each locale.

              System  default  compose  file  for  the locale, mapped via com-

              System-wide cache directory for compiled compose files.

              Per-user cache directory for compiled compose files.

       See attributes(7) for descriptions of the following attributes:

       |Availability   | x11/library/libx11 |
       |Stability      | Committed          |

       XLookupString(3x11),   XmbLookupString(3x11),    XwcLookupString(3x11),
       Xutf8LookupString(3x11), mkcomposecache(1), locale(7).
       Xlib - C Language X Interface

       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source   was   downloaded   from    https://www.x.org/releases/individ-

       Further information about this software can be found on the open source
       community website at https://www.x.org.

X Version 11                     libX11 1.7.2                       Compose(5)