On Windows a common shortcut like Ctrl+'+' could only be invoked from the main 
keyboard and not the numeric keypad. Toolkit.getKeyCodeForChar did not have 
enough context to know whether it should return a result from the main keyboard 
or the keypad.

This PR alters getKeyCodeForChar to pass in the code of the key the system is 
trying to match against. Only the Windows platform actually uses this 
additional information.

On the Mac the numeric keypad has always worked due to the odd way 
getKeyCodeForChar is implemented (until PR #1209 the keypad worked more 
reliably than the main keyboard). On Linux getKeyCodeForChar is a mess; neither 
the main keyboard or the numeric keypad work reliably. I have an upcoming PR 
which should make both work correctly.

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

Commit messages:
 - Added SEPARATOR to list of keypad keys
 - CharacterCombinations now work on the numeric keypad
 - Fixed Monocle
 - Merge remote-tracking branch 'upstream/master' into keypadcombo
 - Added hint to getKeyCodeForChar to enable numeric keypad

Changes: https://git.openjdk.org/jfx/pull/1289/files
 Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1289&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8089373
  Stats: 77 lines in 19 files changed: 46 ins; 0 del; 31 mod
  Patch: https://git.openjdk.org/jfx/pull/1289.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1289/head:pull/1289

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

Reply via email to