Integrated: 8150709: Mac OSX and German Keyboard Layout (Y/Z)

Martin Fox duke at openjdk.org
Tue May 9 15:15:41 UTC 2023


On Fri, 12 Mar 2021 16:27:27 GMT, Martin Fox <duke at openjdk.org> wrote:

> This PR adds code to ensure that KeyCodeCombinations match KeyEvents as expected by more accurately mapping from a Mac key code to a Java key code based on the user’s active keyboard layout (the existing code assumes a US QWERTY layout). The new code first identifies a set of Mac keys which can produce different characters based on the user’s keyboard layout. A Mac key code outside that area is processed exactly as before. For a key inside the layout-sensitive area the code calls UCKeyTranslate to translate the key to an unshifted ASCII character based on the active keyboard and uses that to determine the Java key code.
> 
> When performing the reverse mapping for the Robot the code first uses the old QWERTY mapping to find a candidate key. If it lies in the layout-sensitive area the code then scans the entire area calling UCKeyTranslate until it finds a match. If the key lies outside the layout-sensitive area it’s processed exactly as before.
> 
> There are multiple duplicates of these bugs logged against Mac applications built with JavaFX.
> 
> https://bugs.openjdk.java.net/browse/JDK-8090257 Mac: Inconsistent KeyEvents with alternative keyboard layouts
> https://bugs.openjdk.java.net/browse/JDK-8088120 [Accelerator, Mac] CMD + Z accelerator is not working with French keyboard
> https://bugs.openjdk.java.net/browse/JDK-8087915 Mac: accelerator doesn't take into account azerty keyboard layout
> https://bugs.openjdk.java.net/browse/JDK-8150709 Mac OSX and German Keyboard Layout (Y/Z)

This pull request has now been integrated.

Changeset: 9cca5f88
Author:    Martin Fox <martin at nlazyt.com>
Committer: Andy Goryachev <angorya at openjdk.org>
URL:       https://git.openjdk.org/jfx/commit/9cca5f88d8039d808b0ccf403d66518f9d592c46
Stats:     1080 lines in 4 files changed: 1076 ins; 1 del; 3 mod

8150709: Mac OSX and German Keyboard Layout (Y/Z)

Reviewed-by: jpereda, angorya

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

PR: https://git.openjdk.org/jfx/pull/425


More information about the openjfx-dev mailing list