That would imply that 8u40 is broken (where '-' only fired once for Stephen), or it's broken for the + key.
Scott On Fri, Sep 26, 2014 at 1:29 PM, Kevin Rushforth <kevin.rushfo...@oracle.com > wrote: > > "This means that the method can return true only for KEY_PRESSED > andKEY_RELEASED events, but not for KEY_TYPED events, which don't have > valid key codes." > > > Ah, I missed that. I would expect such a disclaimer for KeyCodeCombination > but not for KeyTypedCombination. In any case, it still seems correct that > two events are produced for the particular test case in question. > > -- Kevin > > > > Tomas Mikula wrote: > > Hi Kevin, > > > On Fri, Sep 26, 2014 at 7:16 PM, Kevin Rushforth<kevin.rushfo...@oracle.com> > <kevin.rushfo...@oracle.com> wrote: > > > It seems to me that this is working as designed. You have created two > different KeyCombinations and asked that both fire your runnable. Further, > both of the KeyCombinations match your key input since both a KeyPressed and > a KeyTyped event are sent when pressing a key that has an associated > character. I'm not sure how we could change it in a way that wouldn't be > surprising or difficult to specify or document. > > > The Javadoc for KeyCharacterCombination#match also says > > "This means that the method can return true only for KEY_PRESSED > andKEY_RELEASED events, but not for KEY_TYPED events, which don't have > valid key codes." > > Thus it is probably not related to KEY_TYPED events. > > Tomas > > > > -- Kevin > > > > Scott Palmer 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 > > > >