After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 155524 - Can't use Compose and Meta to type composed chars
Can't use Compose and Meta to type composed chars
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Input Methods
2.2.x
Other Linux
: Normal minor
: Need diagnosis
Assigned To: Hidetoshi Tajima
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2004-10-15 17:12 UTC by Loïc Minier
Modified: 2009-01-07 23:10 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Loïc Minier 2004-10-15 17:12:54 UTC
1. Set your input method to Cedilla or Default
2. Type Compose key, then a, then AltGr-` on a french configured keyboard
3. you get a` instead of à or a beep when you press AltGr

AltGr is right alt in france and gives access to a range of chars often used in
France.  "`" is done with AltGr-7, to produce a grave accent.

Workaround : use the X input method.

Is there a doc on input methods?  extension, configuration, selection, ...?

This is Debian bug <http://bugs.debian.org/210490>.

Regards,

-- 
Loic Minier
Comment 1 Owen Taylor 2004-10-15 17:21:55 UTC
What key symbol does Altgr-' give on your keyboard? ('xev' is a useful
program to check this) Why aren't you using simply <compose> a '? 
Comment 2 Loïc Minier 2004-10-15 17:30:41 UTC
AltGr-' produces "{" on french keyboards.

« ' » produces keycode 13 (keysym 0x27, apostrophe), XLookupString gives 1
bytes:  "'"

« AltGr » produces keycode 113 (keysym 0xfe03, ISO_Level3_Shift), XLookupString
gives 0 bytes:  ""

« AltGr-' » produces keycode 13 (keysym 0x7b, braceleft), XLookupString gives 1
bytes:  "{"

I don't use <compose> a ' because this produces « á » not « à ».

If that can help:
« Alt-Gr-` » produces keycode 16 (keysym 0x60, grave), XLookupString gives 1
bytes:  "`"
« è » (the letter produced by a normal press on the key « 7 / è / `» ) produces
keycode 16 (keysym 0xe8, egrave), XLookupString gives 1 bytes:  "è"
Comment 3 Owen Taylor 2004-10-15 17:49:57 UTC
Hmm. Probably a fr specific compose sequence. 

But doesn't the standard french keyboard *have* an à on the top row of the
keyboard?

The compose sequences that GTK+ supports are generic to all languages;
The ones that are supported for à are just the obvious:

 dead_grave + a
 compose + a + `
 compose + ` + a
Comment 4 Hidetoshi Tajima 2004-10-15 17:57:47 UTC
Maybe while composing character, which was started with 'compose',
modifier key events like AltGr should be ignored?
 if (IsModiferKeys (keysym))
   ignore, and wait for next key event with ev->state = Mod1Mask

It may work if there is a compose sequence like below supported in 
default or Cedilla backend module.
  compose + a + AltGr<`>
Comment 5 Owen Taylor 2004-10-15 18:32:57 UTC
I think what the reporter wants is to have

 compose + a + AltGr<'> act like compose + a + `

even though AltGr<'> gives { not `. Most likely the X compose
file for the fr locale just has a sequence for compose + a + {
Comment 6 Loïc Minier 2004-10-15 19:01:57 UTC
Nono, I really want compose, a, AltGr<`> to act like compose, a, ` !!

There is no "`" key on french keyboards, but there's a "'" key. The problem is
that "`" is obtained only via AltGr, and this confuse the compose, a, ` sequence
in GTK. The sequence compose, e, ', works because AltGr isn't involved in typing
"'".

For you earlier remark, yes there's a "à" key on french keyboards, but no "À"
key, and many sentences start with this letter in french.

The OP is Roland Mas, and is reading this.

Regards,

-- 
Loic Minier
Comment 7 Owen Taylor 2004-10-15 19:13:59 UTC
GTK+ doesn't pay any attention to modifiers during composition. 
If AltGr+` gives the 'grave' keysym, it really should work.

I can't test this out at the moment, since my keyboard doesn't have
enough keys to let me easily have both a compose key and a AltGR.
Comment 8 Loïc Minier 2004-10-15 19:21:32 UTC
I think picking a french keyboard and setting caps lock as compose permits
testing (that's what I have, and it works on a US keyboard).

HTH,

-- 
Loic Minier
Comment 9 Simos Xenitellis 2008-06-13 01:15:18 UTC
(In reply to comment #6)
> Nono, I really want compose, a, AltGr<`> to act like compose, a, ` !!
> 
> There is no "`" key on french keyboards, but there's a "'" key. The problem is
> that "`" is obtained only via AltGr, and this confuse the compose, a, ` sequence
> in GTK. The sequence compose, e, ', works because AltGr isn't involved in typing
> "'".
> 
> For you earlier remark, yes there's a "�" key on french keyboards, but no "�"
> key, and many sentences start with this letter in french.

It is quite strange to have  
        Compose, <letter>, diacritics

The typical is to have 
       Compose, diacritics, <letter>

Perhaps I am missing something.

On the issue. I managed to test on GTK+ (trunk) the following that work,

Compose, ', AltGr + ', a  produces ấ

which means that you can have a compose sequence that is made of a character/keysym that is produced with AltGr. This is how I understand the issue.
Comment 10 Matthias Clasen 2009-01-07 23:10:00 UTC
I think this is all fixed in trunk. Please reopen if not.