I'm on Belgian keyboard (/usr/share/X11/xkb/symbols/be) and when I type AltGrù it produces the dead key "acute accent", it waits for another key, o for example, to produce ó.

How can I change which character is produced, such that I can do ´ + o = ɔ or anything I want?


This behaviour is determined by the compose mappings. You can find your default mappings by looking up your locale in /usr/share/X11/locale/compose.dir, then checking the corresponding file, probably /usr/share/X11/locale/en_US.UTF-8/Compose.

To override a compose sequence, create a file named ~/.XCompose, enter

include "%L"

as its first line (this includes the default mappings), then add your own after that:

<dead_acute> <o> : "ɔ"

You can verify your changes by starting a new xterm: it will reflect the settings on startup. Other X programs might not; for example I’ve seen GNOME Terminal pick changes up, but not systematically, even when restarting it.

  • WDYM by starting a new xterm ? What is a xterm ? What does %L mean in that context ? – Robert Vanden Eynde Dec 22 '18 at 21:02
  • xterm is a terminal emulator for X; you start it by running xterm. %L in a compose file refers to the default compose file (see the first link for details). – Stephen Kitt Dec 22 '18 at 21:30
  • I use konsole on kde, so konsole is my xterm ? – Robert Vanden Eynde Dec 22 '18 at 22:16
  • So /usr/share/X11/locale/iso8859-1/Compose in my case ! Where is it defined that I have the locale iso8859-1 (I was looking for fr_BE). And this file already has a <dead_acute> <o> which one takes precedence ? – Robert Vanden Eynde Dec 22 '18 at 22:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.