Review request for 7142565 - [macosx] Many special keys processed twice in text fields

Anton V. Tarasov anton.tarasov at oracle.com
Wed Feb 8 08:12:47 PST 2012


On 2/8/12 1:41 PM, Leonid Romanov wrote:
> Could you please verify that your fix works with key events synthesized by Robot? It is quite possible that for Robot the same NSEvent instance would be reused.
That's quite good question. I checked it with a small test, all is Ok. 
Looked at the Robot code - it creates a new key event every time 
(CGEventCreateKeyboardEvent).

Thanks,
Anton.

>
>
> On 08.02.2012, at 13:49, Anton V. Tarasov wrote:
>
>> Hello,
>>
>> Please review a fix for 7142565.
>>
>> webrev: http://cr.openjdk.java.net/~ant/7142565/webrev.0/
>>
>> Key-equivalent events (typically with modifiers, but not only) are delivered to NSWindow with
>> performKeyEquivalent: The latter always returns NO (to let NSWindow process system key events like
>> Cmd+Q). According to the spec "if a key-equivalent is not recognized, NSWindow sends it as an
>> NSKeyDown event to the first responder". (However, it doesn't send NSKeyDown for Control-key
>> events.)
>>
>> Instead of inspecting a key-equivalent event to determine if it should be propagated further or not,
>> another simple workaround is suggested. It's to store a pointer to the latest processed key event in
>> AWTView and compare the current event to the previous one. In case the event objects are the same,
>> ignore the second (current) one.
>>
>> Thanks,
>> Anton.
>>
>>



More information about the macosx-port-dev mailing list