RFR: 8087700: [KeyCombination, Mac] KeyCharacterCombinations behave erratically
Andy Goryachev
angorya at openjdk.org
Tue Nov 14 21:06:46 UTC 2023
On Tue, 14 Nov 2023 20:26:00 GMT, Martin Fox <mfox at openjdk.org> wrote:
>> It looks like the scope of this change went beyond the original problem in JBS.
>> Would it be possible to update the JBS ticket with the information in this PR description?
>
> @andy-goryachev-oracle You're right, this PR also deals with the problem of the map retaining stale entries when the user switches layout. I added details about this to the JBS ticket. We could treat it as a separate bug if you want, to me it's just the sort of standard housekeeping one does when caching information.
>
> I also added a note about the KeyboardTest app. This PR scales back that test a bit but this is the first time we've been able to run the KeyCharacterCombinations on the Mac so that portion is basically a new test.
>
> Let me know if you want further information in the JBS ticket.
@beldenfox thank you. I still not entirely sure what issue is being tested and how to fix it, between this PR and JBS.
For example, when I run the application listed in JBS description with your fix, I get one "HI" - is it expected? (I also get 1 "HI" on Windows)
On macOS, new KeyCodeCombination(KeyCode.MINUS, KeyCombination.CONTROL_DOWN) does not equal to new KeyCharacterCombination("-", KeyCombination.CONTROL_DOWN) (same on Windows)
Interestingly, Ctrl+- on macOS with the US keyboard produces
KeyEvent{type=KEY_PRESSED, character=<\u00>, text=, code=CONTROL, control}
KeyEvent{type=KEY_PRESSED, character=<\u00>, text=, code=MINUS, control}
KeyEvent{type=KEY_TYPED, character=<\u1F>, text=, code=UNDEFINED, control}
KeyEvent{type=KEY_RELEASED, character=<\u00>, text=, code=MINUS, control}
KeyEvent{type=KEY_RELEASED, character=<\u00>, text=, code=CONTROL}
but on Windows, we don't get KEY_TYPED event:
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1209#issuecomment-1811296143
More information about the openjfx-dev
mailing list