A KeyCharacterCombination should match a key if the target character is printed 
on that key. For example, the user should be able to invoke the `Shortcut+'+' ` 
combination by holding down the Shortcut key and pressing a key that has '+' 
printed on it. This should work even if '+' is a shifted symbol but the user 
doesn't hold down the Shift key. 

The Mac implements KeyCharacterCombinations by monitoring keystrokes to 
discover the relationship between keys and characters. Currently the system 
only records the character the user typed and no other characters on the same 
key. This means a shortcut targeting a shifted character may not work until the 
user types that character using Shift so the system learns the relationship.

This PR keeps the same mechanism in place but always records the shifted and 
unshifted character for each keystroke.

For the Mac the KeyboardTest app was modified to remove tests for characters 
accessed using Option. We don't look for these characters because under the 
hood just about every key has some symbol assigned to the Option modifier that 
the user probably isn't even aware of. For these character we fall back to the 
existing logic; once the user types the character it will start working as a 
shortcut.

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

Commit messages:
 - Make KeyCharacterCombinations work reliably on Mac

Changes: https://git.openjdk.org/jfx/pull/1209/files
 Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1209&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8087700
  Stats: 46 lines in 2 files changed: 35 ins; 1 del; 10 mod
  Patch: https://git.openjdk.org/jfx/pull/1209.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1209/head:pull/1209

PR: https://git.openjdk.org/jfx/pull/1209

Reply via email to