<AWT Dev> [11] RFR 8200353: Shift or Capslock not working in Textfield after accentued keystrokes

Dmitry Markov dmitry.markov at oracle.com
Mon Jun 11 19:38:04 UTC 2018


Could you review a fix for jdk11, please?

 bug: https://bugs.openjdk.java.net/browse/JDK-8200353
 webrev: http://cr.openjdk.java.net/~dmarkov/8200353/webrev.00/

The new mechanism of dead keys detection and processing was introduced by JDK-8139189 [1]. According to that changes dead key input is activated by WM_KEYDOWN and deactivated by WM_CHAR messages. However the function WindowsKeyToJavaChar() (which actually sets the flag deadKeyActive to true) is also called from _NativeHandleEvent() and in this case target component doesn't receive WM_CHAR message, (i.e. dead key input remains active).
At the same time _NativeHandleEvent() sends character back to the native window using WM_AWT_FORWARD_CHAR message. So it is necessary to disable dead key input, (i.e. set deadKeyActive to false) when WM_AWT_FORWARD_CHAR is received.

I ran related AWT/Swing regression tests and did not observe any new failures.

[1] - https://bugs.openjdk.java.net/browse/JDK-8139189
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20180611/4ee921a5/attachment.html>

More information about the awt-dev mailing list