dead keys not working at all?

Adrien "Pied" Piérard axioplase+xorg at gmail.com
Mon Jul 25 01:48:28 PDT 2011


Hello Troy,

2011/7/25 Troy Korjuslommi <tjk at tksoft.com>:
> xev is also an X app. Can you please clarify whether xev displays the
> correct output? I.e. displays the desired character on the line where it
> says "XLookupString {something}"?

Yes, it does, at least I think. Here is the output (there are many
events, for the dead key is under a modifier, so the sequence is
"press modifier, press dead_key, release both, press vowel key, (press
the modified vowel), release vowel key") :

KeyPress event, serial 27, synthetic NO, window 0x2c00001,
    root 0x1ff, subw 0x0, time 20052895, (603,503), root:(2204,518),
    state 0x0, keycode 113 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 27, synthetic NO, window 0x2c00001,
    root 0x1ff, subw 0x0, time 20053287, (603,503), root:(2204,518),
    state 0x80, keycode 40 (keysym 0xfe57, dead_diaeresis), same_screen YES,
    XLookupString gives 2 bytes: (c2 a8) "¨"
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: True

KeyRelease event, serial 27, synthetic NO, window 0x2c00001,
    root 0x1ff, subw 0x0, time 20053409, (603,503), root:(2204,518),
    state 0x80, keycode 40 (keysym 0xfe57, dead_diaeresis), same_screen YES,
    XLookupString gives 2 bytes: (c2 a8) "¨"
    XFilterEvent returns: False

KeyRelease event, serial 27, synthetic NO, window 0x2c00001,
    root 0x1ff, subw 0x0, time 20054126, (603,503), root:(2204,518),
    state 0x80, keycode 113 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 27, synthetic NO, window 0x2c00001,
    root 0x1ff, subw 0x0, time 20054652, (603,503), root:(2204,518),
    state 0x0, keycode 40 (keysym 0x69, i), same_screen YES,
    XLookupString gives 1 bytes: (69) "i"
    XmbLookupString gives 1 bytes: (69) "i"
    XFilterEvent returns: True

KeyPress event, serial 27, synthetic NO, window 0x2c00001,
    root 0x1ff, subw 0x0, time 20054652, (603,503), root:(2204,518),
    state 0x0, keycode 0 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 2 bytes: (c3 af) "ï"
    XFilterEvent returns: False

KeyRelease event, serial 27, synthetic NO, window 0x2c00001,
    root 0x1ff, subw 0x0, time 20054719, (603,503), root:(2204,518),
    state 0x0, keycode 40 (keysym 0x69, i), same_screen YES,
    XLookupString gives 1 bytes: (69) "i"
    XFilterEvent returns: False


> Also, do you have a locale set which has the characters you want?

I don't think so.
I have both LANG and LC_ALL to ja_JP.UTF-8 (Japanese), but it is the
same locale on my other computers where I do not have any problem.
I'm trying to input French characters like "é" "à", but also the very
simple "^" (which I usually enter by doing "dead_circumflex" twice).

> The compose file used must have the dead_acute+{letter} combination set.
> If not, things won't work. It gets picked up by the keyboard layout
> configs. I.e. a suitable keyboard layout must also have a suitable
> compose file.

Hum, I never had a compose file (or never manually set it up for my users).
So, for example, would you suggest that I copy the full
/usr/local/lib/X11/locale/en_US.UTF-8/Compose
to
/usr/local/lib/X11/locale/ja_JP.UTF-8/Compose or ~/.XCompose?

I tried the latter, with no success.

> Try doing the following:
> 1. set locale to one with the characters you want.
> 2. set keyboard layout to one with the dead_acute key.
> 3. login again and try xev and your regular app.

I did (set LANG and LC_ALL to fr_FR.UTF-8, and my keyboard to
dvorak-bépo), and nothing changed. xev behaves as above, and I still
can't use the dead keys.

Cheers,



More information about the xorg mailing list