Linux – How to create lowercase pi (“π”) with compose key

arch linuxcompose-keykeyboard-layoutx11

I'm pretty sure I used to be able to create lowercase pi characters using Composepi (as described on for example fsymbols.com), but it no longer works. My compose key works for other characters (like Composeaa for “å”), so what could be wrong?

I don't have /usr/share/X11/locale/en_GB.utf8/Compose (or ~/.XCompose), is that something which should have been installed/generated? There is a /usr/share/X11/locale/en_US.utf8/Compose; would it be sufficient to symlink that from /usr/share/X11/locale/en_GB.utf8/Compose to fix this?

$ locale
LANG=en_GB.utf8
LC_CTYPE="en_GB.utf8"
LC_NUMERIC="en_GB.utf8"
LC_TIME="en_GB.utf8"
LC_COLLATE="en_GB.utf8"
LC_MONETARY="en_GB.utf8"
LC_MESSAGES="en_GB.utf8"
LC_PAPER="en_GB.utf8"
LC_NAME="en_GB.utf8"
LC_ADDRESS="en_GB.utf8"
LC_TELEPHONE="en_GB.utf8"
LC_MEASUREMENT="en_GB.utf8"
LC_IDENTIFICATION="en_GB.utf8"
LC_ALL=

Spin-off question.

Best Answer

The X11 compose list is typically under /usr/share/X11/locale/ (this location may vary between distributions though), but the Compose file is not necessarily in the directory named after your LC_CTYPE setting. There is a stage of translation of locale names via the file /usr/share/X11/locale/compose.dir. This translation allows many locales to share the same compose file. (Symbolic links would have been another way, but a text file is easier to distribute and works on platforms that don't have symbolic links — X11 exists outside of Unix.) Most locales that use the UTF-8 encoding for a language written in the Latin alphabet use the compose file for en_US.UTF-8, located in en_US.UTF-8/Compose.

In en_US.UTF-8/Compose, the only way to generate U03C0 (GREEK SMALL LETTER PI) is <dead_greek> <p>. There is no <Multi_key> (Compose) sequence. Among the keyboard layouts distributed with X.org, the only one that defines a dead_greek key is the BÉPO layout (a French analog of DVORAK). So there's no way to type π using the Compose key with the default configuration. And the default UK layout doesn't include a way to type π, not even in an XKB variant (a US Mac layout (us(mac)) will give you π on AltGr+P however).

As far as I can tell, there's never been a standard Compose sequence to insert π on Xorg. If you remember one, you might have been an input method other than X11's built-in mechanism.

Related Question