On Fri, 27 Sep 2024 14:29:17 GMT, Martin Fox <[email protected]> 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
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1584#issuecomment-2380250493