GNOME Bugzilla – Bug 155524
Can't use Compose and Meta to type composed chars
Last modified: 2009-01-07 23:10:00 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
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 '?
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: "è"
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
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<`>
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 + {
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
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.
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
(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.
I think this is all fixed in trunk. Please reopen if not.