<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