1

I am using KUbuntu 25.04 with fcitx5 and Wayland. As recommended by fcitx5's warnings each boot and their instructions, I did im-config and selected do not set any IM from im-config and use desktop default.

I am trying to type 'c' and 'C' with cedilla (also known as ç and Ç respectively), using the Keyboard - English (US) - English (US, intl., with dead keys). However, if I do type a singular quote and 'c' or 'C', like I would do in Windows, for example, what comes out is ć or Ć.

I have done some research, and as mentioned in FCITX and Cedilla Conflicting Configurations, one has to set these environment variables, GTK_IM_MODULE and QT_IM_MODULE to cedilla, in order to type what I want. However, doing so breaks fcitx5, and I can't change my input method anymore, after a reboot or a log off. Undoing these changes fixes changing the input methods, but I cannot type what I need. The user in the original question mentions in their own answer that they went through a process, but did not describe exactly what process that is or what they did to fix it.

Edit for clarification: If possible, I would like assistance to solve this with fcitx5, and/or preferably find an input method that allows typing of 'ç' and 'Ç' using the way I described above.

2 Answers2

0

ç and Ç are derived from using whatever you have set as your Compose Key in Settings ⇒ Keyboard ⇒ Special Characters Entry ⇒ Compose Key followed by a comma.

enter image description here

Tap the Compose Key (which latches) then c and , in succession. It matters not if you press the comma before or after c - the same character will be formed.

This applies equally to the English (US) and the English (UK) keyboards.

graham
  • 13,061
0
  1. I'm not sure if you're configuring is correctly, a.k.a, key processing is going through fcitx5, or plain xkb (yes the config is called xkb even on wayland). Feel free to post on https://github.com/fcitx/fcitx5/discussions , or check with https://fcitx-im.org/wiki/Fcitx5-diagnose

    https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland is also helpful.

  2. Let's assume you did everything correct and want to do it through fcitx.

    The layout you select (us-intl), looks like this:

    kbd-layout-viewer5

    So, basically, it means the key you want ç and Ç, is on level3 and level 5 of key ",".

    AltGr(right alt)+, will produce ç and AltGr+Shift+, will produce Ç.

    If you think this is not matching what you expect, you probably want to look for a different layout.

  3. If you want to get the same behavior like GTK_IM_MODULE=cedilla,

    GTK_IM_MODULE=cedilla is a Gtk specific hack that hard coded a few compose sequence for cedilla https://github.com/GNOME/gtk/blob/v3.22.20/modules/input/imcedilla.c#L66C11-L66C21

    To list them here, they are simply

    <dead_acute, c/C> and <Multi_key(Compose key), apostrophe('), c/C>.

    The compose sequence used by fcitx is handled by libxkbcommon, a.k.a it will load /usr/share/X11/locale/[Your locale]/Compose.

    The compose file, used by most locale, which is /usr/share/X11/locale/en_US.UTF-8/Compose

<dead_acute> <c>            : "ć"   U0107 # LATIN SMALL LETTER C WITH ACUTE
<Multi_key> <acute> <c>         : "ć"   U0107 # LATIN SMALL LETTER C WITH ACUTE

which matches what you currently get.

So, if you want to use Compose to produce ç, a few options:

  • Use the existing /usr/share/X11/locale/en_US.UTF-8/Compose config, the ç is defined as:
$ grep ç /usr/share/X11/locale/en_US.UTF-8/Compose
<dead_cedilla> <c>                      : "ç"   ccedilla # LATIN SMALL LETTER C WITH CEDILLA
<Multi_key> <comma> <c>                 : "ç"   ccedilla # LATIN SMALL LETTER C WITH CEDILLA
<Multi_key> <c> <comma>                 : "ç"   ccedilla # LATIN SMALL LETTER C WITH CEDILLA
<Multi_key> <cedilla> <c>               : "ç"   ccedilla # LATIN SMALL LETTER C WITH CEDILLA

So it can be typed as sequence <Compose key> <,> <c>.

  • change locale, /usr/share/X11/locale/{pt_BR.UTF-8,pt_PT.UTF-8}/Compose has similar sequence like <dead_acute>

  • Create your own ~/.XCompose

    Syntax is simple. you can use existing Compose file as a reference, or simply make a copy of existing file, or search online for examples. After create the file, you will need to restart fcitx (e.g. logout and login) to make it take effect. See also: https://xkbcommon.org/doc/current/group__compose.html

csslayer
  • 181