You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by Martin Heidegger <mh...@leichtgewicht.at> on 2012/03/11 21:54:10 UTC

[OT] IME

Hello guys,

I was curious about how that IME works in detail accross implementations 
and I stumbled upon the following:
  * It doesn't work same in the various WMODEs
  * In some WMODE settings it behaves differently in different browsers

Here is my test suite: [1].

I managed to find out following compatibility issues on Windows:
   * In Chrome&Opera: wmode = opaque the IME panel is *ignored* (direct 
input)
   * In Opera: wmode = transparent the IME panel is *ignored* (direct input)
   * In Chrome: wmode = transparent doesn't send IMEEvent.IME_COMPOSITION
   * In Firefox: wmode = opaque and wmode = transparent are rendered 
using a custom IME panel without any events to flash
   * In Chrome: wmode = opaque the conversionMode is always "UNKNOWN" 
and it can not be set
   * In Opera&Firefox: the conversionMode can always be set in all 
wmodes (without error) but it doesn't effect anything in opaque & 
transparent

Yes: IE has no issue with all this! Seems like ActiveX just works?!

Open Question: I have not found a way to listen to 
IMEEvent.IME_START_COMPOSITION, has anybody ever tried that?

It would be awesome if someone could test it on Mac/Linux and perhaps 
create a little AIR app to test it ...

yours
Martin.

[1] http://dl.dropbox.com/u/19407988/WonderFl-WMode-Test.html#lLzJ


Re: [OT] IME

Posted by Martin Heidegger <mh...@leichtgewicht.at>.
On 13/03/2012 01:55, Alex Harui wrote:
> A Flex app may not let you keep focus on a raw TextField.  Was this an
> AS-only pr
The test project is @wonderfl [1] which is AS-only. The other project 
seems to be an extended TLF - as I said only reference I found.

yours
Martin.

[1] http://wonderfl.net/c/lLzJ

Re: [OT] IME

Posted by Alex Harui <ah...@adobe.com>.


On 3/11/12 11:47 PM, "Martin Heidegger" <mh...@leichtgewicht.at> wrote:

> On 12/03/2012 15:34, Justin Mclean wrote:
>> Do you mean s:TextInput? s:TextInput uses TLF under the hood. As the event
>> doesn't bubble by default you might not get it at s:TextInput level but need
>> to listen on the text component inside it? textDisplay for instance? Just a
>> guess and I could be way off track here.
> I didn't use TextInput but flash.text.TextField. I found the
> imeStartComposition used in ContainerController [1]. And it seems to add
> it to the container sprite ... But I didn't find anything else that
A Flex app may not let you keep focus on a raw TextField.  Was this an
AS-only project?

-- 
Alex Harui
Flex SDK Team
Adobe Systems, Inc.
http://blogs.adobe.com/aharui


Re: [OT] IME

Posted by Martin Heidegger <mh...@leichtgewicht.at>.
On 12/03/2012 15:34, Justin Mclean wrote:
> Do you mean s:TextInput? s:TextInput uses TLF under the hood. As the event doesn't bubble by default you might not get it at s:TextInput level but need to listen on the text component inside it? textDisplay for instance? Just a guess and I could be way off track here.
I didn't use TextInput but flash.text.TextField. I found the 
imeStartComposition used in ContainerController [1]. And it seems to add 
it to the container sprite ... But I didn't find anything else that 
seems to be done.

yours
Martin.

[1] 
http://code.google.com/codesearch#hv4KTTESBuw/trunk/tlf/src/main/flex/flashx/textLayout/container/ContainerController.as&q=imeStartCompositionHandler%20package:http://tlfx%5C.googlecode%5C.com&l=1387

Re: [OT] IME

Posted by Justin Mclean <ju...@classsoftware.com>.
HI,

> No TLF loaded. I added a listener to the TextField, stage, a containing sprite (like I found in TLF) and the ime instance. Can not find any hints. (code at wonderfl[1])

Do you mean s:TextInput? s:TextInput uses TLF under the hood. As the event doesn't bubble by default you might not get it at s:TextInput level but need to listen on the text component inside it? textDisplay for instance? Just a guess and I could be way off track here.

Justin

Re: [OT] IME

Posted by Martin Heidegger <mh...@leichtgewicht.at>.
On 12/03/2012 07:21, Justin Mclean wrote:
> Interesting but perhaps not that surprising it's a little odd in transparent mode. Window is the most likely wmode for a flex application. I assume it works fin  in that mode on all browsers you tested?

Yes, the other wmode settings work.

> Open Question: I have not found a way to listen to IMEEvent.IME_START_COMPOSITION, has anybody ever tried that?
> I've not tried but I would assume you listen on the textinput field. Perhaps TLF is getting in the way?

No TLF loaded. I added a listener to the TextField, stage, a containing 
sprite (like I found in TLF) and the ime instance. Can not find any 
hints. (code at wonderfl[1])

> You might also want to look at the table here re Window/Linux/OSX IME support.
> http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/IME.html
I did read the table before but I assumed that, as it is supported in 
Windows7, it should also send the composition start events.

yours
Martin.

[1] http://wonderfl.net/c/lLzJ

Re: [OT] IME

Posted by Justin Mclean <ju...@classsoftware.com>.
Hi,

> I was curious about how that IME works in detail accross implementations and I stumbled upon the following:
> * It doesn't work same in the various WMODEs
> * In some WMODE settings it behaves differently in different browsers
Interesting but perhaps not that surprising it's a little odd in transparent mode. Window is the most likely wmode for a flex application. I assume it works fin  in that mode on all browsers you tested?

> Open Question: I have not found a way to listen to IMEEvent.IME_START_COMPOSITION, has anybody ever tried that?
I've not tried but I would assume you listen on the textinput field. Perhaps TLF is getting in the way?

> It would be awesome if someone could test it on Mac/Linux and perhaps create a little AIR app to test it ...
From a quick look on OSX:
Safari 5.1-  can set mode (and it works) in both opaque and transparent
Firefox 9 - can set mode (and it works) in both opaque and transparent
Chrome 17- can set mode (and it works) in both opaque and transparent

You might also want to look at the table here re Window/Linux/OSX IME support.
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/IME.html

Thanks,
Justin