Bug 29979 - [Keybindings] DBCS: Cannot get Chinese IME in Linux GTK on StyledText
Summary: [Keybindings] DBCS: Cannot get Chinese IME in Linux GTK on StyledText
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 2.1   Edit
Hardware: PC Linux-GTK
: P1 critical (vote)
Target Milestone: 2.1 RC1   Edit
Assignee: Chris McLaren CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 30351 (view as bug list)
Depends on: 29610
Blocks: 29506 30356
  Show dependency tree
 
Reported: 2003-01-22 10:07 EST by Tod Creasey CLA
Modified: 2003-02-26 15:28 EST (History)
3 users (show)

See Also:


Attachments
Test Case (1.72 KB, text/plain)
2003-02-19 18:18 EST, Felipe Heidrich CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tod Creasey CLA 2003-01-22 10:07:05 EST
20021218

It is not currently possible to get the IME anywhere in Eclipse in Linux GTK.

STEPS
1) Change Locale to Simplified Chinese before logging in
2) Go to any application except Eclipse.
3) Hit Ctrl-Space. IME comes up.
4) Hit Ctrl-Space again. IME closes.
5) Start Eclipse
6) Go to a text file. Hit Ctrl-Space. Nothing happens.
Comment 1 Steve Northover CLA 2003-01-22 10:47:03 EST
Tod, I believe this is fixed.  Can you get the latest and retest.  Thanks.
Comment 2 Tod Creasey CLA 2003-01-22 12:38:06 EST
I am still getting the problem in 20030122
Comment 3 Steve Northover CLA 2003-01-22 14:44:57 EST
Verified that this is true in the ControlExample.  It seems that once the IME 
has been successfully invoked from a single-line native text widget (it won't 
come up in the native multi-line text widget either), then Ctrl+Space will 
bring it up in a StyledText.

Several things to note:
    - Chinese GTK 2.006 is wildly unstable and GP's constantly
    - Chinese GTK 2.2.0 is more stable, doesn't GP and doesn't have the problem

Sorry can't do anything other than suggest an upgrade to GTK 2.2.0.
Comment 4 Steve Northover CLA 2003-01-29 16:02:12 EST
*** Bug 30351 has been marked as a duplicate of this bug. ***
Comment 5 SC Development 01 CLA 2003-01-30 04:33:52 EST
We still could't get SCH IME on StyledText with I20030129 build on RedHat8.0 
with GTK+ 2.2.
Comment 6 Steve Northover CLA 2003-01-30 10:46:46 EST
Drat, wasn't fixed by GTK 2.2.
Comment 7 Steve Northover CLA 2003-01-30 10:47:49 EST
SSQ to investigate and advise.
Comment 8 Veronika Irvine CLA 2003-02-12 16:33:12 EST
Grant,
Please talk to Silenio about this.
Comment 9 Grant Gayed CLA 2003-02-18 15:03:15 EST
Felipe's back, so reassigning.
Comment 10 Felipe Heidrich CLA 2003-02-19 13:02:51 EST
Run the ControlExample on the same system. (you can run it from inside eclipse 
if you wish). Go to the Text tab. You'll be able to enter chinese on both (in 
the native Text and also in the StyledText).

In fact we can not enter chinese on the JavaEditor.
The shortcut to turn the IME on conflits with the JavaEditor shortcut to the 
content assist (Ctrl+Space).

The bug on SWT is: why the OS is not filtering the Ctrl+Space before it goes to 
the widget.

I also tried to change the shortcut to the content assist in the preference 
page, for some reason (maybe Tod can say something here) it makes not 
difference.
Comment 11 Tod Creasey CLA 2003-02-19 13:38:39 EST
I have just tried this in windows and I can do the keybinding and IME change 
there. I don't have a machine with Redhat 2.2 so we should look at this 
together.
Comment 12 Felipe Heidrich CLA 2003-02-19 18:15:59 EST
Ok, I will have to move this but to UI.

In GTK the event is filter after it be dispatch, SWT is correctly doing this on
key up and key down. In this case the menu gets the event first, fire the
accelerator (whitout filtering the event first), and then they eat the event
(stop propaganting it). It all happens inside the GTK. There is not way to
workaround this on SWT.

UI team will really need to call removeAccelerator when a keybind is undefined.

Comment 13 Felipe Heidrich CLA 2003-02-19 18:18:29 EST
Created attachment 3585 [details]
Test Case

This example show how to remove the accelerator (menuItem.setAccelerator (0))
and proves that doing this really fixes the problem.
Comment 14 Tod Creasey CLA 2003-02-20 08:10:39 EST
Moving PR to key bindings owner. This one is very high priority for the East 
Asian test group so it is important that it gets sorted out.
Comment 15 Chris McLaren CLA 2003-02-26 15:28:10 EST
Today I made the changes to ensure that for "zh" locales, etc., Ctrl+Space & 
Ctrl+Shift+Space are not registered as accelerators. It will be in tomorrow's 
integration build.