<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Hello,
<br>
<br>
Could you review a fix for jdk9, please?
<br>
<br>
bug: <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8158262">https://bugs.openjdk.java.net/browse/JDK-8158262</a><br>
webrev: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~dmarkov/8158262/webrev.00/">http://cr.openjdk.java.net/~dmarkov/8158262/webrev.00/</a><br>
<br>
Problem description:
<br>
The new mechanism of dead keys detection and processing was
introduced by <a
href="https://bugs.openjdk.java.net/browse/JDK-8139189"
title="VK_OEM_102 dead key detected as VK_UNDEFINED"
class="issue-link" data-issue-key="JDK-8139189"><strike>JDK-8139189</strike></a>.
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.
<br>
<br>
Fix:
<br>
The function WindowsKeyToJavaChar() has to take into account the
current keyboard layout, (i.e. MapVirtualKey() should be replaced
with MapVirtualKeyEx()). <br>
<br>
Thanks,
<br>
Dmitry
</body>
</html>