Fix menu input: name the VSMX script 'main' so button events resolve
Button events in the RCO are named 'script:/main/mm_on_focus_up' etc., but the interpreter was constructed with name 'menu', so interpretScript built a 'script:/menu/' prefix that never matched and button navigation/selection silently did nothing. Also route key presses through a scene event filter so arrow keys reach the handler before JavaFX focus traversal.
This commit is contained in:
@@ -99,12 +99,15 @@ public final class PlayerApp extends Application {
|
||||
stage.setMinHeight(90);
|
||||
stage.show();
|
||||
|
||||
scene.setOnKeyPressed(event -> {
|
||||
if (event.getCode() == KeyCode.F11) {
|
||||
scene.addEventFilter(javafx.scene.input.KeyEvent.KEY_PRESSED, event -> {
|
||||
KeyCode code = event.getCode();
|
||||
if (code == KeyCode.F11) {
|
||||
stage.setFullScreen(!stage.isFullScreen());
|
||||
event.consume();
|
||||
return;
|
||||
}
|
||||
handleKey(event.getCode());
|
||||
handleKey(code);
|
||||
event.consume();
|
||||
});
|
||||
|
||||
if (isoPath != null) {
|
||||
@@ -179,7 +182,7 @@ public final class PlayerApp extends Application {
|
||||
return;
|
||||
}
|
||||
|
||||
Vsmx vsmx = new Vsmx(rco.vsmxData(), "menu");
|
||||
Vsmx vsmx = new Vsmx(rco.vsmxData(), "main");
|
||||
VsmxInterpreter interpreter = new VsmxInterpreter();
|
||||
interpreter.setVsmx(vsmx);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user