45

I run Ubuntu on a DELL XPS 13 notebook that has an US keyboard configured as US international. After upgrading to version 13.10 I can no loger get a cedilla by typing '+C. Instead, I get a "ć".

What should I do to get a "ç"?

I am using Ubuntu Gnome 13.10 64 bit.

Braiam
  • 67,791
  • 32
  • 179
  • 269
jsbach
  • 671

13 Answers13

23

In 13.10 and above you can use right Alt+ , (i.e. right Alt + comma) in English (US International with dead keys) to get ç. Shift + Right Alt + comma = Ç

Right Alt + is useful for ¡¿áéúóí also.

Without using compose, on linux, it may be Right Alt + = then C, for cedilla ¸ plus c = ç

Peter Etchells
  • 231
  • 2
  • 2
18

It seems that just the step 3, proposed by Alexandre Schmidt (another answer to this same question), is enough to make the cedilla work, although the meaning of steps 1 and 2 is unknown for me at this time. I tested just this third step with success, as proposed by Jose Vitor Lopes at Comment 42 for bug 518056. For more details about this issue, check the entire log at Launchpad (https://bugs.launchpad.net/ubuntu/+bug/518056).

add one line in /etc/environment

GTK_IM_MODULE=cedilla QT_IM_MODULE=cedilla

Restart your computer

Source

The limitation of this change is that other consonants such as "S" are still being accentuated as "Ś", instead of having an apostrophe before the letter, as on "'S", used to express contractions.

16.04 LTS (Unity) update: config file changes are not needed anymore. Just choose one of the following input sources for text entry: (1) English (US, international with dead keys); (2) English (US, alternative international). Cedilla (C + ' = Ç) works fine with them.

Felipe G. M. Maia
  • 1,340
  • 1
  • 11
  • 23
  • Ça marche bien! – Fuhrmanator Sep 22 '14 at 20:30
  • 14.04: It works in all software ran from Unity. But it doesn't work in Unity's search menu, and it won't work for standalone consoles (CTRL-ALT-F1...). – Joe Jan 11 '15 at 15:05
  • 2
    Tested on Ubuntu 18.04 configured for English (Canada) language and unfortunately it didn't work for me. Still looking for a solution to type ç as '+c. – Bani Apr 28 '18 at 15:03
  • @Bani, see https://ubuntuforum-pt.org/index.php?topic=123209.0 for a solution on 18.04. It's in Portuguese but hopefully you'll understand if you google translate it – max May 21 '19 at 11:53
14

This works for Ubuntu 13.10 and might not work for newer versions:

I was having the same issue and the following instructions solved my problem:

  1. Editing the files:

for 64 bits:

sudo gedit /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache
sudo gedit /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules.cache

for 32 bits:

sudo gedit /usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/immodules.cache

changing the line

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

to

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

(note the "en" at the very end)

  1. replacing "ć" to "ç" and "Ć" to "Ç" on /usr/share/X11/locale/en_US.UTF-8/Compose (if you use more locales, you may need to this replacement for all of them)

    sudo cp /usr/share/X11/locale/en_US.UTF-8/Compose /usr/share/X11/locale/en_US.UTF-8/Compose.bak sed 's/ć/ç/g' < /usr/share/X11/locale/en_US.UTF-8/Compose | sed 's/Ć/Ç/g' > Compose sudo mv Compose /usr/share/X11/locale/en_US.UTF-8/Compose

  2. add two lines on /etc/environment

    GTK_IM_MODULE=cedilla QT_IM_MODULE=cedilla

  3. restart your computer

Source: https://bugs.launchpad.net/ubuntu/+bug/518056/comments/39

  • I get error warning from GTK3 because of your change in (1): Gtk-WARNING **: 10:36:44.682: Error parsing context info in '/usr/lib64/gtk-3.0/3.0.0/immodules.cache' "cedilla" "Cedilla" "gtk20" "/usr/share/locale" "az:ca:co:fr:gv:oc:pt:sq:tr:wa:en" Tried with gtk30 instead of gtk20, still with the same issue. – Luis A. Florit Aug 01 '20 at 13:40
  • ...and it didn't work for me. – Luis A. Florit Aug 01 '20 at 14:02
  • With ubuntu 20 this works, but after a reboot, it does not work anymore, so you need manually run source /etc/enviorment, and then it starts to work again! – digoferra Sep 27 '21 at 10:58
  • Yeah, the proposed solution worked for Ubuntu 13, but the im scheme changed since then. Your GTK_IM_MODULE variable is probably being overwritten elsewhere after /etc/environment is loaded. To confirm that, instead of adding it to /etc/environment, add it to a file in /etc/profile.d/, then try rebooting. – Alexandre Schmidt Sep 28 '21 at 13:04
10

There is the x11 Compose file /usr/share/X11/locale/pt_BR.UTF-8/Compose for Brazilian Portuguese with this contents:

include "/usr/share/X11/locale/en_US.UTF-8/Compose"
<dead_acute> <C>    : "Ç" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA
<dead_acute> <c>    : "ç" ccedilla # LATIN SMALL LETTER C WITH CEDILLA

So, whichever language you are using, all you need to do, to make '+c result in ç, is:

  • Generate the pt_BR.UTF-8 locale, if it's not already available:

    sudo locale-gen pt_BR.UTF-8

  • Add this line to your ~/.profile file:

    export LC_CTYPE=pt_BR.UTF-8

If you are a Brazilian user, and install the Portuguese language - either when installing or later from Language Support - you can skip the just mentioned steps. Instead you can just open Language Support and select Brazilian Portuguese as the display language. As from Ubuntu 15.04 it's sufficient to select Brazilian Portuguese as the Regional Formats setting.

Edit:

And a third way, if you don't want to change the LC_CTYPE variable, is to create an ~/.XCompose file and give it this contents:

<dead_acute> <C> : "Ç" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA
<dead_acute> <c> : "ç" ccedilla # LATIN SMALL LETTER C WITH CEDILLA
Gunnar Hjalmarsson
  • 33,540
  • 3
  • 64
  • 94
  • Just wanted you to know, this was the real answer for this cedilla issue. Generating the locale and changing the .profile. I wish I found this answer of yours before. I was almost losing my mind here, I swear! Thank you! – Renato Oliveira May 11 '18 at 12:37
  • This is the only thing that worked for me... partially. The global export made my Latin1 consoles go crazy. But adding the export only when launching GTK applications solved the thing. Thanks!! – Luis A. Florit Aug 01 '20 at 14:25
  • @LuisA.Florit: Please see my edited answer. – Gunnar Hjalmarsson Aug 01 '20 at 14:42
  • @GunnarHjalmarsson I get GTK errors with your new solution, probably because of the ISO file: Gtk-WARNING **: 11:48:32.650: GTK+ supports to output one char only: "\xc7" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA: <dead_acute> <C> : "\xc7" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA – Luis A. Florit Aug 01 '20 at 14:53
  • @LuisA.Florit: I would rather guess that there is an issue with your locale. What does the locale command output? – Gunnar Hjalmarsson Aug 01 '20 at 15:02
  • This is the output of locale: LANG=en_US LC_CTYPE="en_US" LC_NUMERIC="en_US" LC_TIME="en_US" LC_COLLATE="en_US" LC_MONETARY="en_US" LC_MESSAGES="en_US" LC_PAPER="en_US" LC_NAME="en_US" LC_ADDRESS="en_US" LC_TELEPHONE="en_US" LC_MEASUREMENT="en_US" LC_IDENTIFICATION="en_US" LC_ALL= I need to use both locales. Somtimes I need á, sometimes I need 'a. – Luis A. Florit Aug 01 '20 at 15:04
  • @GunnarHjalmarsson Confirmed: you cannot just write those lines in ~/.XCompose as they are. But I copied the file /usr/share/X11/locale/pt_BR.UTF-8/Compose into ~/.XCompose, leaving only the ç and Ç lines. But now the other accented stuff (á,é,...) do not work anymore outside the browsers, only ç. So this is not a solution either. – Luis A. Florit Aug 01 '20 at 15:53
  • @LuisA.Florit: Ok. LANG=en_US enables latin1 encoding, which is the reason for your problem. Ubuntu is simply designed for UTF-8, and LANG=en_US.UTF-8 is preferred under normal conditions. If you really have reasons to enable latin1 encoding, then ... well, then you can expect to run into troubles in many situations. Anyway, good that you still figured out a way to deal with the ccedilla thing. – Gunnar Hjalmarsson Aug 01 '20 at 15:56
  • @GunnarHjalmarsson I will go for the export LC_CTYPE=pt_BR.UTF-8 in a script when launching browsers. Everything I've written in my life is in Latin1, so changing all that would also be a big trouble. Thanks! – Luis A. Florit Aug 01 '20 at 16:04
  • This works for me! I'm on Pop Os 5.4.0! Thanks lots, @GunnarHjalmarsson – Vinicius Mesel Sep 23 '20 at 13:15
8

The layout you need is the "English (International with AltGr dead keys)"

enter image description here

pressing AltGr + , brings the ç. AltGr + Shift + , brings Ç

Braiam
  • 67,791
  • 32
  • 179
  • 269
6

A per user configuration for the combination ' + c = ç can be achieved by adding:

export GTK_IM_MODULE=cedilla

to the user's .profile file.

Grapola
  • 61
5

In case a future visitor with a German keyboard layout winds up here, like me – even though it is outside the scope of the original question:

  • ç is entered Alt Gr+´, c
  • Ç is entered Alt Gr+´, C
  • 1
    Thanks a lot. That pushed me to try, and on my Swedish keyboard, same principle but with 'Alt Gr' + ','. I can get both "ç" and "Ç". I've been using workarounds for years! – nilo Jul 15 '20 at 21:28
  • 1
    I happen to be such a future German visitor. Thank you! I'm glad I found your answer before trying to fiddle with configuration files. – Rapti Feb 08 '22 at 10:57
  • Same here, a German with German keyboard trying to type en français. – BarneySchmale Jul 17 '22 at 17:33
  • For me just AltGr + , works without the "c". For Ç just type SHIFT+AltGr+, - Note:AltGr is the right Alt. – Felipe Mar 09 '24 at 21:27
4

Append the line below to the file /etc/environment and do the login again.

export GTK_IM_MODULE=cedilla

Italo Borssatto
  • 168
  • 2
  • 12
3

With Xubuntu 16.04 and generic international 105-key layout (UK English variant), I can get a cedilla on many characters by hitting AltGr+=, followed by the character I want to "decorate", i.e. c or Shift+c.

A similar sort of "decoration prefix" can be done with AltGr+X where X is ;, ', or # for acute, circumflex, and grave respectively. And there are more, e.g. the [ and ] keys. These are the default characters on these keys in the UK layout -- other layouts might differ but I suspect all the relevant decorator keys are on the right-hand side of the keyboard near the Enter key.

2

For latin american keyboard distribution: AltGr + ¿ , c = ç

Pablo
  • 131
  • 3
1

I'm not sure whether this is still relevant after a decade, but I'm on 22.10 and a EN-UK keyboard. Being Portuguese and working in Suisse Romande, I often need the Ç or the ç. Some of the proposed solutions are a bit convoluted and seem to me harder than just googling "cedilla" and copy/pasting, or just going on the Ubuntu "Characters" app.

On my machine, in 2023, it's AltGr + =, c or C.

Ricardo
  • 121
  • Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center. – Community Apr 14 '23 at 18:45
0

I use a Logitech K480 and my layout in NixOS + LXQt is English International + dead keys.

enter image description here

And I didn't found a good solution. But I found out that if I press:


Solution for Logitech + NixOS + LXQt:

AltGr (Alt Right) + , (comma) it shows a ç.

And SHIFT + AltGr + , = Ç

Felipe
  • 235
0

One way is to use Ctrl+Shift+U combination and then type 00e7 followed by Space which will turn into ç (latin small letter c with cedilla).

Another way is to use Character Map:

Open Character Map

Character Map

And another way and probably the best is to use a keyboard layout like Portuguese:

Portuguese keyboard layout

Radu Rădeanu
  • 169,590
  • The Turkish layout did not work for me. I did not have this problem prior to upgrading to version 13.10, so something was changed from 13.04 to 13.10. – jsbach Oct 21 '13 at 16:32
  • @user205661 How did not work for you? That's not possible. Anyway you have two more options. Did you try them? – Radu Rădeanu Oct 21 '13 at 16:58
  • 2
    I am looking for a strategy in which I can get a cedilla by typing two keys, as I have always done (apostrophe + c). This worked just fine in version 13.04. – jsbach Oct 21 '13 at 17:02
  • I tried the Turkish layout (international, dead keys) but some of the keys are not mapped corrected. For instance, I type * and I get ). – jsbach Oct 21 '13 at 17:05
  • Is there a solution along these lines? http://kuniganotas.wordpress.com/2011/05/11/how-to-use-cedilla-on-ubuntu-11-04-with-a-macbook-keyboard/ – jsbach Oct 21 '13 at 17:05
  • @user205661 Then try simple Turkish, not Turkish with international dead keys or something else. – Radu Rădeanu Oct 21 '13 at 17:08
  • The first solution (CTRL+ALT+SHIFT u 00e7 space) does not work when I am using the vim editor. In the second solution, if I understand it well, we need to copy and past the cedilla every time we use it. This is a problem, since in the Portuguese language it is used very, very often. – jsbach Oct 21 '13 at 17:16
  • @user205661 Try again; it't working in vim also you have to press all 4 keys in the same time (CTRL+ALT+SHIFT+U). And why don't you use Portuguese layout? – Radu Rădeanu Oct 21 '13 at 17:21
  • I have trıed all Turkısh layouts. Many keys do not work correctly in all of them. Anyway, when I type apostrophe + c I do not get a cedilla, but ic . – jsbach Oct 21 '13 at 17:24
  • @user205661 ççç - this working great using Portuguese layout Ç – Radu Rădeanu Oct 21 '13 at 17:28
  • You can activate a compose keys (old way)... then it should work with compose+c+, (comma). Keep in mind that keyboard/multilanguage setup has changed a lot from 13.04 to 13.10 (unfortunately, it did work, now barely behave). Check https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/1218322 , maybe you are affected by this... – Rmano Oct 21 '13 at 17:35
  • 3
    A useful workaround is to add xmodmap -e "keycode 54 = c C c C ccedilla Ccedilla", then you'll have the ç with right_alt+c. I don't know how to change the dead keys pairs with the New Keyboard Scheme... – Rmano Oct 21 '13 at 20:48
  • @Rmano that's another bug as say in the body of the report: (some key combos are not working as expected, that's another issue and shouldn't be mixed with this one) – Braiam Oct 22 '13 at 08:10
  • I found a solution: add the following lines to /etc/environment

    GTK_IM_MODULE=cedilla QT_IM_MODULE=cedilla

    – jsbach Oct 23 '13 at 12:07
  • 1
    This will not work without X. – jmary Sep 20 '17 at 05:51