On Mon, 10 Apr 2023 20:04:45 GMT, Martin Fox <d...@openjdk.org> wrote:

>> modules/javafx.graphics/src/main/native-glass/mac/GlassKey.m line 195:
>> 
>>> 193:     }
>>> 194: 
>>> 195:     if (keyCode >= 0x00 && keyCode <= 0x32)
>> 
>> Add a comment? like `// Null to [Space]`
>
> This are Mac virtual key code constants, not characters, so this covers the 
> keyboard from 'A' to 'grave'. I added a comment clarifying this as well as 
> the 0x5D to 0x5F range (which are JIS keys). I could change the numbers from 
> hex to the symbolic constants defined in Events.h but keeping them in hex 
> makes it easier to compare to the table.

Ok, good that you clarify this.

>> modules/javafx.graphics/src/main/native-glass/mac/GlassKey.m line 195:
>> 
>>> 193:     }
>>> 194: 
>>> 195:     if (keyCode >= 0x00 && keyCode <= 0x32)
>> 
>> out of curiosity, why not?
>> ` if ((keyCode >= 0x00 && keyCode <= 0x32) || (keyCode >= 0x5D && keyCode <= 
>> 0x5F))`
>
> No real reason, it was probably just easier to write it like this when I was 
> originally going through the table and sorting out the ranges. I do prefer 
> separating out conditionals when I can since it makes it easier to set debug 
> breakpoints (not that that matters here).

okay, no problem

>> tests/manual/events/KeyboardTest.java line 458:
>> 
>>> 456:         GERMAN("German", KeyListBuilder.germanKeys()),
>>> 457:         LATIN("Latin", KeyListBuilder.latinKeys()),
>>> 458:         NON_LATIN("non-Latin", KeyListBuilder.nonLatinKeys());
>> 
>> How hard would be adding another languages to this test, like Spanish? I see 
>> that you already commented that the robot can't access dead keys (so no 
>> possible test for `ñ` for instance...)?
>
> I added Spanish and found a bug in this PR, I wasn't handling the inverted 
> exclamation mark. I've added it and Euro to match the Windows code.
> 
> I can't test the `ñ` key on the Spanish layout since there's no corresponding 
> KeyCode. This applies to most (all?) characters that include a diacritic.
> 
> Most dead keys do have KeyCodes so in theory a Robot could generate key press 
> events for them. This might even work on Windows and Linux though I haven't 
> tested it. I've prototyped the Mac code but I think that would be a separate 
> PR.

Thanks for adding Spanish, I've tested it successfully.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/425#discussion_r1164303135
PR Review Comment: https://git.openjdk.org/jfx/pull/425#discussion_r1164304142
PR Review Comment: https://git.openjdk.org/jfx/pull/425#discussion_r1164309229

Reply via email to