Please add Microsoft compatible keyboard layout for Brazil

Bug #92652 reported by cenora
50
This bug affects 7 people
Affects Status Importance Assigned to Milestone
Linux Mint
Opinion
Undecided
Unassigned
xkeyboard-config
Unknown
Medium
xkeyboard-config (Ubuntu)
Triaged
Wishlist
Unassigned

Bug Description

Please add a Microsoft compatible keyboard layout for Brazil, to make it easier for Users to switch from Windows to Linux without having to learn a new keyboard layout.

The layout should be based on US-International, but with the following modifications:
 * The apostrophe key should map to 'dead-cedilla'
  - ç -> ' + c
  - Ç -> ' + C

------------------------------------
Original bug report:

Ubuntu, by default has no C-Cedil present in the Keyboard configuration. The Us-International style creates a "Ć" and "ć" instead of C-cedil "ç".

In order to fix this, a user must:
1.Edit the file: /usr/share/X11/locale/en_US.UTF-8/Compose
2.Replace the occurences of the ć with ç, for both lower and uppercase.
3.Edit the file: /etc/gtk-2.0/i386-redhat-linux-gnu/gtk.immodules
4.Find the line configuring "xim", and add the "en_US" and "en" locales there, like this:
   "/usr/lib/gtk-2.0/2.4.0/immodules/im-xim.so"
   "xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:th:zh:en_US:en"

ProblemType: Bug
Architecture: i386
Date: Thu Mar 15 18:17:21 2007
DistroRelease: Ubuntu 7.04
Uname: Linux USB-Ubuntu 2.6.20-10-386 #2 Sun Mar 11 23:59:49 UTC 2007 i686 GNU/Linux

Revision history for this message
jcfp (jcfp) wrote :

in us-intl layout ç is ALTGR + , (right-alt + comma)

Revision history for this message
cenora (cenora) wrote : Re: [Bug 92652] Re: C-cedil not present in US-International keyboard

Yamal:

Can there be a way to set up the Ç as " ' " (apostrophe) + "c" ? That is
what the Microsoft US-international keyboard does. The Ubuntu US-Alternative
also has the same accented C as default, so there are 2 of the same options.
This is useful for Portuguese (PT and BR) typing in the standard qwerty
US-keyboard.

Cenora

On 3/15/07, yamal <email address hidden> wrote:
>
> in us-intl layout ç is ALTGR + , (right-alt + comma)
>
> --
> C-cedil not present in US-International keyboard
> https://launchpad.net/bugs/92652
>

Revision history for this message
jcfp (jcfp) wrote : Re: C-cedil not present in US-International keyboard

It may well be possible to do that, maybe using xmodmap? I would suggest opening a support request for that at https://answers.launchpad.net/distros/ubuntu/+tickets and closing this bug report.

btw: us alt-intl layout does differ from intl in the way it handles "ALTGR + ," by making that a dead key for creating a cedilla with alot of letters rather than print ç directly.

Revision history for this message
cenora (cenora) wrote :

PLEASE CLOSE this Bug. Will need to request support at https://answers.launchpad.net/distros/ubuntu/+tickets.

Revision history for this message
cenora (cenora) wrote : Re: [Bug 92652] Re: C-cedil not present in US-International keyboard

Ok, thanks I asked to close it and opened a request, as you suggested.

On 3/16/07, Brian Murray <email address hidden> wrote:
>
> ** Changed in: Ubuntu
> Sourcepackagename: None => xkeyboard-config
>
> --
> C-cedil not present in US-International keyboard
> https://launchpad.net/bugs/92652
>

Revision history for this message
Lucio M Nicolosi (lmnicolosi) wrote : Re: C-cedil not present in US-International keyboard

in Feisty:
Instead of:
   "3.Edit the file: /etc/gtk-2.0/i386-redhat-linux-gnu/gtk.immodules"
Use:
   "3.Edit the file: /etc/gtk-2.0/gtk.immodules"

It works perfectly, happy cedillas - ççççç

Revision history for this message
Júlio Alexandrino (alexandrino) wrote :

I must say that this behaviour is a let down for portuguese/brazilian users. At least for me (BR), I'm very well used to typing ' and C to produce Ç , and I really hope that someday this can work in ubuntu "out of the box" . After all, internationalization isn't a priority of this distro?

When I give out free ubuntu CD's to my friends, I expect them to use it and enjoy it as much as I do - but it ruins my advocacy when one of them calls me to ask "why am I getting ć 's instead of ç 's when using OpenOffice"... not being able to TYPE correctly is surely a serious problem for me.

Revision history for this message
joaodelvalle (joaodelvalle) wrote :

Júlio is right. Standard querty keyboards are very common is Brasil, so a great number home and small office users are just not able to switch to Ubuntu because of this issue. Tweaking /etc files is not for everyone.

Changed in xkeyboard-config:
status: Unconfirmed → Confirmed
Revision history for this message
revertex (revertex) wrote :

more than a year without cedilla, but finally i can get it working.
i used to use everything in english, but sometimes i need to write in portuguese, without cedilla is really painful.

Revision history for this message
cenora (cenora) wrote : Re: [Bug 92652] Re: C-cedil not present in US-International keyboard

The problem is persistent. US-international layout is still missing C-cedil.
All we have is ć.

On 6/17/07, revertex <email address hidden> wrote:
>
> more than a year without cedilla, but finally i can get it working.
> i used to use everything in english, but sometimes i need to write in
> portuguese, without cedilla is really painful.
>
> --
> C-cedil not present in US-International keyboard
> https://bugs.launchpad.net/bugs/92652
> You received this bug notification because you are a direct subscriber
> of the bug.
>

Revision history for this message
Fabián Rodríguez (magicfab) wrote : Re: C-cedil not present in US-International keyboard

I speak three languages and live in Quebec where english and french co-exist with many other languages.

I often suggest using this keyboard layout to cover all possible combination of accents, the ñ, ç, etc.

This problem sure gets in the way of easy adoption of this keyboard layout, as such I would consider it a serious usability bug. Serious as in "I can't use this computer to type in french" :)

Revision history for this message
Fabián Rodríguez (magicfab) wrote :

Assigning "low" importance - see https://wiki.ubuntu.com/Bugs/Importance

Changed in xkeyboard-config:
importance: Undecided → Low
Revision history for this message
Stani (stani) wrote :

On my laptop (ibm x30) there is no AltGr key present (Ctrl+Alt together also doesn't work). So it is really a big pain not being able to type a "ç". Copying and pasting from somewhere else is the only solution, but a very ugly one. I'd also vote for having ć being replaced by ç.

Revision history for this message
Lucio M Nicolosi (lmnicolosi) wrote :

Upgraded to Gutsy-Beta (sept 2007) from 7.04 and the cedilla bug returned.

Looked for files to edit and noticed that "/usr/share/X11/locale/en_US.UTF-8/Compose" apparently was corrected but couldn't find "/etc/gtk-2.0/gtk.immodules".

Found instead "/usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules"

and although file header said: "# automatically generated by dh_gtkmodules, do not edit"

edited as suggested (item 4 at the top):

{4.Find the line configuring "xim", and add the "en_US" and "en" locales there, like this:
   "/usr/lib/gtk-2.0/2.4.0/immodules/im-xim.so"
   "xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:th:zh:en_US:en"}

restarted system and got my cedillas back.

I'm not sure if it is the best way to correct the problem but it worked.

Although easily correctable (once you find the way) it doesn't seem to me that it is a "low importance bug"

Revision history for this message
Lucio M Nicolosi (lmnicolosi) wrote :

Upgraded from 7.10 Gutsy Beta to RC w/ last fixes, it seems my cedillas are gone.

File editing (above) that used to work in the past won't do.

Need some help.

L.

Revision history for this message
Lucio M Nicolosi (lmnicolosi) wrote :

Re: last posting

It seems that the last upgrades brought back a "/usr/share/X11/locale/en_US.UTF-8/Compose" full of cedillas in the wrong places, so last move was not enough to solve the puzzle.

Edited the file as in (top):

   1.Edit the file: /usr/share/X11/locale/en_US.UTF-8/Compose
   2.Replace the occurences of the ć with ç, for both lower and uppercase.

And cedillas are back again...

Revision history for this message
revertex (revertex) wrote :

Tank's Nicolosi.

It seems it's not a ubuntu, but a debian bug.
I recently move to Debian Sid, same bug here.
Being debian a distro heavily used by the small Brazilian linux community it's understandable why nobody care about this annoying bug.

Revision history for this message
Wagner Volanin (volanin) wrote :

HOW TO FIX this in GUTSY in 2 steps:

1. Edit the file: /usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules

2. Add your LOCALE to the end of the line beginning with "cedilla".
If you use Ubuntu in English, your locale is probably: en or en_US.
Add any LOCALE that you usually use as well.

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

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

The effect is immediate.
You just need to restart your applications.

Revision history for this message
cenora (cenora) wrote : Re: [Bug 92652] Re: C-cedil not present in US-International keyboard

Great and simple workaround!!!

Thanks!!!

Although this is still not an excuse for Ubuntu... Why can't they simply add
these lines? Itś a simple bug to fix.....

cenora

On 10/22/07, Volanin <email address hidden> wrote:
>
> HOW TO FIX this in GUTSY in 2 steps:
>
> 1. Edit the file: /usr/lib/gtk-2.0/2.10.0/immodule-
> files.d/libgtk2.0-0.immodules
>
> 2. Add your LOCALE to the end of the line beginning with "cedilla".
> If you use Ubuntu in English, your locale is probably: en or en_US.
> Add any LOCALE that you usually use as well.
>
> Original line:
> "cedilla" "Cedilla" "gtk20" "/usr/share/locale"
> "az:ca:co:fr:gv:oc:pt:sq:tr:wa"
>
> Modified line:
> "cedilla" "Cedilla" "gtk20" "/usr/share/locale"
> "az:ca:co:fr:gv:oc:pt:sq:tr:wa:en:en_US"
>
> The effect is immediate.
> You just need to restart your applications.
>
> --
> C-cedil not present in US-International keyboard
> https://bugs.launchpad.net/bugs/92652
> You received this bug notification because you are a direct subscriber
> of the bug.
>

Revision history for this message
Wagner Volanin (volanin) wrote : Re: C-cedil not present in US-International keyboard

I totally agree with you cenora.
The lack of usually accepted shortcut 'acute + c' to generate 'ç' is very annoying.
The problem is: this shortcut is not a standard, so every operating system implements it as they see fit.

In Windows we have the usual 'acute + c'
In Linux we got the annoying 'AltGR + ,'
And in MacOSX we have 'Alt + c'

It a mess!

Although, as a brazilian, I would also prefer the windows way, this is a thing that's being debated with
GTK+ developers for years, (since RedHat 6 in 1999 if I remember correctly, 8 years already) and it
seems it won't change so soon.

Revision history for this message
Lucio M Nicolosi (lmnicolosi) wrote :

Ok Volanin, I agree, It's a matter of standard,

but why one would need ć, ś, ŕ, ź, ń in a US Int Keyboard configured for English and Br-Portuguese?

And why I can't (can + " + space + t) use ' or " without a space after? To be able to put accents and tremas in every consonant?

Ok I come from ancient DOS and MS-Win codepage 850, but I can't get the reason.

Shouldn't I be using the default UTF-8? But then I couldn't read this page.

Obrigado pela two step dica,

Um abraĆo,

Lucio

Revision history for this message
Marco Paganini (paganini-launchpad) wrote :

If the Gnome developers don't want to change it, fine. But why not honor the GTK_IM_MODULE=xim setting as it was done before? I would not mind whatever twisted scheme someone who never spoke or wrote any portuguese devised for my keyboard, as long as I could bypass it freely (as it was the case in the past). Unfortunately, newer versions won't work that way.

Revision history for this message
Fabián Rodríguez (magicfab) wrote :

Raising importance to medium after reading back new comments.

Changed in xkeyboard-config:
importance: Low → Medium
Revision history for this message
jcfp (jcfp) wrote :

It seems that there's a common misconception about the us-intl keyboard layout on a qwerty keyboard being something 'brazilian', see the comment of L M Nicolosi (on 2007-11-02) which speaks of "a US Int Keyboard configured for English and Br-Portuguese". Such a thing doesn't exist. All there is, is a qwerty keyboard configured to use a generic 'US English (international)' layout. Nothing brazilian or portuguese about that; this very same layout is used all around the world. And many of those using it, do expect ć, ś, ŕ, ź, ń (as well as ĺ ḱ ṕ ý ǵ ḿ and so on) to be available on their keyboard in the most logical place, being «' + character = character w/ acute accent». In the specific case of ć, this letter exists in Polish, Serbian, Montenegrin, Croatian, Bosnian, and Albanian, as well as some latin representations of languages often written in cyrillic alphabets.

As a result, changing the standard us-intl layout to have ' + c create ç, just to satisfy brazilian users migrating from windows would:
- destroy the consistent use of «' + character = character with acute accent» for all others worldwide.
- move the problem to those wanting to write the letter ć.

The title of this bug report should be changed to reflect reality. Currently, it claims c-cedilla is missing from the layout entirely, which is not, and has never been the case. "C-cedilla in us-intl layout not where brazilian users migrating from windows expect it" would be a much more appropriate and correct description.

While I don't know whether it's realistic, as a possible solution one could imagine a layout variant targeted at users wanting to write (brazilian) portuguese with a qwerty keyboard, either identical to us-intl but with cedilla replacing ć, or even customized to trigger only those accents actually used in portuguese. So basically, a us-intl-cedilla or br-qwerty layout variant (whatever the name, you get the idea), which would leave the standard us-intl intact and at the same time allow for this specific ç preference.

Revision history for this message
Marco Paganini (paganini-launchpad) wrote :

Hi Yamal,

I agree with you that consistency is of paramount importance, specially when dealing with a complicated subject such as internationalization. My gripe, however, is not with the fact that acute+c does not generate a cedilla, but rather, with the change in behavior of the widely known "US International" keyboard in Windows and X11. IMHO, the "US_INTL old version" (or whatever) should mimic this behavior, and the new variant should produce the consistent "accented C".

Note that this *really* stands in the way of widespread adoption of Linux in Brazil. It is very hard to explain to newcomers that they have to edit obscure files to get something they get "for free" with other operating systems.

Regards,
Paga

Revision history for this message
cenora (cenora) wrote : Re: [Bug 92652] Re: C-cedil not present in US-International keyboard

Paganini has expressed the true "problem" about this bug.

While I agree with Yamal, in that we would "shift" the problem to our
friends from Poland, Serbia, etc, the fact is that:

*Most* people are "accustomed" to the Windows international keyboard
behavior.

Although there is no defined standard, the effect is that when we install
Ubuntu for our family and friends they expect it to work about the same way
they are used to. If they encounter a small problem like this, they think:
This thing doesn't work.

My proposal is to follow the Windows "standard", to facilitate widespread
adoption.

Those are my 2 cents...
Cenora

On Dec 18, 2007 5:00 AM, paganini <email address hidden> wrote:

> Hi Yamal,
>
> I agree with you that consistency is of paramount importance, specially
> when dealing with a complicated subject such as internationalization. My
> gripe, however, is not with the fact that acute+c does not generate a
> cedilla, but rather, with the change in behavior of the widely known "US
> International" keyboard in Windows and X11. IMHO, the "US_INTL old
> version" (or whatever) should mimic this behavior, and the new variant
> should produce the consistent "accented C".
>
> Note that this *really* stands in the way of widespread adoption of
> Linux in Brazil. It is very hard to explain to newcomers that they have
> to edit obscure files to get something they get "for free" with other
> operating systems.
>
> Regards,
> Paga
>
> --
> C-cedil not present in US-International keyboard
> https://bugs.launchpad.net/bugs/92652
> You received this bug notification because you are a direct subscriber
> of the bug.
>

Revision history for this message
Jorge Allyson Azevedo (allyson-land) wrote : Re: C-cedil not present in US-International keyboard

This problem is really annoying and still it seems to be present in Hardy beta. I just wish that a proper solution would be presented for the user. I know how to fix it using the command line, but this is not a good solution for a distro that claims to be easy to use.

Maybe an option to correct this should be shown in the keyboard configuration gui. I don't think that would be so hard to implement but one must remember to add that feature to the installer as well.

Revision history for this message
Eduardo Cereto (dudus) wrote :

I understand jcfp point. And it's good. US-intl should be as international as possible.

But lets get to the facts. Brazil has two types of main keyboards. ABNT2 that has the c-cedil key, and US-intl that just maps the '+c to c-cedil. This sure represents circa 95% of brazilian keyboards.

If you go to layout and choose Brazil, you get 7 variants, the default is ABNT2 wich represent circa 50%. But there's no variant that sets us-intl.

When you install ubuntu it lets you choose between abnt2 or intl for brazil, and intl just doesn't work as supposed. Besides of getting ć instead of c-cedil I also get many other combination that simply doesn't exist in portuguese (ŕ, ý, ś, ń, ...).

I really think that an Brazil - US - international should be created. This should sit in the keyboard preferences layout under:
Layout: Brazil
Variant: US-intl

I never liked the idea that to configure my keyboard to portuguese I should go to US and choose International, maybe it's correct but it just doesn't feel right.

I'm not expert in this area. But wouldn't it be better that under your country layout the variants were the ones that are used FOR that country?

Revision history for this message
Eduardo Cereto (dudus) wrote :

Also I think that this bug should be changed to High Importance. An estimated 40% of brazilian users simply won't be able to write a document as no one expect c-cedil to be under altgr+,.

Has a moderate impact on a large portion of Ubuntu users (estimated)

https://wiki.ubuntu.com/Bugs/Importance

Revision history for this message
Eduardo Cereto (dudus) wrote :

I spent the last days trying to patch xkeyboard-config in order to create a new variant br(br-intl). Even so I had a hard time with symbols files. when I set the key to dead_cedilla it does work outputing ç an Ç but then it won't output á,é,í,ó and ú.
I want the key to be dead_cedilla when the next key is c and to be dead_acute when the next key is either a,e,i,o and u. So the ´ key would work as supposed.

I heard some guys on irc saying that to fix this issue you should change LANG on /etc/environment to pt_BR.UTF-8. But it didn't work for me. Don't know exactly how this locale stuff works.

it would be good if someone steps up to mentor this bug for me.

Revision history for this message
Eduardo Cereto (dudus) wrote :

here's the debdiff of the package I created. please note that while this fixes the cedilla issue it breaks acute characters. So the patch is mostly useless and should not be used as a solution or workaround. I'm posting this only for information.

Changed in xkeyboard-config:
assignee: nobody → dudus
status: Confirmed → In Progress
Revision history for this message
In , Eduardo Cereto (dudus) wrote :

version affected: xkeyboard-config_1.1~cvs.20080104.1-1ubuntu6

A HUGE part of Brazillian users have international keyboards. And to setup these on windows is fairly easy. With xkeyboard-config this is sometimes tricky.

on Windows XP:
1. Control Panel > Regional and Language Options > Languages > detail...
2. Click add...
3. Select Portuguese (Brazil) on input Languages
4. Select United States International under Layout
5. You're done!

on xkeyboard-config:
1. Open xkeyboard-config
2. Select tab Layouts
3. Click Add...
4. Select Layout USA
5. Select International (with dead keys)
6. It's the best you can get, but doesn't work as expected.

The main problem is the ccedilla and Ccedilla keys. On windows you get this with ´+c and ´+C, but on linux it must be typed AltGr+c and AltGr+C.

I understand that this behavior is needed so the variant is the most international possible and can output ć and Ć (witch doesn't exist on portuguese).

So I propose the creation of a new br(br-intl) variant that is exactly us(intl) but output ç and Ç as expected by the Brazilian users, and like Windows does. Also it would be more natural to choose the Brazil layout, since this type of keyboard is so common around here.

There's a ubuntu bug on LP about this with some information:
https://bugs.launchpad.net/ubuntu/+source/xkeyboard-config/+bug/92652

Revision history for this message
In , Eduardo Cereto (dudus) wrote :

Also I was told that changing the values of LANG and LC_* variables to pt_BR.UTF-8 would solve the issue. I tried that and it didn't work for me.

also I didn't know that these env variables could change characters as they're output by X.

Anyway I think that it feels like a workaround and it should be better if the keyboard worked as expected even if I leave my LANG and LC_* settings untouched.

Can someone explain this behavior?

Revision history for this message
In , Eduardo Cereto (dudus) wrote :

I can't seem to fix this issue. I'm very new to xkeyboard-config.
Someone please help:

I first tried to create a new variant on symbols/br. here's the problematic key:
key <AC11> { [dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
dead_acute gives me ć, thi is the same as us(intl)
But if I change it to dead_cedilla cedilla looks great but I ruin all other accented keys (á, é, í, ó, ú, etc), and these are all eqaully important for br.

My second shot was to somehow map ć to ç only on this variant. I tried to check files under types/, keycodes/ and compat/. Most seam to give you options to change behavior based on modifiers. I can't seem to find where exactly ´+c is mapped to ć.

I can't find much documentation on dead keys, and I'm assuming that what I want to be is somewhat unusual. Even so i think this is a very important issue for brazillian users.

Revision history for this message
Eduardo Cereto (dudus) wrote : Re: C-cedil not present in US-International keyboard

the last debdiff I posted is very broken, looks like I'm too n00b to make a debdiff. It doesn't matter as the deb diff is very useless anyway.

Also I moved this bug upstream:
https://bugs.freedesktop.org/show_bug.cgi?id=15900

Changed in xkeyboard-config:
status: Unknown → Confirmed
Revision history for this message
In , Eduardo Cereto (dudus) wrote :

There was a recent comment [2] that remembers that this behavior is not expected only for Brazilians, but also for Canadians, and possibly French as well.

So maybe instead of creating a br-intl (or br-querty) variant it would be better to create a us-cedilla variant as pointed by [1]. So other users that expect ç can benefit.

Personally I think that br-querty is better and we could create the same variant more times as ca-querty and maybe fr-querty.

br-intl is somewhat weird. Since it's br it's no longer international!

Please be sure to read [1] as it has some good insights.

[1] https://bugs.launchpad.net/ubuntu/+source/xkeyboard-config/+bug/92652/comments/24
[2] https://bugs.launchpad.net/ubuntu/+source/xkeyboard-config/+bug/92652/comments/33

Revision history for this message
Tiago Rinck Caveden (caveden) wrote : Re: C-cedil not present in US-International keyboard

Watch out, it's not just Brazilians that are used with the US-int layout like that... In the comments of this bug there is a Canadian saying that they do the same when typing French in USian keyboards...
Isn't there a formal definition of how must the US-International layout behave? Who is "wrong", Microsoft or Ubuntu?

Honestly, I think that if Microsoft made their keyboard layout like that, probably in the regions of the world where the Ć is needed people use different keyboard layouts... does anyone have a clue about this?

I think Ubuntu could simply make just like Microsoft, or even create a new US-M$International layout or something - specially if it's them that do not follow the specification. Associating with Brazil seems weird to me...

Revision history for this message
Eduardo Cereto (dudus) wrote :

I included Tiago's comment on upstream bug. Please use the upstream bug to include future comments and follow bug resolution.

https://bugs.freedesktop.org/show_bug.cgi?id=15900

Revision history for this message
Eduardo Cereto (dudus) wrote :

besides Brazilians, Canadians and possibly French and Portuguese - who else is affected by this bug?

Revision history for this message
In , Eduardo Cereto (dudus) wrote :

I really think that the creation of Brazil internation is a nice addition. If more countries are affected we could easily create a new one like canadian international.

please note that I'm still struggling with the fact that I'm unable to set a key binding that behaves like dead_accute and dead_cedilla depending on the next pressed key. Guidance is appreciated here.

Revision history for this message
In , Sergey V. Udaltsov (svu) wrote :

Eduardo, in order to understand the way dead keys work, you should look into the Compose sequences. On my machine they are in /usr/share/X11/locale . Hopefully you'll find there the answer for your question and hints for further progress.

Revision history for this message
In , Simos Xenitellis  (simosx) wrote :

Eduardo, I am not quite clear what you are trying to achieve.

I would recommend you however to check the 'gb' layout, and how they manage to enable typing áéâêäëãẽàèǎěăĕąę and more. This is the default UK English layout.

Revision history for this message
In , Sergey V. Udaltsov (svu) wrote :

Eduardo, any progress?

Revision history for this message
In , Eduardo Cereto (dudus) wrote :

I haven't worked in it for a while now. But this is still an issue
AFAIC. I have to start over and check the ideas posted since the last
time I tried to solve this. The problem is that I'm not a developer,
so the progress is slow.

Revision history for this message
In , Piterpk (piterpk) wrote :

This isn't an xkeyboard-config bug.

Using us(intl) or us(alt-intl) and pure X applications (like xterm)
'+c gives ç like expected. The problem is with GTK+2 applications.
To solve that you can:

1. Export GTK_IM_MODULE=cedilla before start GTK applications (.xinitrc is a
   good place to do that)
2. Use az:ca:co:fr:gv:oc:pt:sq:tr:wa locale
3. Include your current locale to gtk.immodules, under im-cedilla.so

Piter PUNK

Revision history for this message
In , Sergey V. Udaltsov (svu) wrote :

Eduardo, could you please check and report?

Revision history for this message
In , Simos Xenitellis  (simosx) wrote :

On Tue, Jan 6, 2009 at 5:04 AM, <email address hidden> wrote:
> http://bugs.freedesktop.org/show_bug.cgi?id=15900
>
>
> Piter PUNK <email address hidden> changed:
>
> What |Removed |Added
> ----------------------------------------------------------------------------
> CC| |<email address hidden>
>
>
>
>
> --- Comment #9 from Piter PUNK <email address hidden> 2009-01-05 21:04:19 PST ---
>
> This isn't an xkeyboard-config bug.
>
> Using us(intl) or us(alt-intl) and pure X applications (like xterm)
> '+c gives ç like expected. The problem is with GTK+2 applications.

No, GTK+2 applications are good. The problem is in the Brazilian layout.

If you check in the default Brazilian layout (abnt2), there is an
inclusion of the default 'latin' layout, which mentions

    key <AE12> { [ equal, plus, dead_cedilla, dead_ogonek ] };

which corresponds to the '=' and '+' key. If you press AltGr+=, then
c, you *would* get ç.

However, the default Brazilian layout overrides the settings for the
AE12 key with the following

    key <AE12> { [ equal, plus, section, dead_ogonek ] };

So, with 'abnt2', if you press AltGr + =, you get the 'section'
character instead of the useful 'dead_cedilla'.

What can you do?

Option 1. Move the 'section' character somewhere else on the keyboard,
so that you can use the default location for dead_cedilla.

Option 2. Assign dead_cedilla to another key.

Background:
    key <AE12> { [ equal, plus, section, dead_ogonek ] };

For this key, if
  1. you press as is, you get 'equal'
  2. you press with Shift, you get 'plus'
  3. you press with AltGr, you get 'section'
  4. you press with Shift, AltGr, you get 'dead_ogonek'.

Revision history for this message
In , Piterpk (piterpk) wrote :

Created an attachment (id=21713)
xev output showing '+c giving ccedilla

In the attachment is the xev output showing what happens pressing
' and then c. Is very clearly the result is a ç.

I am using us(intl) keyboard in this test.

The problem isn't in xkeyboard-config.

Piter Punk

Revision history for this message
In , Piterpk (piterpk) wrote :

Created an attachment (id=21716)
screenshot showing normal X and GTK+2 applications

I know screenshots don't "prove" what I am saying.

But here you can see two X applications (rxvt and xterm)
and the ç (result of '+c). The xfce's run window (GTK+2
application) shows ć as result of the same key combination.

I am using en_US as locale and '+c = ç is the expected behavior
looking iso8859-1 Compose file:

# Useful for portuguese language
<dead_acute> <C> : "\307" Ccedilla
<dead_acute> <c> : "\347" ccedilla

But, en_US.UTF-8 didn't have those in Compose file. There, <dead_acute> <c>
is:

<dead_acute> <C> : "Ć" U0106 # LATIN CAPITAL LETTER C WITH ACUTE
<Multi_key> <acute> <C> : "Ć" U0106 # LATIN CAPITAL LETTER C WITH ACUTE
<Multi_key> <apostrophe> <C> : "Ć" U0106 # LATIN CAPITAL LETTER C WITH ACUTE
<combining_acute> <C> : "Ć" U0106 # LATIN CAPITAL LETTER C WITH ACUTE
<dead_acute> <c> : "ć" U0107 # LATIN SMALL LETTER C WITH ACUTE
<Multi_key> <acute> <c> : "ć" U0107 # LATIN SMALL LETTER C WITH ACUTE
<Multi_key> <apostrophe> <c> : "ć" U0107 # LATIN SMALL LETTER C WITH ACUTE
<combining_acute> <c> : "ć" U0107 # LATIN SMALL LETTER C WITH ACUTE

The same to pt_BR.UTF-8.

Piter Punk

Revision history for this message
In , Simos Xenitellis  (simosx) wrote :

(In reply to comment #12)
> Created an attachment (id=21713) [details]
> xev output showing '+c giving ccedilla
>
>
> In the attachment is the xev output showing what happens pressing
> ' and then c. Is very clearly the result is a ç.
>
> I am using us(intl) keyboard in this test.
>
> The problem isn't in xkeyboard-config.
>
> Piter Punk
>

The attached file has the iso-8859-1 encoding, instead of UTF-8.

Could you please provide some more information on the distribution you use?
As far as I known, all mainstream distributions have switched to UTF-8.

Could you try the same with a UTF-8 locale?

Revision history for this message
In , Simos Xenitellis  (simosx) wrote :

(In reply to comment #13)
> Created an attachment (id=21716) [details]
> screenshot showing normal X and GTK+2 applications

Thanks for the detailed reply.
It looks you are using a customised distribution.

If you notice above, I mistakenly assumed you refer to the default Brazilian layout, while you are referring to "us(intl)".

>
> I know screenshots don't "prove" what I am saying.
>
> But here you can see two X applications (rxvt and xterm)
> and the ç (result of '+c). The xfce's run window (GTK+2
> application) shows ć as result of the same key combination.

When you mention '+c, I assume you refer to the line

    key <AC11> { [dead_acute, dead_diaeresis, apostrophe, quotedbl ] };

(in /usr/share/X11/xkb/symbols/us section: intl)

Thus, when you mention that you press '+c, the compose sequence is

<dead_acute> <c>

> I am using en_US as locale and '+c = ç is the expected behavior
> looking iso8859-1 Compose file:
>
> # Useful for portuguese language
> <dead_acute> <C> : "\307" Ccedilla
> <dead_acute> <c> : "\347" ccedilla

I would say that having 'dead_acute' + 'c' to match ccedilla is counterintuitive. Most probably, it was created due to the absence of dead_cedilla. I assume the legacy compose files (iso-8859-x) where created between 10-15 years ago.

> But, en_US.UTF-8 didn't have those in Compose file. There, <dead_acute> <c>
> is:
>
> <dead_acute> <C> : "Ć" U0106 # LATIN CAPITAL LETTER C
> WITH ACUTE
> <Multi_key> <acute> <C> : "Ć" U0106 # LATIN CAPITAL LETTER C
> WITH ACUTE
> <Multi_key> <apostrophe> <C> : "Ć" U0106 # LATIN CAPITAL LETTER C
> WITH ACUTE
> <combining_acute> <C> : "Ć" U0106 # LATIN CAPITAL LETTER C
> WITH ACUTE
> <dead_acute> <c> : "ć" U0107 # LATIN SMALL LETTER C
> WITH ACUTE
> <Multi_key> <acute> <c> : "ć" U0107 # LATIN SMALL LETTER C
> WITH ACUTE
> <Multi_key> <apostrophe> <c> : "ć" U0107 # LATIN SMALL LETTER C
> WITH ACUTE
> <combining_acute> <c> : "ć" U0107 # LATIN SMALL LETTER C
> WITH ACUTE
>
> The same to pt_BR.UTF-8.

Since we now have dead_cedilla, I do no think the solution would be to assign dead_acute to produce characters with cedilla.

Looking into the us file, you can get the proper dead_cedilla if you select the 'alt-intl' layout (the 'intl' layout does not have it).

The relevant line is

  key <AB08> { [ comma, less, dead_cedilla, dead_caron ] };

so you press AltGr + ',', then c, and you get ç.

To answer your question about GTK+ 2.x, loosely speaking it is hard-coded to the /usr/share/X11/locale/en_US.UTF-8/Compose compose file.

Revision history for this message
Fabián Rodríguez (magicfab) wrote : Re: C-cedil not present in US-International keyboard

I must agree this bug's title should be "C-cedilla in us-intl layout not where Windows users expect it". I've now grown used to typinh AltGr + , + C to get my cedillas, and everytime i convert someone I explain the difference.

Revision history for this message
cenora (cenora) wrote :

Eduardo,

Maybe slovenian, turkish and other languages that use "ć" will be affected.

Still the argument remains: Ubuntu should follow Microsoft standard for easier adoption of the O.S.

We're at over 2 years since I opened this BUG, resolution is simple, yet I must ask why nothing has been done yet.

Regards,
Cenora

Eduardo Cereto (dudus)
Changed in xkeyboard-config (Ubuntu):
assignee: Eduardo Cereto (dudus) → nobody
Revision history for this message
Flávio Etrusco (etrusco) wrote :

Eduardo Ceretos' approach (if I understand it) is the correct one: to create a different layout for 'Brazil' model and let US model alone. There several completely different (and completely irrelevant) layouts for Brazil model like all "Nativo" variants (I can't speak for Dvorak and Esperanto, these Nativo variants are complete nonsense), there should be a "Brazil with US Intl".
OT rant: wth doesn't the combo navigate work naviagate when you press a char?
OT rant2: when will gtk finally that popup/combo scroll bug?

Revision history for this message
Marco Paganini (paganini-launchpad) wrote : Re: [Bug 92652] Re: C-cedil not present in US-International keyboard

The sad part of all this is that a lot of people are used to US-intl
generating a cedilla when accent+C is used. Curiously, there's a "New
US Intl" layout that does the same as the "regular" US-Intl. I think
the cleanest solution would be to have an "Old US Intl" or "Legacy
US-Intl" that would generate a cedilla on accent+c.

2010/2/18 Flávio Etrusco <email address hidden>:
> Eduardo Ceretos' approach (if I understand it) is the correct one: to create a different layout for 'Brazil' model and let US model alone. There several completely different (and completely irrelevant) layouts for Brazil model like all "Nativo" variants (I can't speak for Dvorak and Esperanto, these Nativo variants are complete nonsense), there should be a "Brazil with US Intl".
> OT rant: wth doesn't the combo navigate work naviagate when you press a char?
> OT rant2: when will gtk finally that popup/combo scroll bug?
>
> --
> C-cedil not present in US-International keyboard
> https://bugs.launchpad.net/bugs/92652
> You received this bug notification because you are a direct subscriber
> of the bug.
>

Arne Goetje (arnegoetje)
summary: - C-cedil not present in US-International keyboard
+ Please add Microsoft compatible keyboard layout for Brazil
description: updated
Changed in xkeyboard-config (Ubuntu):
importance: Medium → Wishlist
status: In Progress → Triaged
Revision history for this message
Arne Goetje (arnegoetje) wrote :

I took the liberty to rename this bug report to what it really is.
Please describe the requested keyboard layout in the bug description. As I don't have any Brazilian Windows available, I don't know what the expected layout should look like.

If this has been done, I can help with setting this up.

Revision history for this message
Flávio Etrusco (etrusco) wrote :

This modification wasn't really asked for. XFree86/Xorg (xkb?) have always worked the way this report asks, until a couple of years.
You don't need a Brazilian Windows. You just need a US keyboard and make ' (apostrophe) followed by C output a Ç.

Bryce Harrington (bryce)
Changed in xkeyboard-config (Ubuntu Lucid):
assignee: nobody → Arne Goetje (arnegoetje)
Arne Goetje (arnegoetje)
Changed in xkeyboard-config (Ubuntu):
assignee: Arne Goetje (arnegoetje) → nobody
Changed in xkeyboard-config (Ubuntu Lucid):
assignee: Arne Goetje (arnegoetje) → nobody
Changed in xkeyboard-config:
importance: Unknown → Medium
Revision history for this message
Lucio M Nicolosi (lmnicolosi) wrote :

Update to Volanin's recipe at #18

How to fix this in Maverick in 2 steps:

*** 1. Edit the file: /usr/lib/gtk-2.0/2.10.0/gtk.immodules ***

2. Add your LOCALE to the end of the line beginning with "cedilla".
If you use Ubuntu in English, your locale is probably: en or en_US.
Add any LOCALE that you usually use as well.

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

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

The effect is immediate.
You just need to restart your applications.

Revision history for this message
fungos (fungos) wrote :

This is very annoying, the default shortcut for cedilla is [ ' + c ] and the Ubuntu doesn't work the expected way, otherwise it generates: ć.

The above fix works.
Fix this issue for 11.04 please. I would say that this is CRITICAL due to being expected natural feature of any operating system for Brazil locale.

Revision history for this message
Marco Paganini (paganini-launchpad) wrote : Re: [Bug 92652] Re: Please add Microsoft compatible keyboard layout for Brazil

It is an annoying problem indeed. The issue is that a lot of people in
Brazil, for example, use the ABNT-2 layout, where a separate cedilla C key
exists. Everyone else was dropped in the middle of the road with this
change.

I have a quick workaround to fix it. Just cut and past the lines below and
restart your gnome apps:

$ sudo perl -ani.bak -e 's/\xc4\x87/\xc3\xa7/g; s/\xc4\x86/\xc3\x87/g;
print' /usr/share/X11/locale/en_US.UTF-8/Compose

$ sudo perl -ani.bak -e 'if (m/^"(cedilla)" "(.*?)" "(.*?)" "(.*?)"
"(.*?)"/o) { print "\"$1\" \"$2\" \"$3\" \"$4\" \"$5:en_US\"\n" } else {
print }' /usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules

Note: Those are *TWO* lines. Merge them back if your mailer breaks them.

On Sun, Oct 17, 2010 at 11:57 AM, fungos <email address hidden> wrote:

> This is very annoying, the default shortcut for cedilla is [ ' + c ]
> and the Ubuntu doesn't work the expected way, otherwise it generates: ć.
>
> The above fix works.
> Fix this issue for 11.04 please. I would say that this is CRITICAL due to
> being expected natural feature of any operating system for Brazil locale.
>
> --
> Please add Microsoft compatible keyboard layout for Brazil
> https://bugs.launchpad.net/bugs/92652
> You received this bug notification because you are a direct subscriber
> of the bug.
>

Revision history for this message
cenora (cenora) wrote :

Bah, why bother? Install Windows 7.

On Sun, Oct 17, 2010 at 9:10 PM, paganini <email address hidden> wrote:

> It is an annoying problem indeed. The issue is that a lot of people in
> Brazil, for example, use the ABNT-2 layout, where a separate cedilla C key
> exists. Everyone else was dropped in the middle of the road with this
> change.
>
> I have a quick workaround to fix it. Just cut and past the lines below and
> restart your gnome apps:
>
> $ sudo perl -ani.bak -e 's/\xc4\x87/\xc3\xa7/g; s/\xc4\x86/\xc3\x87/g;
> print' /usr/share/X11/locale/en_US.UTF-8/Compose
>
> $ sudo perl -ani.bak -e 'if (m/^"(cedilla)" "(.*?)" "(.*?)" "(.*?)"
> "(.*?)"/o) { print "\"$1\" \"$2\" \"$3\" \"$4\" \"$5:en_US\"\n" } else {
> print }' /usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules
>
> Note: Those are *TWO* lines. Merge them back if your mailer breaks them.
>
> On Sun, Oct 17, 2010 at 11:57 AM, fungos <email address hidden> wrote:
>
> > This is very annoying, the default shortcut for cedilla is [ ' + c ]
> > and the Ubuntu doesn't work the expected way, otherwise it generates: ć.
> >
> > The above fix works.
> > Fix this issue for 11.04 please. I would say that this is CRITICAL due to
> > being expected natural feature of any operating system for Brazil locale.
> >
> > --
> > Please add Microsoft compatible keyboard layout for Brazil
> > https://bugs.launchpad.net/bugs/92652
> > You received this bug notification because you are a direct subscriber
> > of the bug.
> >
>
> --
> Please add Microsoft compatible keyboard layout for Brazil
> https://bugs.launchpad.net/bugs/92652
> You received this bug notification because you are a direct subscriber
> of the bug.
>

Revision history for this message
Leonardo Santagada (santagada) wrote :

Seriously, us-int is a de facto standard, all the keys are the same on windows (since forever) mac os x (which doesn't have it native but the one on the internet is the same for years) and on linux since at least 1998. Why change this? There is probably a layout everyone in the western europe uses so they are not going to start using us intl (well at least if this layout was named something else before) and all the people using any other desktop operating systems in the last 12 years is going to feel left out. I know that I can work around it, but it just don't make any sense. All latin-1 languages doesn't have "LATIN SMALL LETTER C WITH ACUTE".

In summary you are probably pissing off both latin-1 and latin-2 speakers (latin-1 is for sure, latin-2 is a guess).

And I know there is a way to make it work, but it has to be the default, just because it is the only logical default for us international.

Changed in xkeyboard-config:
importance: Medium → Unknown
Revision history for this message
LKRaider (paul-eipper) wrote :

I finally found a fix: I upgraded my Ubuntu to Mac OSX to fix the issue.

Changed in xkeyboard-config:
importance: Unknown → Medium
Revision history for this message
Alexandre Otto Strube (surak) wrote :

Usually, the problem was fixed by having a "US-International" layout WITH Brazilian portuguese as an option.

no longer affects: xkeyboard-config (Ubuntu Lucid)
Changed in linuxmint:
status: New → Opinion
Revision history for this message
Marco Paganini (paganini-launchpad) wrote :

I still get many people asking me how to fix this behavior in Linux. Since this bug is now nine years old and there seems to be no interest in providing a "proper" fix, I've created a small shell script that should configure your system to generate a cedilla c on '+c:

https://github.com/marcopaganini/gnome-cedilla-fix

Feel free to use it in any way you see fit.

Revision history for this message
In , Gitlab-migration (gitlab-migration) wrote :

-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/issues/116.

Changed in xkeyboard-config:
status: Confirmed → Unknown
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.