On Mon, 30 Jun 2025 16:58:00 GMT, Martin Fox <m...@openjdk.org> wrote:
> The Mac platform code figures out where characters are on the keyboard as the > user types. The character table is updated on every key press by calling a > registerKeyEvent: in GlassApplication. This character table is used to > resolve KeyCharacterCombination accelerators like Cmd + "+". > > On a US English layout when the user types Cmd + "+" on the main keyboard > they're actually typing Cmd + "=". There's special handling in macOS for this > combination that can cause two NSEvents to be sent and so there's special > handling in the Glass code so we don't process both events. When this special > case is invoked registerKeyEvent: isn't being called to update the character > table. This bug was introduced when code was consolidated in PR #1528. > > The fix is a simple one-liner. I've added a test for this in the > KeyboardTest.java program. It's an isolated test because it requires the > Robot to send events to hold down a modifier while a character key is > pressed. I also updated some obsolete comments and tweaked it to test all > KeyCharacterCombinations since they should now work reliably on all platforms. This pull request has now been integrated. Changeset: 457d9cd9 Author: Martin Fox <m...@openjdk.org> URL: https://git.openjdk.org/jfx/commit/457d9cd997192d870090d88323486d83413bf926 Stats: 319 lines in 2 files changed: 292 ins; 18 del; 9 mod 8360886: Cmd + plus shortcut does not work reliably Reviewed-by: angorya, mstrauss ------------- PR: https://git.openjdk.org/jfx/pull/1837