RFR: 8241192: [macosx] Wrong letter typed after ´ symbol when using Finnish layout

Prasanta Sadhukhan psadhukhan at openjdk.java.net
Wed Feb 9 04:40:08 UTC 2022


On Fri, 28 Jan 2022 09:38:35 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:

> If we press " ´ " (on U.S. keyboard layout it is the [+] button just before the [delete] button), and then press "s" , 2 "´" characters are entered in a text field instead of "´s" with "Finish" keyboard layout.
> This is because, although " ´ " is construed as "complex" char and inserted properly the next "s" character is treated as non-complex character as it's utf8Length is 1 and utf16Length is 2, so we need to explicitly make it a "complex" char sequence if the code point is 0x73 ie "s" in Finnish layout for it to be inserted properly.

It might seem ad-hoc but the InputMethod event design in mac is such that (which has been there from beginning of macport days) that we need to fix in this way as far I can tell (it has been fixed like this earlier also without any regression).
 The https://github.com/openjdk/jdk/blame/master/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m#L946 statement seems to suggest that as well, in my opinion, to send Input method event if we get such insertText "out of the blue!"

-------------

PR: https://git.openjdk.java.net/jdk/pull/7262



More information about the client-libs-dev mailing list