<AWT Dev> [8] Review request for 7156194 [macosx] Can't type non-ASCII characters into applets

Anthony Petrov anthony.petrov at oracle.com
Tue Apr 10 03:17:29 PDT 2012


On 4/10/2012 2:18 PM, Dmitry Cherepanov wrote:
>> On 4/5/2012 11:47 AM, Dmitry Cherepanov wrote:
>>>> src/macosx/classes/sun/lwawt/macosx/CPlatformResponder.java
>>>>>  188             while (index < length) {
>>>>>  189                 c = text.charAt(index);
>>>>>  190                 peer.dispatchKeyEvent(KeyEvent.KEY_TYPED,
>>>>>  191                                       System.currentTimeMillis(),
>>>>>  192                                       0, 
>>>>> KeyEvent.VK_UNDEFINED, c,
>>>>>  193                                       
>>>>> KeyEvent.KEY_LOCATION_UNKNOWN);
>>>>>  194                 index++;
>>>>>  195             }
>>>>
>>>> Are we sure we want to dispatch each character for the 
>>>> handleInputEvent(String) event with its own timestamp? Does a 
>>>> browser combine several unrelated key strokes into a single 
>>>> InputEvent, or are all the characters actually represent one 
>>>> integral input event? Put another way, should user code be able to 
>>>> see that a bunch of TYPED events actually belongs to one native 
>>>> input event?
>>>
>>> I'm not sure that I understood your question correctly. When a 
>>> browser starts a complex text composition, the Plug-in doesn't 
>>> receive KeyDown/KeyUp events but it receives TextInput event 
>>> containing the composed string and this TextInput event is sent when 
>>> the composition is finished. If this doesn't answer your question, 
>>> could you please give an example?
>>
>> At line 191 in the above quote you're assigning a new timestamp to 
>> every Java TYPED event, while all the characters sent via the TYPED 
>> events actually belong to just one browser's InputEvent. I'm wondering 
>> whether all these TYPED events should share the same timestamp (e.g. 
>> acquired before entering the while loop) or not. Could you 
>> investigate/clarify this please?
> 
> Both ways seems to be fine to me because the plug-in doesn't receive any 
> TextInput events during 'in-progress' text composition and receives the 
> TextInput event when the text composition is done. If you think that 
> there should be some kind of consistency in it, I guess that its okay to 
> have these TYPED events with the same timestamp but I don't see any 
> reason why it should matter.

OK then. I just wanted to make sure there's no problem with different 
timestamps for TYPED events generated from a single InputEvent. If this 
is OK, then I'm fine with the fix.

--
best regards,
Anthony



More information about the awt-dev mailing list