|
@@ -762,13 +762,19 @@ export class InputManager {
|
|
};
|
|
};
|
|
|
|
|
|
// Keyboard events
|
|
// Keyboard events
|
|
- this._onCanvasFocusObserver = engine.onCanvasFocusObservable.add(() => {
|
|
|
|
- if (!canvas) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- canvas.addEventListener("keydown", this._onKeyDown, false);
|
|
|
|
- canvas.addEventListener("keyup", this._onKeyUp, false);
|
|
|
|
- });
|
|
|
|
|
|
+ this._onCanvasFocusObserver = engine.onCanvasFocusObservable.add((() => {
|
|
|
|
+ let fn = () => {
|
|
|
|
+ if (!canvas) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ canvas.addEventListener("keydown", this._onKeyDown, false);
|
|
|
|
+ canvas.addEventListener("keyup", this._onKeyUp, false);
|
|
|
|
+ };
|
|
|
|
+ if (document.activeElement === canvas) {
|
|
|
|
+ fn();
|
|
|
|
+ }
|
|
|
|
+ return fn;
|
|
|
|
+ })());
|
|
|
|
|
|
this._onCanvasBlurObserver = engine.onCanvasBlurObservable.add(() => {
|
|
this._onCanvasBlurObserver = engine.onCanvasBlurObservable.add(() => {
|
|
if (!canvas) {
|
|
if (!canvas) {
|