Thanks for the clarifications, the fix looks good to me.

> I believe that at least in most cases this workaround will be skipped after 
> the fix, however for some keys it might be still actual. I'm not sure here…
Could you please file a new P4 bug to investigate this?

Thank you.
With best regards. Petr.

On May 23, 2014, at 7:54 PM, anton nashatyrev <[email protected]> 
wrote:

> I believe that at least in most cases this workaround will be skipped after 
> the fix, however for some keys it might be still actual. I'm not sure here...
> 
> On 23.05.2014 19:40, Petr Pchelko wrote:
>>>    No, we are using the workaround now: the character is calculated from 
>>> the keyboard scan-code (which is also received in the NSEvent) when the 
>>> NSEvent::characters is empty. Thus we are still getting the right character 
>>> in the querty layout, but having a problem with others (e.g. when the 
>>> Ctrl-e is pressed on the dvorak layout (E corresponds to qwerty 'D') we are 
>>> getting Ctrl+d.)
>> Go we still need this workaround after your fix?
>> 
>> With best regards. Petr.
>> 
>> On May 23, 2014, at 7:35 PM, anton nashatyrev <[email protected]> 
>> wrote:
>> 
>>> Hello Petr,
>>> 
>>>    yes, I've run java/awt/event/KeyEvent tests from both open/closed parts: 
>>> there were a number of fails on a clean build, but no new fails found with 
>>> a fixed version (even one of them became 'passed').
>>>    I couldn't invent any automatic regression tests since the problem is 
>>> reproducible only with non-querty layouts.
>>> 
>>>    No, we are using the workaround now: the character is calculated from 
>>> the keyboard scan-code (which is also received in the NSEvent) when the 
>>> NSEvent::characters is empty. Thus we are still getting the right character 
>>> in the querty layout, but having a problem with others (e.g. when the 
>>> Ctrl-e is pressed on the dvorak layout (E corresponds to qwerty 'D') we are 
>>> getting Ctrl+d.)
>>> 
>>> Thanks!
>>> Anton.
>>> 
>>> On 23.05.2014 19:23, Petr Pchelko wrote:
>>>> Hello, Anton.
>>>> 
>>>> Did you run all the KeyEvent-related regression tests?
>>>> May be we could right a regression test for this one? From your evaluation 
>>>> I have an impression that Ctrl+Key combination is now broken in normal 
>>>> layout too? Is this correct?
>>>> 
>>>> Thank you.
>>>> With best regards. Petr.
>>>> 
>>>> On May 23, 2014, at 7:14 PM, anton nashatyrev 
>>>> <[email protected]> wrote:
>>>> 
>>>>> Hello,
>>>>>    could you please review the following fix:
>>>>> 
>>>>> fix: http://cr.openjdk.java.net/~anashaty/8028617/9/webrev.00/ 
>>>>> <http://cr.openjdk.java.net/%7Eanashaty/8028617/9/webrev.00/>
>>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8028617
>>>>> 
>>>>>    Problem: Dvorak keyboard mapping not honored when Ctrl key pressed
>>>>> 
>>>>>    Evaluation:
>>>>>        The problem is in the AWTView.m:deliverJavaKeyEventHelper(): for 
>>>>> taking a character we use NSEvent::characters which works fine until the 
>>>>> Ctrl modifier is pressed. In this case the 'charaters' returns empty 
>>>>> string. The typed character is then calculated via key code using the 
>>>>> standard keyboard layout. Of course that doesn't work for any other 
>>>>> layout including DVORAK.
>>>>> 
>>>>>    Fix: We should use NSEvent::charactersIgnoringModifiers property 
>>>>> instead (especially taking into account that 
>>>>> sun.lwawt.macosx.event.NSEvent constructor parameter name is 
>>>>> 'charactersIgnoringModifiers')
>>>>> 
>>>>> Thanks!
>>>>> Anton.
> 

Reply via email to