RFR: 8340982: [win] Dead key followed by Space generates two characters instead of one

Andy Goryachev angorya at openjdk.org
Mon Sep 30 14:51:41 UTC 2024


On Fri, 27 Sep 2024 14:29:17 GMT, Martin Fox <mfox at 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").

Thank you!  Is the `DEAD_ACUTE + c` problem limited to the US International keyboard, or it also happens with other (e.g. German, French?) keyboards?

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

PR Comment: https://git.openjdk.org/jfx/pull/1584#issuecomment-2383428392


More information about the openjfx-dev mailing list