13

On my Windows machine, I use USA International with deadkeys, and I have no problem typing ç (' + c). However, on my Ubuntu machine, I set my layout to "USA - International (with dead keys) and that key combination returns ć. How can I have it return a C with a cedilla rather than an acute accent?

1
  • i think Frances Mar 8, 2012 at 13:43

9 Answers 9

12

Using keyboard layout "USA - intl (AltGr dead keys)", I can get ç or Ç by pressing:

  • AltGr + ,: ç
  • AltGr + Shift + ,: Ç
4
  • 1
    I prefer dead keys. Is there a way to get it working without AltGR?
    – user12504
    Mar 16, 2011 at 20:24
  • There are hacks for it, see the comments on this idea.
    – Lekensteyn
    Mar 16, 2011 at 20:29
  • THANK YOU!!!!!!!! ç Ç : )
    – Budius
    May 30, 2020 at 13:15
  • This is the best solution I've seen so far, but unfortunately it prevents AltGr from working as a modifier, so the combinations like AltGr+Enter don't work anymore. :( The same downside as with mapping AltGr to Compose key.
    – gmk57
    Sep 25, 2022 at 10:15
5

I found this answer on superuser which worked for me on Ubuntu 18:

It's because the cedilla module isn't loaded by default when the locale is set to en, so you have to change the configuration files for gtk to add them:

1. Edit configuration files:

sudo vim /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache

sudo vim /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules.cache

On both, find the lines starting with "cedilla" "Cedilla" and add :en to the line. Something like this:

"cedilla" "Cedilla" "gtk30" "/usr/share/locale" "az:ca:co:fr:gv:oc:pt:sq:tr:wa:en"

2. Change the Compose file:

sudo sed -i /usr/share/X11/locale/en_US.UTF-8/Compose -e 's/ć/ç/g' -e 's/Ć/Ç/g'

3. Instruct the system to load the cedilla module:

Add those lines to /etc/environment:

GTK_IM_MODULE=cedilla
QT_IM_MODULE=cedilla

Reboot and you are done.

After doing this you will be able to do ' + c and get a ç/cedilla

2
4

At a glance, these layouts all appear to have keys for typing ç:

$ sgrep -o '%r\n' '"\"" _quote_ "\"" in ("name[Group1]" .. "\n" in outer("{" .. "}" containing "ccedilla"))' /usr/share/X11/xkb/symbols/??
Andorra
Albania
Azerbaijan
Belgium
Brazil
Brazil - Eliminate dead keys
Brazil
Brazil - Dvorak
Brazil - Nativo
Brazil - Nativo for USA keyboards
Brazil - Nativo for Esperanto
Canada - French (legacy)
Canada - Multilingual, first part
Canada - Multilingual
Congo, Democratic Republic of the
Switzerland
Switzerland - German (Macintosh)
Czechia - UCW layout (accented letters only)
Spain
Spain - Eliminate dead keys
Spain - Dvorak
France
France - Bepo, ergonomic, Dvorak way
France - Breton
France - Macintosh
United Kingdom - Extended - Winkeys
Ghana - Fula
Iran - Kurdish, Arabic-Latin
Iceland
Iceland - Macintosh
Italy
Italy - Eliminate dead keys
Italy - Macintosh
Italy - Georgian
Nigeria - Hausa
Norway - Dvorak
Norway - Northern Saami
Portugal
Portugal - Eliminate dead keys
Portugal - Nativo
Portugal - Nativo for USA keyboards
Portugal - Nativo for Esperanto
Russia - Chuvash
Russia - Chuvash Latin
Senegal
Turkmenistan
Turkmenistan - Alt-Q
Turkey
Turkey - (F)
Turkey - International (with dead keys)
Turkey
Taiwan
USA - International (with dead keys)
USA - Dvorak international
USA - Programmer Dvorak
USA - Macintosh
USA - Colemak
2

Brazil or us_intl, where you can do ' + c if language is set to portuguese (brazil)

1
  • 4
    I wish there was a way to use ' + c without changing language. For a clean install (en_US), just setting keyboard to Brazil still gives me ć. Also tried USA International (both AltGR and "dead keys"), same result. I could only get ç using AltGr + ","
    – MestreLion
    Nov 24, 2011 at 7:06
2

I had the same problem when using another Linux distribution, and I initially used Jhuliano Moreno's solution (thanks, Jhuliano). However, after an update, it stopped working for me. So, I discovered a way to make it work consistently even after updates. (I tested this on Ubuntu, and it worked.)

Open your terminal and run the following command to copy the Compose file:

sudo cp /usr/share/X11/locale/en_US.UTF-8/Compose ~/.XCompose

Next, use the following command to make necessary substitutions in the ~/.XCompose file:

sudo sed -i ~/.XCompose -e 's/ć/ç/g' -e 's/Ć/Ç/g'

After completing these steps, you can reboot your system.

Now, you should be able to use the ' + c combination to produce the desired character: ç.

Please note that I never encountered the same issue on Ubuntu because if you go to the 'Region & Language' settings and ensure that your format is set to 'Brasil,' it should work correctly without the need for manual configuration.

Settings -> Region & Language -> Formats:

Formats, "Region & Language"

1

You can change your keyboard to English (US, international with dead keys) as said in this question: Can't write accent characters in Ubuntu 14.04

With this change letters with accents (á, é, ú, ô, ã) will work except ç. You will need to change your system language to Portugue(Brazil) or you won't be able to write ç.

0

The Portuguese layout allows you to type this character.

0

Check this link: https://github.com/marcopaganini/gnome-cedilla-fix

With this your are able to type cedilha without having to change the input method.

-1

Very easy! Just go to: System settings --> Keyboard Layout --> English (US, alternative international). This should be your layout. For some test try: ç = ' + c â é à...

1
  • 2
    As the OP said in his question, c + ' results in ć in English( US, alternative international)
    – jpjacobs
    Mar 12, 2014 at 12:16

You must log in to answer this question.