Bug 14120

Summary: [GDK] Support input methods
Product: WebKit Reporter: Alp Toker <alp>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: alp, christian, gwright, sanxiyn
Priority: P2 Keywords: Gtk
Version: 523.x (Safari 3)   
Hardware: All   
OS: All   
Bug Depends on: 16454, 17009    
Bug Blocks:    
Attachments:
Description Flags
Initial implementation of GTK Input methods, including Hildon none

Description Alp Toker 2007-06-13 06:28:07 PDT
The editor client should support Gtk+ input methods for desktop accessibility and mobile device virtual keyboards.
Comment 1 George Wright 2007-12-11 09:00:53 PST
Created attachment 17849 [details]
Initial implementation of GTK Input methods, including Hildon

This is an initial implementation for GTK input method support in EditorClientGtk. It also includes support for the Hildon input methods from the Maemo platform used on the Nokia internet tablets. These Hildon specific changes are #ifdef'd.
Comment 2 Alp Toker 2007-12-11 15:36:14 PST
Comment on attachment 17849 [details]
Initial implementation of GTK Input methods, including Hildon

Making these changes as discussed before landing:

Add ChangeLog entry
Make sure resources are unref'd
Don't re-introduced deprecated "page" terminology
Comment 3 Alp Toker 2007-12-11 16:11:47 PST
Initial patch landed in r28634. Not closing this bug since IM support is not complete yet and there are CCs.
Comment 4 Seo Sanghyeon 2007-12-11 18:15:02 PST
I tested the patch. I need the input method support to input Korean. I used search text field on Korean Wikipedia to test.

1. X Input Method did not work at all.
2. imhangul (GTK+ input module) did change something, but produced garbage characters.
3. I tried to test IPA, but I found no way to select different GTK+ input module. I usually do that by using context menu. (I could switch to imhangul with hot key though.)
Comment 5 Alp Toker 2007-12-11 18:25:15 PST
That is e(In reply to comment #4)
> I tested the patch. I need the input method support to input Korean. I used
> search text field on Korean Wikipedia to test.
> 
> 1. X Input Method did not work at all.
> 2. imhangul (GTK+ input module) did change something, but produced garbage
> characters.
> 3. I tried to test IPA, but I found no way to select different GTK+ input
> module. I usually do that by using context menu. (I could switch to imhangul
> with hot key though.)
> 

This is exactly what I'd expect. As the ChangeLog entry explained, the patch only implements the infrastructure for IM support, but happens to be sufficient for limited virtual keyboard support on mobile devices already.

The work to go from here to getting complete support is pretty clear. We just need to implement the various IM signals and functions in terms of EditorClientGtk. The one change we'll need to make outside of EditorClientGtk is to add a new field to PlatformKeyboardEvent.h to pass around the GDK event -- this is the exact same strategy the Mac port uses.

Completing this feature would only take maybe half a day for someone with WebKit/GTK+ experience.
Comment 6 Alp Toker 2007-12-12 09:29:29 PST
Comment on attachment 17849 [details]
Initial implementation of GTK Input methods, including Hildon

Landed in r28634. Clearing the review flag since this bug needs to remain open.
Comment 7 Alp Toker 2007-12-15 12:55:18 PST
Seo,

Here's a patch to try in the meantime:
  http://bugs.webkit.org/show_bug.cgi?id=16454

Does it improve the input situation at all?
Comment 8 Alp Toker 2008-02-03 23:30:02 PST
Commit r29958 fixing Bug #17046 added input method selection support to the context menu. 
Comment 9 Alp Toker 2008-02-08 02:47:41 PST
I have a feeling that with r30090 input methods are starting to become useful for international users.

I have no idea if it's at a usable state but I can switch between the various methods with the context menu, type in Arabic using SCIM etc.

Seo, are we getting there? Is this usable for you?
Comment 10 Christian Dywan 2008-02-08 23:10:41 PST
Tested to verify the current status of Input Method support:

Input methods that match typed letters directly to resulting letters of the target script seem to work, such as Cyrillic.

Input methods that combine input letters to syllables or complex glyphs, such as Japanese, do not work for me.
Comment 11 Alp Toker 2008-02-09 00:02:17 PST
(In reply to comment #10)
> Tested to verify the current status of Input Method support:
> 
> Input methods that match typed letters directly to resulting letters of the
> target script seem to work, such as Cyrillic.
> 
> Input methods that combine input letters to syllables or complex glyphs, such
> as Japanese, do not work for me.
> 

Did you apply the hack I suggested in bug #16792 to make Chinese/Japanese text render?

Without it, you'll have to test with either simple, non-wide text, or actual complex text like Arabic.
Comment 12 Alp Toker 2008-05-28 11:05:36 PDT
Fix landed in r34176.