laya-coreui-es
Version:
laya核心库、ui库es版本,剔除了媒体、TTF等功能。基于 LayaAir-release_2.12.0 修改
42 lines (41 loc) • 1.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.KeyBoardManager = void 0;
const Event_1 = require("./Event");
const ILaya_1 = require("../../ILaya");
class KeyBoardManager {
static __init__() {
KeyBoardManager._addEvent("keydown");
KeyBoardManager._addEvent("keypress");
KeyBoardManager._addEvent("keyup");
}
static _addEvent(type) {
ILaya_1.ILaya.Browser.document.addEventListener(type, function (e) {
KeyBoardManager._dispatch(e, type);
}, true);
}
static _dispatch(e, type) {
if (!KeyBoardManager.enabled)
return;
KeyBoardManager._event._stoped = false;
KeyBoardManager._event.nativeEvent = e;
KeyBoardManager._event.keyCode = e.keyCode || e.which || e.charCode;
if (type === "keydown")
KeyBoardManager._pressKeys[KeyBoardManager._event.keyCode] = true;
else if (type === "keyup")
KeyBoardManager._pressKeys[KeyBoardManager._event.keyCode] = null;
var target = (ILaya_1.ILaya.stage.focus && (ILaya_1.ILaya.stage.focus.event != null) && ILaya_1.ILaya.stage.focus.displayedInStage) ? ILaya_1.ILaya.stage.focus : ILaya_1.ILaya.stage;
var ct = target;
while (ct) {
ct.event(type, KeyBoardManager._event.setTo(type, ct, target));
ct = ct.parent;
}
}
static hasKeyDown(key) {
return KeyBoardManager._pressKeys[key];
}
}
exports.KeyBoardManager = KeyBoardManager;
KeyBoardManager._pressKeys = {};
KeyBoardManager.enabled = true;
KeyBoardManager._event = new Event_1.Event();