<AWT Dev> [8] Review request for 7156194 [macosx] Can't type non-ASCII characters into applets
Anthony Petrov
anthony.petrov at oracle.com
Fri Apr 6 05:01:14 PDT 2012
Hi Dmitry,
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?
--
best regards,
Anthony
More information about the awt-dev
mailing list