I've set up my keyboard layout in arch with
localectl set-x11-keymap us pc104 intl
By default, in this layout, the '
is a dead character. It is called a dead acute
. In Portuguese, we are used to composing the ç
char using '
+ c
= ç
when using international US-keyboard layouts.
I don't know why, but by default GNU/Linux distros come configured so that when you type this combination '
+ c
you get ć
, which is an invalid char in Brazilian Portuguese.
So I did this. I've edited the following files:
sudo vim /usr/lib/gtk-3.0/3.0.0/immodules.cache
sudo vim /usr/lib/gtk-2.0/2.10.0/immodules.cache
I change 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"
I also replaced "ć" with "ç" and "Ć" with "Ç" on /usr/share/X11/locale/en_US.UTF-8/Compose
:
$ 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
I also added two lines on /etc/environment
:
GTK_IM_MODULE=cedilla
QT_IM_MODULE=cedilla
and then I restarted my computer.
And then it worked. It works fine in firefox, chromium, scite, gvim or any other gui tool. But not in Emacs. In Emacs, ' + c
insists on producing ć
, despite my efforts.
How can I teach Emacs to produce ç and not ć when I type a dead acute '
+ c
?
useXIM
X resource inC-h i g (emacs)Table of Resources
might be relevant?