<AWT Dev> [9] Review request for 8169355: Diacritics input works incorrectly on Windows if Spanish (Latin American) keyboard layout is used

Semyon Sadetsky semyon.sadetsky at oracle.com
Wed Nov 9 11:25:45 UTC 2016


Looks good.

--Semyon


On 09.11.2016 13:36, dmitry markov wrote:
> Hello,
>
> Could you review a fix for jdk9, please?
>
>     bug: https://bugs.openjdk.java.net/browse/JDK-8169355
>     webrev: http://cr.openjdk.java.net/~dmarkov/8169355/webrev.00/
>
> Problem description:
> The new mechanism of dead keys detection and processing was introduced 
> by JDK-8139189 <https://bugs.openjdk.java.net/browse/JDK-8139189>. It 
> uses MapVirtualKey() function to detect dead key combination. Also an 
> output of MapVirtualKey() invocation is used as a value which is send 
> with Java's KEY_PRESSED/KEY_RELEASED events. However if the mechanism, 
> (i.e. WindowsKeyToJavaChar() function inside awtComponent.cpp) is 
> called from the Java layer via JNI right after a keyboard layout has 
> been changed, MapVirtualKey() returns a character value related to the 
> previous keyboard layout.
>
> Fix:
> The function WindowsKeyToJavaChar() has to take into account the 
> current keyboard layout, (i.e. MapVirtualKey() should be replaced with 
> MapVirtualKeyEx()).
>
> Note: the corresponding regression tests, (e.g. 
> java/awt/InputMethods/DiacriticsTest/DiacriticsTest.html) passed on 
> the build with fix.
>
> Thanks,
> Dmitry 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20161109/4f90c12e/attachment.html>


More information about the awt-dev mailing list