What is very interesting about this is that I can't duplicate it with the "+" character. I've added all of the following to the scene accelerators and it still only fires my "plus" action once for each press.
KeyCombination cmdPlus = new KeyCodeCombination(KeyCode.PLUS, KeyCombination.CONTROL_DOWN); KeyCombination cmdAdd = new KeyCodeCombination(KeyCode.ADD, KeyCombination.CONTROL_DOWN); KeyCombination cmdPlusAsShiftEquals = new KeyCodeCombination(KeyCode.EQUALS, KeyCombination.CONTROL_DOWN, KeyCodeCombination.SHIFT_DOWN); KeyCombination cmdPlusFromCharacter = new KeyCharacterCombination("+", KeyCombination.CONTROL_DOWN); This is weird. On Fri, Sep 26, 2014 at 1:01 PM, Scott Palmer <swpal...@gmail.com> wrote: > KeyCombination cmdMinus = new Key*Code*Combination(KeyCode.MINUS, > KeyCombination.CONTROL_DOWN); > KeyCombination cmdMinusFromCharacter = new Key*Character*Combination("-", > KeyCombination.CONTROL_DOWN); > > Using the above like this: > scene.getAccelerators().put(cmdMinus, runnable); > scene.getAccelerators().put(cmdMinusFromCharacter, runnable); > > Will result in the runnable being fired twice from the same keypress. > > I propose changing the accelerator processing logic so that only one > runnable gets called as the intention appears to be that a KeyCombination > can only have one runnable associated with it, but the logic in Map doesn't > see the above two KeyCombinations as the same key in the Map. > > Note: With the second combination above I really wanted something that > worked for both MINUS and SUBTRACT simultaneously - since they both type > the same Character and only one accelerator can be set on a MenuItem. > > Scott > >