On Wed, 15 Nov 2023 00:54:26 GMT, Martin Fox <m...@openjdk.org> wrote:
>> @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: >> >> >> KeyEvent{type=KEY_PRESSED, character=<\u00>, text=, code=CONTROL, control, >> shortcut} >> KeyEvent{type=KEY_PRESSED, character=<\u00>, text=-, code=MINUS, control, >> shortcut} >> KeyEvent{type=KEY_RELEASED, character=<\u00>, text=-, code=MINUS, control, >> shortcut} >> KeyEvent{type=KEY_RELEASED, character=<\u00>, text=, code=CONTROL} >> >> >> >> is this expected? >> >> And yes, it would help if we can extract any other issues into their own >> tickets (unless they all being fixed by this change). >> >> If I may make one suggestion - for the sake of reviewers - to re-phrase the >> JBS ticket in the format of >> - steps to reproduce >> - expected outcome >> - observed outcome >> >> it would help a lot! >> >> Thanks! > > @andy-goryachev-oracle What keyboard layout do you normally use on Windows? > And Mac? When talking about the behavior of punctuation this is a crucial bit > of information. > >> but on Windows, we don't get KEY_TYPED event: >> is this expected? > > When you hold down Ctrl and press a key the platform may or may not generate > a low-ASCII control code. JavaFX has never tried to make the platforms > consistent here, Glass just passes on whatever the OS generates. In any case > the TextInputControls treat these TYPED events as nuisances, if you look in > TextInputControlBehavior.java and read `defaultKeyTyped` you'll see how it > tries to filter out control codes and anything else that looks like it was > associated with a shortcut. > @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) When you run the application in the JBS description and press Ctrl-'-' on the main keyboard (not the numeric keypad) you should see "HI" printed twice, once for the MINUS KeyCode combination and once for the '-' KeyCharacter combination. I'm not sure why that's not working for you on Windows with a U.S. layout. With that said, on Windows KeyCharacter combinations for punctuation can be uncertain unless you're running a build with PR #1264 which was just integrated. ------------- PR Comment: https://git.openjdk.org/jfx/pull/1209#issuecomment-1812925964