-
Notifications
You must be signed in to change notification settings - Fork 511
8340982: [win] Dead key followed by Space generates two characters instead of one #1584
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
👋 Welcome back mfox! A progress list of the required criteria for merging this PR into |
@beldenfox This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 1 new commit pushed to the
Please see this link for an up-to-date comparison between the source branch of this pull request and the ➡️ To integrate this PR with the above commit message to the |
Thank you for logging the ticket! |
I haven't figured out how to write unit tests for dead keys or IME events. The Windows US English layout doesn't use dead keys. There's no way for me to force the use of a different keyboard layout or verify that the right one is installed before running the test. The best I can do is a manual test like the existing KeyboardTest app in the tests/manual/event folder. |
tested on win11, the behavior matches Notepad.exe with dead keys but using the sequence of ' produces ć instead of ç. where can I get a complete list of dead keys for the US International keyboard, and will it be any different for other keyboards (is there any impact on this PR for different keyboards)? edit: the issue above is present in the master branch, so it is a different issue. |
Could someone with a German keyboard take a look at this as well? /reviewers 2 |
@andy-goryachev-oracle |
Using DEAD_ACUTE key the sequence printed by the Keyboard Event Viewer in the Monkey Tester -
with this PR:
Do we need to create a new ticket for DEAD_ACUTE + c ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, this looks like a good fix.
I could not find an official Microsoft page listing the dead key sequences for this keyboard. I did find a few university sites that contain write-ups (like this one at Washington State). It shows the DEAD_ACUTE + c combination as generating a ç. I also get ç in other Windows apps so it doesn't appear to be a bug. JDK-8183521 is in the same area of the code (good catch!) but whatever is going wrong occurs earlier. I decided to beat my head against that a bit more and will update the bug report with what I find. |
/integrate |
@beldenfox Pushed as commit 5428f26. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
@andy-goryachev-oracle Sorry, I misread your earlier message. You're right, in JavaFX DEAD_ACUTE + c is producing the wrong result with the U.S. International layout. We should see ç. I will enter a bug. |
Thank you! Is the |
Mailing list message from Johan Corveleyn on openjfx-dev: On Sat, Sep 28, 2024 at 3:02?PM Martin Fox <mfox at openjdk.org> wrote: Great! Thanks for the quick fix. Is there any chance this could be backported to JavaFX 8 and 11 (and I realize this is not such an important issue (it's been there for Thanks, |
Mailing list message from Kevin Rushforth on openjfx-dev: Gluon maintains JavaFX 17 and 21, so Johan can answer that. There is no maintainer for the JavaFX 8 or 11 code lines in OpenJDK. -- Kevin On 9/30/2024 7:55 AM, Johan Corveleyn wrote:
|
I have entered JDK-8341256 with some background information. I'm not aware of other layouts that would have this particular problem. Layouts associated with languages that use ç (like French) have a dedicated key for it. On other keyboards you just can't type ç. The way US International works is sort of unusual since most layouts handle their dead key combinations in a uniform way. Still, given the way Glass works there's no doubt other layouts which will throw it off. |
Mailing list message from Johan Corveleyn on openjfx-dev: On Mon, Sep 30, 2024 at 5:23?PM Kevin Rushforth
Ah yes, for 8 we use the Oracle JDK which includes its JavaFX build. Having this fix backported into OpenJFX 17 and 21 would be great though. -- |
Mailing list message from Johan Corveleyn on openjfx-dev: On Tue, Oct 1, 2024 at 10:30?PM Johan Corveleyn <jcorvel at gmail.com> wrote:
Coming back to this: any chance this fix could be backported to -- |
Mailing list message from Johan Corveleyn on openjfx-dev: On Mon, Oct 7, 2024 at 5:01?PM Johan Corveleyn <jcorvel at gmail.com> wrote:
One last try: anyone able to backport this deadkey fix to 17 and 21? -- |
Mailing list message from Johan Vos on openjfx-dev: Hi Johan, Sorry for not replying earlier. This is a situation that I believe could be discussed in jdk-dev -- not for I don't think it's good to have the discussion at 2 places, but to Having said that, I definitely don't want to reject this upfront -- just - Johan [1] https://openjdk.org/jeps/14 Op di 5 nov 2024 om 11:40 schreef Johan Corveleyn <jcorvel at gmail.com>:
-------------- next part -------------- |
Mailing list message from Johan Corveleyn on openjfx-dev: Hi Johan, Thanks for explaining. I've taken a look at that JEP 14 document, and And indeed, this is a P4 bug, not particularly critical. Though the I don't have anything particular to throw into the balance, so I'll -- On Tue, Nov 5, 2024 at 11:59?AM Johan Vos <johan at lodgon.com> wrote:
|
The standard across all platforms is:
The Windows glass code didn't implement the Space exception. This PR fixes that.
On Windows the US US International layout. Shift+6 is the dead key for a circumflex diacritic if you want to test out the combinations mentioned above.
For some reason Windows 11 hides this setting well. To install a US International layout:
To actually use the layout look to the right of the Task Bar and you should see a button for choosing the layout (it will contain the word "ENG").
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jfx.git pull/1584/head:pull/1584
$ git checkout pull/1584
Update a local copy of the PR:
$ git checkout pull/1584
$ git pull https://git.openjdk.org/jfx.git pull/1584/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 1584
View PR using the GUI difftool:
$ git pr show -t 1584
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jfx/pull/1584.diff
Webrev
Link to Webrev Comment