48

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
  • 69,112
jsbach
  • 701

13 Answers13

24

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 = ç

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.

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

11

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
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
  • 69,112
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
4

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

export GTK_IM_MODULE=cedilla

4

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
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
  • 151
  • 4
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
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
  • 174,089
  • 51
  • 332
  • 407