diff -r 4a567170426a modules/controls/src/main/java/com/sun/javafx/scene/control/skin/FXVKSkin.java --- a/modules/controls/src/main/java/com/sun/javafx/scene/control/skin/FXVKSkin.java Tue Jan 14 11:11:19 2014 -0800 +++ b/modules/controls/src/main/java/com/sun/javafx/scene/control/skin/FXVKSkin.java Wed Jan 15 18:09:52 2014 +0200 @@ -54,6 +54,7 @@ import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; import javafx.scene.input.MouseEvent; +import javafx.scene.input.MouseButton; import javafx.scene.layout.Region; import javafx.scene.text.Text; import javafx.stage.Popup; @@ -685,11 +686,15 @@ altText.setTextOrigin(VPos.TOP); getChildren().setAll(text, altText, icon); getStyleClass().setAll("key"); - addEventHandler(MouseEvent.ANY, new EventHandler() { + addEventHandler(MouseEvent.MOUSE_PRESSED, new EventHandler() { @Override public void handle(MouseEvent event) { - if (event.getEventType() == MouseEvent.MOUSE_PRESSED) + if (event.getButton() == MouseButton.PRIMARY) press(); - else if (event.getEventType() == MouseEvent.MOUSE_RELEASED) + } + }); + addEventHandler(MouseEvent.MOUSE_RELEASED, new EventHandler() { + @Override public void handle(MouseEvent event) { + if (event.getButton() == MouseButton.PRIMARY) release(); } });