Open Bug 1077533 Opened 10 years ago Updated 2 years ago

Firefox doesn't handle composed characters

Categories

(Core :: DOM: UI Events & Focus Handling, defect)

x86_64
Linux
defect

Tracking

()

People

(Reporter: catlee, Unassigned)

Details

In GTK, I can configure a compose key that I can use to enter in accented or other special characters. For example, I have right-alt configured as my compose key, and I can normally type three characters to get a ç character: right-alt; comma; c. I do not need to hold down the right-alt key while pressing the other keys.

In all other apps (including xterm and chrome), I get the ç entered correctly. In Firefox however, I end up with ",c" being entered.

Here's the list of events as captured by xev:

KeyPress event, serial 33, synthetic NO, window 0x2e00001,
    root 0x2ec, subw 0x0, time 294817345, (315,581), root:(2236,601),
    state 0x0, keycode 108 (keysym 0xff20, Multi_key), same_screen YES,
    XKeysymToKeycode returns keycode: 107
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: True

KeyRelease event, serial 33, synthetic NO, window 0x2e00001,
    root 0x2ec, subw 0x0, time 294817575, (315,581), root:(2236,601),
    state 0x0, keycode 108 (keysym 0xff20, Multi_key), same_screen YES,
    XKeysymToKeycode returns keycode: 107
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 33, synthetic NO, window 0x2e00001,
    root 0x2ec, subw 0x0, time 294818033, (315,581), root:(2236,601),
    state 0x0, keycode 59 (keysym 0x2c, comma), same_screen YES,
    XLookupString gives 1 bytes: (2c) ","
    XmbLookupString gives 1 bytes: (2c) ","
    XFilterEvent returns: True

KeyRelease event, serial 33, synthetic NO, window 0x2e00001,
    root 0x2ec, subw 0x0, time 294818128, (315,581), root:(2236,601),
    state 0x0, keycode 59 (keysym 0x2c, comma), same_screen YES,
    XLookupString gives 1 bytes: (2c) ","
    XFilterEvent returns: False

KeyPress event, serial 33, synthetic NO, window 0x2e00001,
    root 0x2ec, subw 0x0, time 294818404, (315,581), root:(2236,601),
    state 0x0, keycode 54 (keysym 0x63, c), same_screen YES,
    XLookupString gives 1 bytes: (63) "c"
    XmbLookupString gives 1 bytes: (63) "c"
    XFilterEvent returns: True

KeyPress event, serial 33, synthetic NO, window 0x2e00001,
    root 0x2ec, subw 0x0, time 294818404, (315,581), root:(2236,601),
    state 0x0, keycode 0 (keysym 0xe7, ccedilla), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 2 bytes: (c3 a7) "ç"
    XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x2e00001,
    root 0x2ec, subw 0x0, time 294818475, (315,581), root:(2236,601),
    state 0x0, keycode 54 (keysym 0x63, c), same_screen YES,
    XLookupString gives 1 bytes: (63) "c"
    XFilterEvent returns: False
I think GtkIMContextSimple usually performs this composition.
Component: Event Handling → User events and focus handling
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.