On Fri, 27 Sep 2024 22:54:59 GMT, Andy Goryachev <ango...@openjdk.org> wrote:
>> The standard across all platforms is: >> >> - A dead key followed by a composable character generates the composed >> character. For example, a circumflex dead key followed by an 'e' should >> generate 'ê'. >> - A dead key followed by a character that can't compose with it generates a >> spacing character followed by the non-composable character. On Windows US >> International a circumflex dead key followed by a 'q' generates '^q'. The >> spacing character corresponding to the dead key varies based on the OS and >> layout. >> - An exception is SPACE. On all platforms a dead key followed by SPACE >> should generate just the spacing version of the dead key but *not* a space >> character. Users rely on this shortcut to quickly access the character >> 'hidden' by the dead key. >> >> 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: >> - Go to Settings > Time & Language > Language & Region. >> - In the entry for English click on the three dots to the far right and >> select 'Language Options'. >> - Scroll down until you see 'Installed keyboards' and select 'Add a >> keyboard'. >> - From the list select "United States - International". >> 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"). > > Using DEAD_ACUTE key the sequence printed by the Keyboard Event Viewer in the > Monkey Tester - > master branch: > > KeyEvent{type=KEY_PRESSED, character=<\u00>, text=', code=DEAD_ACUTE} > KeyEvent{type=KEY_PRESSED, character=<\u00>, text= , code=SPACE} > KeyEvent{type=KEY_TYPED, character=', text=, code=UNDEFINED} > KeyEvent{type=KEY_TYPED, character=<\u20>, text=, code=UNDEFINED} > KeyEvent{type=KEY_RELEASED, character=<\u00>, text= , code=SPACE} > > > > > with this PR: > > KeyEvent{type=KEY_PRESSED, character=<\u00>, text=', code=DEAD_ACUTE} > KeyEvent{type=KEY_PRESSED, character=<\u00>, text= , code=SPACE} > KeyEvent{type=KEY_TYPED, character=', text=, code=UNDEFINED} > KeyEvent{type=KEY_RELEASED, character=<\u00>, text= , code=SPACE} > > > Do we need to create a new ticket for DEAD_ACUTE + c ? > Will it be related to > [JDK-8183521](https://bugs.openjdk.org/browse/JDK-8183521) ? @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. ------------- PR Comment: https://git.openjdk.org/jfx/pull/1584#issuecomment-2380778162