RFR: 8273743: KeyCharacterCombination for "+" does not work on US QWERTY keyboard layout [v3]

Martin Fox duke at openjdk.org
Tue Apr 25 18:14:26 UTC 2023


On Tue, 25 Apr 2023 17:20:38 GMT, Andy Goryachev <angorya at openjdk.org> wrote:

>> @andy-goryachev-oracle This bug is Linux-specific and this PR only fixes Linux. It's still worth testing on Mac and Windows just to verify that they're not affected. Those platforms also have problems with KeyCharacterCombinations but I entered separate bugs, see [JDK-8274967](https://bugs.openjdk.org/browse/JDK-8274967) for Windows and [JDK-8087700 ](https://bugs.openjdk.org/browse/JDK-8087700) for Mac. I updated my comment in the Mac bug to better explain the behavior you're seeing.
>> 
>> Since this PR was submitted I have written the KeyboardTest app submitted as part of PR #425 which includes tests for KeyCharacterCombinations and covers a lot of keys in one go. Unfortunately that test relies on robust Robot code and right now only Windows has that (Linux is waiting on #718 and Mac on #425). It's also good to have the final Robot code in place since it's reasonable for an implementation to re-use that code when transitioning to `Toolkit.getKeyCanGenerateCharacter`. 
>> 
>> The core Java code in the PR is mostly plumbing and is still worth reviewing. I needed to transition at least one platform to the new machinery to validate it but in retrospect Linux was probably not the right choice. Eventually I should close out this PR and re-submit the code with the Windows front- and back-ends in place so we can use the semi-automated KeyboardTest app instead.
>> 
>> BTW, when I originally started working on this I wasn't planning on getting KeyCharacterCombinations working with the numeric keypad. That's why the original bug report assumed all testing would be restricted to the main keyboard and the test app in this PR prevents testing on the keypad. But the new Toolkit call makes it (relatively) easy to fix [JDK-8090275](https://bugs.openjdk.org/browse/JDK-8090275) so all that's obsolete. Sorry for the confusion.
>
> @beldenfox thank you for doing this work!  Should we be reviewing/integrating PRs in a specific sequence?

@andy-goryachev-oracle My highest priorities are #425 (Mac) and the Java code in this PR. I'll get it switched over to Windows as soon as possible so we have a complete implementation of the new key event pipeline to review. Third on the list is the Linux Robot code (#718) but the documentation of that API is, um, scattered so I don't expect the review to go all that quickly.

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

PR Comment: https://git.openjdk.org/jfx/pull/694#issuecomment-1522209055


More information about the openjfx-dev mailing list