Fix inspector 'i' key registration in KeyboardInput

Problem:
- main.ts registered inspector with window.addEventListener
- keyboardInput.ts used document.onkeydown which replaces event handler
- This caused the inspector key binding to be overridden

Solution:
- Moved inspector 'i' key handling into KeyboardInput class
- Removed duplicate setupInspector() method from main.ts
- Inspector now opens correctly when 'i' is pressed

Changes:
- src/keyboardInput.ts: Added 'i' key case to open Babylon Inspector
- src/main.ts: Removed setupInspector() method (no longer needed)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Michael Mainguy 2025-11-07 13:07:15 -06:00
parent 0988805652
commit 2e1c8ad725
3 changed files with 9 additions and 15 deletions

View File

@ -62,6 +62,15 @@ export class KeyboardInput {
document.onkeydown = (ev) => {
switch (ev.key) {
case 'i':
// Open Babylon Inspector
import("@babylonjs/inspector").then((inspector) => {
inspector.Inspector.Show(this._scene, {
overlay: true,
showExplorer: true,
});
});
break;
case '1':
this._onCameraChangeObservable.notifyObservers(1);
break;

View File

@ -256,7 +256,6 @@ export class Main {
this._audioEngine = await CreateAudioEngineAsync();
this.setupInspector();
window.setTimeout(()=>{
if (!this._started) {
this._started = true;
@ -286,20 +285,6 @@ export class Main {
DefaultScene.MainScene.collisionsEnabled = true;
}
private setupInspector() {
setLoadingMessage("Initializing Inspector...");
window.addEventListener("keydown", (ev) => {
if (ev.key == 'i') {
import ("@babylonjs/inspector").then((inspector) => {
inspector.Inspector.Show(DefaultScene.MainScene, {
overlay: true,
showExplorer: true
});
});
}
});
}
}
// Setup router